shrpx: Ignore response body if HTTP status code is 1xx, 204 or 304

This commit is contained in:
Tatsuhiro Tsujikawa 2012-09-09 17:45:06 +09:00
parent 3d694c89c5
commit 5634c7ffdc
1 changed files with 9 additions and 8 deletions

View File

@ -536,14 +536,15 @@ int htp_hdrs_completecb(http_parser *htp)
!= 0) { != 0) {
return -1; return -1;
} }
unsigned int status = downstream->get_response_http_status();
if(downstream->get_request_method() == "HEAD") { // Ignore the response body. HEAD response may contain
// Ignore the response body. HEAD response may contain // Content-Length or Transfer-Encoding: chunked. Some server send
// Content-Length or Transfer-Encoding: chunked. // 304 status code with nonzero Content-Length, but without response
return 1; // body. See
} else { // http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-20#section-3.3
return 0; return downstream->get_request_method() == "HEAD" ||
} (100 <= status && status <= 199) || status == 204 ||
status == 304 ? 1 : 0;
} }
} // namespace } // namespace