Allow stream to write on close

This commit is contained in:
Ryan Dahl 2010-04-05 16:50:05 -07:00
Родитель 801fb8a614
Коммит 1b758ef268
8 изменённых файлов: 10 добавлений и 14 удалений

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

@ -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();

Просмотреть файл

@ -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);

Просмотреть файл

@ -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);

Просмотреть файл

@ -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);

Просмотреть файл

@ -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);

Просмотреть файл

@ -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);