in pkg/dataplane/internal/challenge/parse.go [19:42]
func (s *Listener) EnterChallenge(ctx *ChallengeContext) {
challenge := Challenge{
Scheme: ctx.Auth_scheme().GetText(),
Parameters: map[string]string{},
}
for _, list := range ctx.AllAuth_params() {
for _, param := range list.AllAuth_param() {
rhs := param.Auth_rhs().GetText()
if param.Auth_rhs().Quoted_string() != nil {
value, err := strconv.Unquote(param.Auth_rhs().Quoted_string().GetText())
if err != nil {
s.errors = append(s.errors, fmt.Errorf("failed to unquote %s: %w", param.Auth_rhs().Quoted_string().GetText(), err))
return
}
rhs = value
}
challenge.Parameters[param.Auth_lhs().GetText()] = rhs
}
for _, value := range ctx.AllToken68() {
challenge.Values = append(challenge.Values, value.GetText())
}
}
s.challenges = append(s.challenges, challenge)
}