fix(api): correct Content-Type header for /api/chat and /api/generate when using cloud models (#13279)

---------

Co-authored-by: Pogosyan Sos <sos_pogosyan@MacBook-Pro-Sos.local>
Co-authored-by: Patrick Devine <patrick@infrahq.com>
This commit is contained in:
Sos Pogosyan 2025-12-05 08:33:07 +03:00 committed by GitHub
parent 9191dfaf05
commit 31b8c6a214
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 12 deletions

View File

@ -262,6 +262,12 @@ func (s *Server) GenerateHandler(c *gin.Context) {
slog.Warn("embedded messages in the model not supported with '/api/generate'; try '/api/chat' instead") slog.Warn("embedded messages in the model not supported with '/api/generate'; try '/api/chat' instead")
} }
contentType := "application/x-ndjson"
if req.Stream != nil && !*req.Stream {
contentType = "application/json; charset=utf-8"
}
c.Header("Content-Type", contentType)
fn := func(resp api.GenerateResponse) error { fn := func(resp api.GenerateResponse) error {
resp.Model = origModel resp.Model = origModel
resp.RemoteModel = m.Config.RemoteModel resp.RemoteModel = m.Config.RemoteModel
@ -303,12 +309,6 @@ func (s *Server) GenerateHandler(c *gin.Context) {
return return
} }
contentType := "application/json; charset=utf-8"
if req.Stream != nil && *req.Stream {
contentType = "application/x-ndjson"
}
c.Header("Content-Type", contentType)
return return
} }
@ -1939,6 +1939,12 @@ func (s *Server) ChatHandler(c *gin.Context) {
} }
} }
contentType := "application/x-ndjson"
if req.Stream != nil && !*req.Stream {
contentType = "application/json; charset=utf-8"
}
c.Header("Content-Type", contentType)
fn := func(resp api.ChatResponse) error { fn := func(resp api.ChatResponse) error {
resp.Model = origModel resp.Model = origModel
resp.RemoteModel = m.Config.RemoteModel resp.RemoteModel = m.Config.RemoteModel
@ -1980,12 +1986,6 @@ func (s *Server) ChatHandler(c *gin.Context) {
return return
} }
contentType := "application/json; charset=utf-8"
if req.Stream != nil && *req.Stream {
contentType = "application/x-ndjson"
}
c.Header("Content-Type", contentType)
return return
} }