aboutsummaryrefslogtreecommitdiff
path: root/lib/http.js
diff options
context:
space:
mode:
authorBrian White <mscdex@mscdex.net>2012-08-06 20:42:13 -0400
committerBen Noordhuis <info@bnoordhuis.nl>2012-12-16 17:25:03 +0100
commit827b2a9b0b2b938f458a7569bf6c73b6be25ddc7 (patch)
tree78a5ce0e989f60c19068df9af62b00d6fb1b85d9 /lib/http.js
parent45cdb0e4c12d8f8e9450174ddd6ddad52a995831 (diff)
downloadandroid-node-v8-827b2a9b0b2b938f458a7569bf6c73b6be25ddc7.tar.gz
android-node-v8-827b2a9b0b2b938f458a7569bf6c73b6be25ddc7.tar.bz2
android-node-v8-827b2a9b0b2b938f458a7569bf6c73b6be25ddc7.zip
http: bubble up parser errors to ClientRequest
Make parser errors bubble up to the ClientRequest instead of the underlying net.Socket object. This is a back-port of commit c78678b from the master branch. Fixes #3776.
Diffstat (limited to 'lib/http.js')
-rw-r--r--lib/http.js4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/http.js b/lib/http.js
index 787c906691..f76bd50bbf 100644
--- a/lib/http.js
+++ b/lib/http.js
@@ -1368,7 +1368,9 @@ function socketOnData(d, start, end) {
if (ret instanceof Error) {
debug('parse error');
freeParser(parser, req);
- socket.destroy(ret);
+ socket.destroy();
+ req.emit('error', ret);
+ req._hadError = true;
} else if (parser.incoming && parser.incoming.upgrade) {
// Upgrade or CONNECT
var bytesParsed = ret;