From 0fbdf3ee97501be0ebd2b084ebbb11f8471a23bc Mon Sep 17 00:00:00 2001 From: Jeff Kaufman Date: Thu, 14 May 2015 15:26:10 -0400 Subject: [PATCH] Handle DoneAndSetHeaders() new second argument that wants to know whether the response is complete. --- src/ngx_pagespeed.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ngx_pagespeed.cc b/src/ngx_pagespeed.cc index 3011e2b67..7e917f3ae 100644 --- a/src/ngx_pagespeed.cc +++ b/src/ngx_pagespeed.cc @@ -1602,8 +1602,8 @@ void ps_release_request_context(void* data) { } if (ctx->recorder != NULL) { - ctx->recorder->Fail(); - ctx->recorder->DoneAndSetHeaders(NULL); // Deletes recorder. + // Deletes recorder. + ctx->recorder->DoneAndSetHeaders(NULL, false /* incomplete response */); ctx->recorder = NULL; } @@ -2400,7 +2400,9 @@ ngx_int_t ps_in_place_body_filter(ngx_http_request_t* r, ngx_chain_t* in) { if (cl->buf->last_buf || recorder->failed()) { ResponseHeaders response_headers; copy_response_headers_from_ngx(r, &response_headers); - ctx->recorder->DoneAndSetHeaders(&response_headers); + ctx->recorder->DoneAndSetHeaders( + &response_headers, + cl->buf->last_buf /* response is complete if last_buf is set */); ctx->recorder = NULL; break; }