temporalio/temporal · error
failed to parse link header: invalid format: %s
Error message
failed to parse link header: invalid format: %s
What it means
Error "failed to parse link header: invalid format: %s" thrown in temporalio/temporal.
Source
Thrown at common/nexus/nexusrpc/api.go:162
return "", fmt.Errorf("failed to encode link: %w", err)
}
if err := validateLinkType(link.Type); err != nil {
return "", fmt.Errorf("failed to encode link: %w", err)
}
return fmt.Sprintf(`<%s>; %s="%s"`, link.URL.String(), linkTypeKey, link.Type), nil
}
// decodeLink decodes the Nexus-Link header values.
// It must have the same format of HTTP Link header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link
func decodeLink(encodedLink string) (nexus.Link, error) {
var link nexus.Link
encodedLink = strings.TrimSpace(encodedLink)
if len(encodedLink) == 0 {
return link, errors.New("failed to parse link header: value is empty")
}
if encodedLink[0] != '<' {
return link, fmt.Errorf("failed to parse link header: invalid format: %s", encodedLink)
}
urlEnd := strings.Index(encodedLink, ">")
if urlEnd == -1 {
return link, fmt.Errorf("failed to parse link header: invalid format: %s", encodedLink)
}
urlStr := strings.TrimSpace(encodedLink[1:urlEnd])
if len(urlStr) == 0 {
return link, errors.New("failed to parse link header: url is empty")
}
u, err := url.Parse(urlStr)
if err != nil {
return link, fmt.Errorf("failed to parse link header: invalid url: %s", urlStr)
}
if err := validateLinkURL(u); err != nil {
return link, fmt.Errorf("failed to parse link header: %w", err)
}
link.URL = u
View on GitHub (pinned to bde624efd1)
When it happens
Trigger: Thrown at common/nexus/nexusrpc/api.go:162 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/ae59e00331656985.
Report an issue: GitHub.