From 4a50bfd96d104853cf322a47f5ac54807f979cb7 Mon Sep 17 00:00:00 2001 From: Erno Date: Sat, 18 Oct 2025 21:35:34 +0000 Subject: [PATCH] fix: Generate OpenAPI spec inline instead of file reference - Use SpecContent with marshaled JSON instead of SpecURL - Prevents 'open /openapi.json: no such file or directory' error - Documentation now loads properly on all domains --- pkg/handlers/docs.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/handlers/docs.go b/pkg/handlers/docs.go index 6671e90..458b3ba 100644 --- a/pkg/handlers/docs.go +++ b/pkg/handlers/docs.go @@ -37,8 +37,16 @@ func (h *DocsHandler) GetOpenAPISpec(w http.ResponseWriter, r *http.Request) { } func (h *DocsHandler) ServeDocs(w http.ResponseWriter, r *http.Request) { + spec := getOpenAPISpecWithURL("/") + specJSON, err := json.Marshal(spec) + if err != nil { + fmt.Printf("Error marshaling OpenAPI spec: %v", err) + http.Error(w, fmt.Sprintf("Error marshaling spec: %v", err), http.StatusInternalServerError) + return + } + htmlContent, err := scalar.ApiReferenceHTML(&scalar.Options{ - SpecURL: "/openapi.json", + SpecContent: string(specJSON), CustomOptions: scalar.CustomOptions{ PageTitle: "Neo Movies API Documentation", },