diff --git a/openapi.go b/openapi.go index 816c55e..fe7210f 100644 --- a/openapi.go +++ b/openapi.go @@ -681,7 +681,7 @@ func graphqlRequestSchema() map[string]any { } func graphqlResponses() map[string]any { - successHeaders := mergeHeaders(standardResponseHeaders(), rateLimitSuccessHeaders()) + successHeaders := mergeHeaders(standardResponseHeaders(), rateLimitSuccessHeaders(), cacheSuccessHeaders()) errorHeaders := mergeHeaders(standardResponseHeaders(), rateLimitSuccessHeaders()) return map[string]any{ diff --git a/openapi_test.go b/openapi_test.go index 3fc70fd..1344279 100644 --- a/openapi_test.go +++ b/openapi_test.go @@ -247,6 +247,12 @@ func TestSpecBuilder_Good_GraphQLEndpoint(t *testing.T) { t.Fatalf("expected GraphQL operationId to be post_graphql, got %v", postOp["operationId"]) } + responses := postOp["responses"].(map[string]any) + successHeaders := responses["200"].(map[string]any)["headers"].(map[string]any) + if _, ok := successHeaders["X-Cache"]; !ok { + t.Fatal("expected X-Cache header on GraphQL 200 response") + } + requestBody := postOp["requestBody"].(map[string]any) schema := requestBody["content"].(map[string]any)["application/json"].(map[string]any)["schema"].(map[string]any) properties := schema["properties"].(map[string]any)