From e0c26757740fa7974af6e6592e35b5f2e00339fe Mon Sep 17 00:00:00 2001 From: Andrei Zeliankou Date: Tue, 26 Sep 2023 12:49:39 +0100 Subject: Node.js: response body chunk can now be a Uint8Array. Starting from Node.js 15.0.0 the chunk parameter of the response.write() can be a Uint8Array. This closes #870 issue on GitHub. --- src/nodejs/unit-http/http_server.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/nodejs') diff --git a/src/nodejs/unit-http/http_server.js b/src/nodejs/unit-http/http_server.js index 89964ec3..11651ed7 100644 --- a/src/nodejs/unit-http/http_server.js +++ b/src/nodejs/unit-http/http_server.js @@ -243,8 +243,11 @@ ServerResponse.prototype._writeBody = function(chunk, encoding, callback) { } if (chunk) { - if (typeof chunk !== 'string' && !(chunk instanceof Buffer)) { - throw new TypeError('First argument must be a string or Buffer'); + if (typeof chunk !== 'string' && !(chunk instanceof Buffer || + chunk instanceof Uint8Array)) { + throw new TypeError( + 'First argument must be a string, Buffer, ' + + 'or Uint8Array'); } if (typeof chunk === 'string') { -- cgit From 2d0e502d2a69ad490e0633c59636e1115afa983d Mon Sep 17 00:00:00 2001 From: Andrei Zeliankou Date: Tue, 26 Sep 2023 12:49:39 +0100 Subject: Node.js: ServerRequest.destroy() implemented. This closes #871 issue on GitHub. --- src/nodejs/unit-http/http_server.js | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/nodejs') diff --git a/src/nodejs/unit-http/http_server.js b/src/nodejs/unit-http/http_server.js index 11651ed7..0f00b47f 100644 --- a/src/nodejs/unit-http/http_server.js +++ b/src/nodejs/unit-http/http_server.js @@ -33,8 +33,17 @@ ServerResponse.prototype.statusMessage = undefined; ServerResponse.prototype.headers_len = 0; ServerResponse.prototype.headers_count = 0; ServerResponse.prototype.headersSent = false; +ServerResponse.prototype.destroyed = false; ServerResponse.prototype.finished = false; +ServerResponse.prototype.destroy = function destroy(error) { + if (!this.destroyed) { + this.destroyed = true; + } + + return this; +}; + ServerResponse.prototype._finish = function _finish() { this.headers = {}; this.headers_len = 0; -- cgit From f1ce2a5ac2ba3266d525544445366fae538d7194 Mon Sep 17 00:00:00 2001 From: Konstantin Pavlov Date: Tue, 26 Sep 2023 16:14:21 -0700 Subject: Node.js: provide reasonable default paths for macOS. --- src/nodejs/unit-http/binding_pub.gyp | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'src/nodejs') diff --git a/src/nodejs/unit-http/binding_pub.gyp b/src/nodejs/unit-http/binding_pub.gyp index 3c39933a..3dadf4a5 100644 --- a/src/nodejs/unit-http/binding_pub.gyp +++ b/src/nodejs/unit-http/binding_pub.gyp @@ -7,9 +7,28 @@ ['OS=="mac"', { 'xcode_settings': { 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES' - } - }] - ], + }, + 'conditions': [ + [ 'target_arch=="arm64"', { + 'include_dirs': [ + '/opt/homebrew/include' + ], + 'libraries' : [ + '-L/opt/homebrew/lib', + '-lunit' + ], + }], + ['target_arch=="x64"', { + 'include_dirs': [ + '/usr/local/include', + ], + 'libraries' : [ + '-L/usr/local/lib', + '-lunit' + ], + }] + ]} + ]], 'sources': ["unit.cpp", "addon.cpp"], 'libraries': ["-lunit"] }] -- cgit