]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
server: add "X-Accel-Buffering": "no" header to streaming endpoints (#24774)
authorReguna <redacted>
Thu, 18 Jun 2026 20:01:24 +0000 (04:01 +0800)
committerGitHub <redacted>
Thu, 18 Jun 2026 20:01:24 +0000 (22:01 +0200)
* server: add "X-Accel-Buffering": "no" header to streaming endpoints

This header tells Nginx (as a reverse proxy) to NOT buffer responses. (only affects streaming endpoints)
Without it, Nginx will break streaming with certain applications (notably the Pi coding harness).

tools/server/server-http.cpp

index 5defee1f5e03f1e7ee73c28c178d7017991d6e2e..4f2abab00cee21a18cbe26ce5dbaa6b27b8efe27 100644 (file)
@@ -492,6 +492,8 @@ using server_http_req_ptr = std::unique_ptr<server_http_req>;
 static void process_handler_response(server_http_req_ptr && request, server_http_res_ptr & response, httplib::Response & res) {
     if (response->is_stream()) {
         res.status = response->status;
+        // Tell Nginx to not buffer any streamed response
+        response->headers["X-Accel-Buffering"] = "no";
         set_headers(res, response->headers);
         const std::string content_type = response->content_type;
         // convert to shared_ptr as both chunked_content_provider() and on_complete() need to use it