grpc-ecosystem/grpc-gateway · error
the provided default value %q does not match provider type %
Error message
the provided default value %q does not match provider type %q, or is not properly quoted with escaped quotations
What it means
Validation error from validateDefaultValueTypeAndFormat for string-typed header parameters: the default value is not a properly quoted JSON string (isQuotedString failed) — it may be unquoted, single-quoted, or contain unescaped quotes. The offending inputs are the default value and its declared type from the openapiv2 options.
Source
Thrown at protoc-gen-openapiv2/internal/genopenapi/template.go:2758
"int16",
"int32",
"int64",
"":
return nil
default:
return fmt.Errorf("the provided format %q is not a valid extension of the type %q", format, headerType)
}
case "boolean":
return nil
}
return fmt.Errorf("the provided header type %q is not supported", headerType)
}
func validateDefaultValueTypeAndFormat(headerType string, defaultValue string, format string) error {
switch headerType {
case "string":
if !isQuotedString(defaultValue) {
return fmt.Errorf("the provided default value %q does not match provider type %q, or is not properly quoted with escaped quotations", defaultValue, headerType)
}
switch format {
case "date-time":
unquoteTime := strings.Trim(defaultValue, `"`)
if _, err := time.Parse(time.RFC3339, unquoteTime); err != nil {
return fmt.Errorf("the provided default value %q is not a valid RFC3339 date-time string", defaultValue)
}
case "date":
const layoutRFC3339Date = "2006-01-02"
unquoteDate := strings.Trim(defaultValue, `"`)
if _, err := time.Parse(layoutRFC3339Date, unquoteDate); err != nil {
return fmt.Errorf("the provided default value %q is not a valid RFC3339 date-time string", defaultValue)
}
}
case "number":
if err := isJSONNumber(defaultValue, headerType); err != nil {
return err
}View on GitHub (pinned to a58a4436a3)
Solutions
- Wrap the default value in escaped double quotes, e.g. "\"value\"".
- Escape any inner double quotes in the value.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at protoc-gen-openapiv2/internal/genopenapi/template.go:2758 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of grpc-ecosystem/grpc-gateway@a58a4436a3 (2026-09-02).
Data as JSON: /api/errors/51bef5e98e432137.
Report an issue: GitHub.