Browse Source

Allow stream to write on close

v0.7.4-release
Ryan Dahl 15 years ago
parent
commit
1b758ef268
  1. 3
      benchmark/http_simple.js
  2. 3
      doc/index.html
  3. 3
      lib/http.js
  4. 3
      lib/net.js
  5. 3
      test/simple/test-http-1.0.js
  6. 3
      test/simple/test-http-cat.js
  7. 3
      test/simple/test-http-chunked.js
  8. 3
      test/simple/test-http-client-race.js

3
benchmark/http_simple.js

@ -49,6 +49,5 @@ http.createServer(function (req, res) {
, "Content-Length": content_length
}
);
res.write(body);
res.close();
res.close(body, 'ascii');
}).listen(8000);

3
doc/index.html

@ -47,8 +47,7 @@ var sys = require('sys'),
http.createServer(function (req, res) {
setTimeout(function () {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write('Hello World');
res.close();
res.close('Hello World');
}, 2000);
}).listen(8000);
sys.puts('Server running at http://127.0.0.1:8000/');</pre>

3
lib/http.js

@ -372,7 +372,8 @@ OutgoingMessage.prototype.finish = function () {
throw new Error("finish() has been renamed to close().");
};
OutgoingMessage.prototype.close = function () {
OutgoingMessage.prototype.close = function (data, encoding) {
if (data) this.write(data, encoding);
if (this.chunkedEncoding) this._send("0\r\n\r\n"); // last chunk
this.finished = true;
this.flush();

3
lib/net.js

@ -713,7 +713,8 @@ Stream.prototype._shutdown = function () {
};
Stream.prototype.close = function () {
Stream.prototype.close = function (data, encoding) {
if (data) this.write(data, encoding);
if (this.writable) {
if (this._writeQueueLast() != END_OF_FILE) {
this._writeQueue.push(END_OF_FILE);

3
test/simple/test-http-1.0.js

@ -8,8 +8,7 @@ var client_got_eof = false;
var server = http.createServer(function (req, res) {
res.writeHead(200, {"Content-Type": "text/plain"});
res.write(body);
res.close();
res.close(body);
})
server.listen(PORT);

3
test/simple/test-http-cat.js

@ -8,8 +8,7 @@ var server = http.createServer(function (req, res) {
["Content-Length", body.length],
["Content-Type", "text/plain"]
]);
res.write(body);
res.close();
res.close(body);
});
server.listen(PORT);

3
test/simple/test-http-chunked.js

@ -5,8 +5,7 @@ var UTF8_STRING = "南越国是前203年至前111年存在于岭南地区的一
var server = http.createServer(function(req, res) {
res.writeHead(200, {"Content-Type": "text/plain; charset=utf8"});
res.write(UTF8_STRING, 'utf8');
res.close();
res.close(UTF8_STRING, 'utf8');
});
server.listen(PORT);

3
test/simple/test-http-client-race.js

@ -10,8 +10,7 @@ var server = http.createServer(function (req, res) {
res.writeHead(200, { "Content-Type": "text/plain"
, "Content-Length": body.length
});
res.write(body);
res.close();
res.close(body);
});
server.listen(PORT);

Loading…
Cancel
Save