diff options
author | mog422 <admin@mog422.net> | 2017-09-11 11:00:10 +0900 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2017-10-19 18:15:58 +0200 |
commit | f2f391e575fc8072d10e1ad1601ef3f67f13a4db (patch) | |
tree | 2c7e43cbeffcec392e4a2252ac6203369207333b /test/parallel/test-http-blank-header.js | |
parent | d6ba14e5a52c393cbb9a01e55122ca9beff4df13 (diff) | |
download | android-node-v8-f2f391e575fc8072d10e1ad1601ef3f67f13a4db.tar.gz android-node-v8-f2f391e575fc8072d10e1ad1601ef3f67f13a4db.tar.bz2 android-node-v8-f2f391e575fc8072d10e1ad1601ef3f67f13a4db.zip |
http: send 400 bad request on parse error
A web server such as nginx assumes that upstream is dead
if upstream closes the socket without any response.
PR-URL: https://github.com/nodejs/node/pull/15324
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Diffstat (limited to 'test/parallel/test-http-blank-header.js')
-rw-r--r-- | test/parallel/test-http-blank-header.js | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/test/parallel/test-http-blank-header.js b/test/parallel/test-http-blank-header.js index ff86193a1b..40377fb668 100644 --- a/test/parallel/test-http-blank-header.js +++ b/test/parallel/test-http-blank-header.js @@ -38,6 +38,7 @@ const server = http.createServer(common.mustCall((req, res) => { server.listen(0, common.mustCall(() => { const c = net.createConnection(server.address().port); + let received = ''; c.on('connect', common.mustCall(() => { c.write('GET /blah HTTP/1.1\r\n' + @@ -47,7 +48,12 @@ server.listen(0, common.mustCall(() => { '\r\n\r\nhello world' ); })); - - c.on('end', common.mustCall(() => c.end())); + c.on('data', common.mustCall((data) => { + received += data.toString(); + })); + c.on('end', common.mustCall(() => { + assert.strictEqual('HTTP/1.1 400 Bad Request\r\n\r\n', received); + c.end(); + })); c.on('close', common.mustCall(() => server.close())); })); |