Disabled chunked transfer encoding for 204 responses.
This commit is contained in:
@@ -967,7 +967,8 @@ nxt_h1p_request_header_send(nxt_task_t *task, nxt_http_request_t *r)
|
|||||||
http11 = (h1p->parser.version.s.minor != '0');
|
http11 = (h1p->parser.version.s.minor != '0');
|
||||||
|
|
||||||
if (r->resp.content_length == NULL || r->resp.content_length->skip) {
|
if (r->resp.content_length == NULL || r->resp.content_length->skip) {
|
||||||
if (http11) {
|
|
||||||
|
if (http11 && n != NXT_HTTP_NO_CONTENT) {
|
||||||
h1p->chunked = 1;
|
h1p->chunked = 1;
|
||||||
size += nxt_length(chunked);
|
size += nxt_length(chunked);
|
||||||
/* Trailing CRLF will be added by the first chunk header. */
|
/* Trailing CRLF will be added by the first chunk header. */
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ typedef enum {
|
|||||||
NXT_HTTP_INVALID = 0,
|
NXT_HTTP_INVALID = 0,
|
||||||
|
|
||||||
NXT_HTTP_OK = 200,
|
NXT_HTTP_OK = 200,
|
||||||
|
NXT_HTTP_NO_CONTENT = 204,
|
||||||
|
|
||||||
NXT_HTTP_MULTIPLE_CHOICES = 300,
|
NXT_HTTP_MULTIPLE_CHOICES = 300,
|
||||||
NXT_HTTP_MOVED_PERMANENTLY = 301,
|
NXT_HTTP_MOVED_PERMANENTLY = 301,
|
||||||
|
|||||||
@@ -60,7 +60,6 @@ class TestUnitPythonApplication(unit.TestUnitApplicationPython):
|
|||||||
self.assertEqual(self.get()['headers']['Server-Port'], '7080',
|
self.assertEqual(self.get()['headers']['Server-Port'], '7080',
|
||||||
'Server-Port header')
|
'Server-Port header')
|
||||||
|
|
||||||
@unittest.expectedFailure
|
|
||||||
def test_python_application_204_transfer_encoding(self):
|
def test_python_application_204_transfer_encoding(self):
|
||||||
self.load('204_no_content')
|
self.load('204_no_content')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user