From 214a7678eab94a6acf88fd1682f8fe6733ba555d 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 (