Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F5365506
test_node_http_host_header_ipv6.cjs
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
test_node_http_host_header_ipv6.cjs
View Options
const assert = require('node:assert');
const http = require('node:http');
const net = require('node:net');
let observedHostHeader;
const server = net.createServer((socket) => {
socket.once('data', (chunk) => {
const request = chunk.toString('latin1');
const match = /^Host: ([^\r\n]*)/im.exec(request);
observedHostHeader = match ? match[1] : undefined;
socket.write(
'HTTP/1.1 101 Switching Protocols\r\n' +
'Connection: Upgrade\r\n' +
'Upgrade: test\r\n' +
'\r\n'
);
});
});
server.listen(0, '::1', () => {
const { port } = server.address();
const req = http.request({
host: '::1',
port,
path: '/',
headers: {
Connection: 'Upgrade',
Upgrade: 'test',
},
});
req.on('upgrade', (_res, socket) => {
assert.strictEqual(observedHostHeader, `[::1]:${port}`);
socket.destroy();
server.close(() => {
console.log('node-http:ipv6-host-header:ok');
});
});
req.on('error', (error) => {
server.close(() => {
throw error;
});
});
req.end();
});
File Metadata
Details
Attached
Mime Type
application/javascript
Expires
Sun, May 17, 5:45 AM (1 d, 22 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
554512
Default Alt Text
test_node_http_host_header_ipv6.cjs (1 KB)
Attached To
Mode
rANT Ant
Attached
Detach File
Event Timeline
Log In to Comment