func()

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)
}