Skip to content

Commit 220bc10

Browse files
committed
squash: restore support for DataView
1 parent 2b328c8 commit 220bc10

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

lib/tls.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ const internalUtil = require('internal/util');
5656
internalUtil.assertCrypto();
5757
const {
5858
isArrayBufferView,
59+
isDataView,
5960
isUint8Array,
6061
} = require('internal/util/types');
6162

@@ -149,6 +150,11 @@ exports.convertALPNProtocols = function convertALPNProtocols(protocols, out) {
149150
} else if (Buffer.isBuffer(protocols) || isUint8Array(protocols)) {
150151
// Copy new buffer not to be modified by user.
151152
out.ALPNProtocols = Buffer.from(protocols);
153+
} else if (isDataView(protocols)) {
154+
out.ALPNProtocols = Buffer.from(protocols.buffer.slice(
155+
protocols.byteOffset,
156+
protocols.byteOffset + protocols.byteLength
157+
));
152158
} else if (isArrayBufferView(protocols)) {
153159
out.ALPNProtocols = Buffer.from(protocols.slice().buffer);
154160
}

test/parallel/test-tls-basic-validations.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,11 @@ assert.throws(
103103
const inputBuffer = Buffer.from(arrayBufferViewStr.repeat(8), 'utf8');
104104
for (const expectView of common.getArrayBufferViews(inputBuffer)) {
105105
const out = {};
106+
const expected = Buffer.from(expectView.buffer.slice(),
107+
expectView.byteOffset,
108+
expectView.byteLength);
106109
tls.convertALPNProtocols(expectView, out);
107-
assert(out.ALPNProtocols.equals(Buffer.from(expectView.slice().buffer)));
110+
assert(out.ALPNProtocols.equals(expected));
108111
}
109112
}
110113

0 commit comments

Comments
 (0)