From 5e0d7e9332745ecfae22b767130c1a0c87dd62c0 Mon Sep 17 00:00:00 2001 From: Michael Yang Date: Thu, 24 Apr 2025 13:09:39 -0700 Subject: [PATCH] fix superfluous call to WriteHeader the first call to http.ResponseWriter.Write implicitly calls WriteHeader with http.StatusOK if it hasn't already been called. once WriteHeader has been called, subsequent calls has no effect. Write is called when JSON encoding progressUpdateJSON{}. calls to http.ResponseWriter.WriteHeader after the first encode is useless and produces a warning: http: superfluous response.WriteHeader call from github.com/ollama/ollama/server/internal/registry.(*statusCodeRecorder).WriteHeader (server.go:77) --- server/internal/registry/server.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/internal/registry/server.go b/server/internal/registry/server.go index af26fe1d5..f62a622a9 100644 --- a/server/internal/registry/server.go +++ b/server/internal/registry/server.go @@ -73,8 +73,13 @@ type statusCodeRecorder struct { func (r *statusCodeRecorder) WriteHeader(status int) { if r._status == 0 { r._status = status + r.ResponseWriter.WriteHeader(status) } - r.ResponseWriter.WriteHeader(status) +} + +func (r *statusCodeRecorder) Write(b []byte) (int, error) { + r._status = r.status() + return r.ResponseWriter.Write(b) } var (