summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/nxt_h1proto.c3
-rw-r--r--src/nxt_http.h1
-rw-r--r--test/test_python_application.py1
3 files changed, 3 insertions, 2 deletions
diff --git a/src/nxt_h1proto.c b/src/nxt_h1proto.c
index 3e5044b7..70d6e5d8 100644
--- a/src/nxt_h1proto.c
+++ b/src/nxt_h1proto.c
@@ -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');
if (r->resp.content_length == NULL || r->resp.content_length->skip) {
- if (http11) {
+
+ if (http11 && n != NXT_HTTP_NO_CONTENT) {
h1p->chunked = 1;
size += nxt_length(chunked);
/* Trailing CRLF will be added by the first chunk header. */
diff --git a/src/nxt_http.h b/src/nxt_http.h
index 1c7ed8bb..b2111f90 100644
--- a/src/nxt_http.h
+++ b/src/nxt_http.h
@@ -12,6 +12,7 @@ typedef enum {
NXT_HTTP_INVALID = 0,
NXT_HTTP_OK = 200,
+ NXT_HTTP_NO_CONTENT = 204,
NXT_HTTP_MULTIPLE_CHOICES = 300,
NXT_HTTP_MOVED_PERMANENTLY = 301,
diff --git a/test/test_python_application.py b/test/test_python_application.py
index f1e2cbf7..e71b6432 100644
--- a/test/test_python_application.py
+++ b/test/test_python_application.py
@@ -60,7 +60,6 @@ class TestUnitPythonApplication(unit.TestUnitApplicationPython):
self.assertEqual(self.get()['headers']['Server-Port'], '7080',
'Server-Port header')
- @unittest.expectedFailure
def test_python_application_204_transfer_encoding(self):
self.load('204_no_content')