MCPcopy Create free account
hub / github.com/github/gh-aw / parseQueryString

Function parseQueryString

pkg/workflow/model_identifier.go:305–324  ·  view source on GitHub ↗

─── Parameter parsing ──────────────────────────────────────────────────────── parseQueryString parses a query string of the form "key=value&key=value…". Returns an error if any key or value violates the grammar (syntax only). Known-parameter value validation is performed separately by ValidateKnown

(raw string)

Source from the content-addressed store, hash-verified

303// Returns an error if any key or value violates the grammar (syntax only).
304// Known-parameter value validation is performed separately by ValidateKnownParams.
305func parseQueryString(raw string) (map[string]string, error) {
306 params := map[string]string{}
307 for pair := range strings.SplitSeq(raw, "&") {
308 if pair == "" {
309 return nil, fmt.Errorf("model identifier: empty parameter pair in query string %q", raw)
310 }
311 k, v, found := strings.Cut(pair, "=")
312 if !found {
313 return nil, fmt.Errorf("model identifier: parameter %q is missing '=' separator", pair)
314 }
315 if err := validateParamKey(k); err != nil {
316 return nil, err
317 }
318 if err := validateParamValue(v); err != nil {
319 return nil, err
320 }
321 params[k] = v
322 }
323 return params, nil
324}
325
326// validateParamKey validates a parameter key per the ABNF grammar.
327func validateParamKey(key string) error {

Callers 1

ParseModelIdentifierFunction · 0.85

Calls 3

validateParamKeyFunction · 0.85
validateParamValueFunction · 0.85
ErrorfMethod · 0.45

Tested by

no test coverage detected