Remove excessive copyright/license boilerplate
[platform/upstream/nodejs.git] / test / parallel / test-http-byteswritten.js
1 var common = require('../common');
2 var assert = require('assert');
3 var fs = require('fs');
4 var http = require('http');
5
6 var body = 'hello world\n';
7
8 var sawFinish = false;
9 process.on('exit', function() {
10   assert(sawFinish);
11   console.log('ok');
12 });
13
14 var httpServer = http.createServer(function(req, res) {
15   httpServer.close();
16
17   res.on('finish', function() {
18     sawFinish = true;
19     assert(typeof(req.connection.bytesWritten) === 'number');
20     assert(req.connection.bytesWritten > 0);
21   });
22   res.writeHead(200, { 'Content-Type': 'text/plain' });
23
24   // Write 1.5mb to cause some requests to buffer
25   // Also, mix up the encodings a bit.
26   var chunk = new Array(1024 + 1).join('7');
27   var bchunk = new Buffer(chunk);
28   for (var i = 0; i < 1024; i++) {
29     res.write(chunk);
30     res.write(bchunk);
31     res.write(chunk, 'hex');
32   }
33   // Get .bytesWritten while buffer is not empty
34   assert(res.connection.bytesWritten > 0);
35
36   res.end(body);
37 });
38
39 httpServer.listen(common.PORT, function() {
40   http.get({ port: common.PORT });
41 });
42