2015-05-19 13:00:06 +02:00
|
|
|
'use strict';
|
2016-05-29 03:06:56 -04:00
|
|
|
require('../common');
|
2013-08-14 22:14:49 -07:00
|
|
|
var assert = require('assert');
|
|
|
|
|
|
|
|
var http = require('http');
|
|
|
|
|
|
|
|
var expect = 'hex\nutf8\n';
|
|
|
|
var data = '';
|
|
|
|
var ended = false;
|
|
|
|
|
|
|
|
process.on('exit', function() {
|
|
|
|
assert(ended);
|
|
|
|
assert.equal(data, expect);
|
|
|
|
console.log('ok');
|
|
|
|
});
|
|
|
|
|
|
|
|
http.createServer(function(q, s) {
|
|
|
|
s.setHeader('content-length', expect.length);
|
|
|
|
s.write('6865780a', 'hex');
|
|
|
|
s.write('utf8\n');
|
|
|
|
s.end();
|
|
|
|
this.close();
|
2016-05-29 03:06:56 -04:00
|
|
|
}).listen(0, function() {
|
|
|
|
http.request({ port: this.address().port }).on('response', function(res) {
|
2013-08-14 22:14:49 -07:00
|
|
|
res.setEncoding('ascii');
|
|
|
|
res.on('data', function(c) {
|
|
|
|
data += c;
|
|
|
|
});
|
|
|
|
res.on('end', function() {
|
|
|
|
ended = true;
|
|
|
|
});
|
|
|
|
}).end();
|
|
|
|
});
|