Skip to content

Commit 8105d76

Browse files
committed
address pr reviews
1 parent 05f66ac commit 8105d76

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/node/internal/internal_http_incoming.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,9 @@ export class IncomingMessage extends Readable implements _IncomingMessage {
8787
): void => {
8888
const connectingIp = headers.get('cf-connecting-ip');
8989
const isConnectingIpIpv4 = connectingIp ? isIPv4(connectingIp) : true;
90-
const remotePort = Math.floor(Math.random() * (65535 - 32768 + 1));
90+
// Return a port number between 2^15 and 2^16.
91+
const remotePort =
92+
Math.floor(Math.random() * (65535 - 32768 + 1)) + 32768;
9193

9294
incoming.#socket = {
9395
encrypted: headers.get('x-forwarded-proto') === 'https',
@@ -113,11 +115,12 @@ export class IncomingMessage extends Readable implements _IncomingMessage {
113115
},
114116
get localPort(): number {
115117
// This is the port defined by the `server.listen(port)` call.
116-
// TODO(soon): Investigate if we should return 443 on production.
117118
return localPort;
118119
},
119120
// Since we don't implement net.Socket, we fallback to IncomingMessage.destroy here.
120-
destroy: incoming.destroy.bind(incoming),
121+
// We do not use .bind() in case user overwrites destroy method.
122+
destroy: (err: Error | undefined): IncomingMessage =>
123+
incoming.destroy(err),
121124
};
122125
};
123126
}

src/workerd/api/node/tests/http-server-nodejs-test.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,6 +1140,8 @@ export const testIncomingMessageSocket = {
11401140
strictEqual(req.socket.localAddress, '127.0.0.1');
11411141
strictEqual(req.socket.remoteAddress, '127.0.0.1');
11421142
strictEqual(typeof req.socket.remotePort, 'number');
1143+
ok(req.socket.remotePort >= Math.pow(2, 15));
1144+
ok(req.socket.remotePort <= Math.pow(2, 16));
11431145
strictEqual(req.socket.remoteFamily, 'IPv4');
11441146

11451147
res.writeHead(200);

0 commit comments

Comments
 (0)