summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2016-04-15 19:40:01 +0200
committerBen Noordhuis <info@bnoordhuis.nl>2016-04-18 11:39:52 +0200
commit642076f2aff3cddf93dd7cb6b1a332f8064ab39f (patch)
tree4f47a6234a1eab74cd881b6ccbb48de38d614fd6 /lib
parent15f13cd74a8bb9e62b871076328447b4ead7e8b6 (diff)
downloadandroid-node-v8-642076f2aff3cddf93dd7cb6b1a332f8064ab39f.tar.gz
android-node-v8-642076f2aff3cddf93dd7cb6b1a332f8064ab39f.tar.bz2
android-node-v8-642076f2aff3cddf93dd7cb6b1a332f8064ab39f.zip
src: don't set non-primitive values on templates
V8 is going to disallow non-primitive values on v8::FunctionTemplate and v8::ObjectTemplate because those can't be shared across contexts. Fixes: https://github.com/nodejs/node/issues/6216 PR-URL: https://github.com/nodejs/node/pull/6228 Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/_http_common.js10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/_http_common.js b/lib/_http_common.js
index 08f93d8c4d..7c9fac5c6b 100644
--- a/lib/_http_common.js
+++ b/lib/_http_common.js
@@ -1,8 +1,10 @@
'use strict';
-const FreeList = require('internal/freelist').FreeList;
-const HTTPParser = process.binding('http_parser').HTTPParser;
+const binding = process.binding('http_parser');
+const methods = binding.methods;
+const HTTPParser = binding.HTTPParser;
+const FreeList = require('internal/freelist').FreeList;
const incoming = require('_http_incoming');
const IncomingMessage = incoming.IncomingMessage;
const readStart = incoming.readStart;
@@ -14,7 +16,7 @@ exports.debug = debug;
exports.CRLF = '\r\n';
exports.chunkExpression = /chunk/i;
exports.continueExpression = /100-continue/i;
-exports.methods = HTTPParser.methods;
+exports.methods = methods;
const kOnHeaders = HTTPParser.kOnHeaders | 0;
const kOnHeadersComplete = HTTPParser.kOnHeadersComplete | 0;
@@ -71,7 +73,7 @@ function parserOnHeadersComplete(versionMajor, versionMinor, headers, method,
if (typeof method === 'number') {
// server only
- parser.incoming.method = HTTPParser.methods[method];
+ parser.incoming.method = methods[method];
} else {
// client only
parser.incoming.statusCode = statusCode;