Browse Source

Fixing bug in http request's end method.

v0.7.4-release
Ali Farhadi 14 years ago
committed by Ryan Dahl
parent
commit
d81afcb3a6
  1. 1
      lib/http.js
  2. 37
      test/simple/test-http-request-end.js

1
lib/http.js

@ -565,6 +565,7 @@ OutgoingMessage.prototype.end = function(data, encoding) {
typeof(data) === 'string' && typeof(data) === 'string' &&
data.length > 0 && data.length > 0 &&
this.output.length === 0 && this.output.length === 0 &&
this.connection &&
this.connection.writable && this.connection.writable &&
this.connection._httpMessage === this; this.connection._httpMessage === this;

37
test/simple/test-http-request-end.js

@ -0,0 +1,37 @@
var common = require('../common');
var assert = require('assert');
var http = require('http');
var expected = 'Post Body For Test';
var result = '';
var server = http.Server(function(req, res) {
req.setEncoding('utf8');
req.on('data', function(chunk) {
result += chunk;
});
req.on('end', function() {
server.close();
});
res.writeHead(200);
res.end("hello world\n");
});
server.listen(common.PORT, function() {
http.request({
port: common.PORT,
path: '/',
method: 'POST'
}, function(res) {
console.log(res.statusCode);
}).on('error', function(e) {
console.log(e.message);
process.exit(1);
}).end(expected);
});
process.on('exit', function() {
assert.equal(expected, result);
});
Loading…
Cancel
Save