From e0c71a427b5133a7ca6f7fb289b7bf8435bae5e1 Mon Sep 17 00:00:00 2001 From: peteriman Date: Sat, 18 Sep 2021 18:17:49 +0800 Subject: [PATCH] Avoid using deprecated process.binding('http_parser') Refs: https://github.com/spdy-http2/http-deceiver/issues/6 Refs: https://nodejs.org/api/deprecations.html#DEP0111 --- lib/deceiver.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/deceiver.js b/lib/deceiver.js index 7d3b27f..a249571 100644 --- a/lib/deceiver.js +++ b/lib/deceiver.js @@ -21,14 +21,20 @@ var kOnHeadersComplete var kOnMessageComplete var kOnBody if (mode === 'normal' || mode === 'modern') { - HTTPParser = process.binding('http_parser').HTTPParser - methods = HTTPParser.methods + HTTPParser = require('_http_common').HTTPParser + methods = require('_http_common').methods - // v6 - if (!methods) { + // <= v11 + if (!HTTPParser) { + HTTPParser = process.binding('http_parser').HTTPParser methods = process.binding('http_parser').methods } + // <= v5 + if (!methods) { + methods = HTTPParser.methods + } + reverseMethods = {} methods.forEach(function (method, index) {