diff --git a/src/http.cc b/src/http.cc index 0ea0909afa..945d98856b 100644 --- a/src/http.cc +++ b/src/http.cc @@ -192,12 +192,7 @@ HTTPConnection::on_body (http_parser *parser, const char *buf, size_t len) // TODO each message should have their encoding. // don't look at the conneciton for encoding - if (connection->encoding_ == UTF8) { - // utf8 encoding - Handle chunk = String::New((const char*)buf, len); - argv[0] = chunk; - - } else { + if (connection->encoding_ == RAW) { // raw encoding Local array = Array::New(len); for (size_t i = 0; i < len; i++) { @@ -205,6 +200,11 @@ HTTPConnection::on_body (http_parser *parser, const char *buf, size_t len) array->Set(Integer::New(i), Integer::New(val)); } argv[0] = array; + + } else { + // utf8 or ascii encoding + Handle chunk = String::New((const char*)buf, len); + argv[0] = chunk; } connection->Emit("body", 1, argv); diff --git a/test/mjsunit/test-http.js b/test/mjsunit/test-http.js index 83c8a36140..94a1905303 100644 --- a/test/mjsunit/test-http.js +++ b/test/mjsunit/test-http.js @@ -34,7 +34,7 @@ function onLoad () { req.finish(function (res) { assertEquals(200, res.statusCode); responses_recvd += 1; - res.setBodyEncoding("utf8"); + res.setBodyEncoding("ascii"); res.addListener("body", function (chunk) { body0 += chunk; }); node.debug("Got /hello response"); });