temporalio/temporal · error
failed to parse link header: %q key not found: %s
Error message
failed to parse link header: %q key not found: %s
What it means
Error "failed to parse link header: %q key not found: %s" thrown in temporalio/temporal.
Source
Thrown at common/nexus/nexusrpc/api.go:221
if strings.HasPrefix(val, `"`) != strings.HasSuffix(val, `"`) {
return link, fmt.Errorf(
"failed to parse link header: parameter value missing double-quote: %s",
param,
)
}
if strings.HasPrefix(val, `"`) {
val = val[1 : len(val)-1]
}
if key == linkTypeKey {
if err := validateLinkType(val); err != nil {
return link, fmt.Errorf("failed to parse link header: %w", err)
}
link.Type = val
typeKeyFound = true
}
}
if !typeKeyFound {
return link, fmt.Errorf(
"failed to parse link header: %q key not found: %s",
linkTypeKey,
encodedLink,
)
}
return link, nil
}
func validateLinkURL(value *url.URL) error {
if value == nil || value.String() == "" {
return errors.New("url is empty")
}
_, err := url.ParseQuery(value.RawQuery)
if err != nil {
return fmt.Errorf("url query not percent-encoded: %s", value)
}
return nilView on GitHub (pinned to bde624efd1)
When it happens
Trigger: Thrown at common/nexus/nexusrpc/api.go:221 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Parsing and encoding errors: unexpected token, malformed input — why parsers reject input and how to find the real culprit.
AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01).
Data as JSON: /api/errors/c043799bde38aa9f.
Report an issue: GitHub.