nodejs/test/parallel/test-http-automatic-headers.js

32 lines
1006 B
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
const http = require('http');
const server = http.createServer(common.mustCall((req, res) => {
res.setHeader('X-Date', 'foo');
res.setHeader('X-Connection', 'bar');
res.setHeader('X-Content-Length', 'baz');
res.end();
}));
server.listen(0);
server.on('listening', common.mustCall(() => {
const agent = new http.Agent({ port: server.address().port, maxSockets: 1 });
http.get({
port: server.address().port,
path: '/hello',
agent: agent
}, common.mustCall((res) => {
assert.strictEqual(res.statusCode, 200);
assert.strictEqual(res.headers['x-date'], 'foo');
assert.strictEqual(res.headers['x-connection'], 'bar');
assert.strictEqual(res.headers['x-content-length'], 'baz');
assert(res.headers.date);
assert.strictEqual(res.headers.connection, 'keep-alive');
assert.strictEqual(res.headers['content-length'], '0');
server.close();
agent.destroy();
}));
}));