From 02082db8f482f97cce178a947d26b62a5a69ff2c Mon Sep 17 00:00:00 2001 From: Virgil Date: Thu, 2 Apr 2026 01:40:05 +0000 Subject: [PATCH] fix(openapi): document graphql cache headers Co-Authored-By: Virgil --- openapi.go | 2 +- openapi_test.go | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) 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)