You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

57 lines
1.2 KiB

'use strict';
const common = require('../common');
const assert = require('assert');
const EventEmitter = require('events');
const http = require('http');
const ee = new EventEmitter();
let count = 3;
const server = http.createServer(function(req, res) {
assert.doesNotThrow(function() {
res.setHeader('testing_123', 123);
});
assert.throws(function() {
res.setHeader('testing 123', 123);
}, TypeError);
res.end('');
});
server.listen(0, function() {
http.get({ port: this.address().port }, function() {
ee.emit('done');
});
assert.throws(
function() {
const options = {
port: server.address().port,
headers: { 'testing 123': 123 }
};
http.get(options, common.mustNotCall());
},
function(err) {
ee.emit('done');
if (err instanceof TypeError) return true;
}
);
assert.doesNotThrow(
function() {
const options = {
port: server.address().port,
headers: { 'testing_123': 123 }
};
http.get(options, function() {
ee.emit('done');
});
}, TypeError
);
});
ee.on('done', function() {
if (--count === 0) {
server.close();
}
});