{"record":{"id":"ecb23aa30ebecaec","repo":"temporalio/temporal","slug":"url-query-not-percent-encoded-s","errorCode":null,"errorMessage":"url query not percent-encoded: %s","messagePattern":"url query not percent-encoded: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"common/nexus/nexusrpc/api.go","lineNumber":237,"sourceCode":"\t}\n\tif !typeKeyFound {\n\t\treturn link, fmt.Errorf(\n\t\t\t\"failed to parse link header: %q key not found: %s\",\n\t\t\tlinkTypeKey,\n\t\t\tencodedLink,\n\t\t)\n\t}\n\n\treturn link, nil\n}\n\nfunc validateLinkURL(value *url.URL) error {\n\tif value == nil || value.String() == \"\" {\n\t\treturn errors.New(\"url is empty\")\n\t}\n\t_, err := url.ParseQuery(value.RawQuery)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"url query not percent-encoded: %s\", value)\n\t}\n\treturn nil\n}\n\nfunc validateLinkType(value string) error {\n\tif len(value) == 0 {\n\t\treturn errors.New(\"link type is empty\")\n\t}\n\tfor _, c := range value {\n\t\tif (c < 'a' || c > 'z') && (c < 'A' || c > 'Z') && (c < '0' || c > '9') && c != '_' && c != '.' && c != '/' {\n\t\t\treturn errors.New(\"link type contains invalid char (valid chars: alphanumeric, '_', '.', '/')\")\n\t\t}\n\t}\n\treturn nil\n}\n\nvar durationRegexp = regexp.MustCompile(`^(\\d+(?:\\.\\d+)?)(ms|s|m)$`)\n","sourceCodeStart":219,"sourceCodeEnd":255,"githubUrl":"https://github.com/temporalio/temporal/blob/bde624efd13fbd3843654058db6d9c716166318b/common/nexus/nexusrpc/api.go#L219-L255","documentation":"Error \"url query not percent-encoded: %s\" thrown in temporalio/temporal.","triggerScenarios":"Thrown at common/nexus/nexusrpc/api.go:237 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bde624efd13fbd3843654058db6d9c716166318b","analyzedAt":"2026-09-01T07:18:39.080Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}