var content_length = body.length.toString();
- res.sendHeader( status
+ res.writeHeader( status
, { "Content-Type": "text/plain"
, "Content-Length": content_length
}
}
var server = http.createServer(function (req, res) {
- res.sendHeader(200, {
+ res.writeHeader(200, {
"Content-Type": "text/plain",
"Content-Length": body.length
});
var sys = require("sys"),
http = require("http");
http.createServer(function (request, response) {
- response.sendHeader(200, {"Content-Type": "text/plain"});
+ response.writeHeader(200, {"Content-Type": "text/plain"});
response.write("Hello World\n");
response.close();
}).listen(8000);
This object is created internally by a HTTP server--not by the user. It is
passed as the second parameter to the +"request"+ event.
-+response.sendHeader(statusCode, headers)+ ::
++response.writeHeader(statusCode[, reasonPhrase] , headers)+ ::
Sends a response header to the request. The status code is a 3-digit HTTP
-status code, like +404+. The second argument, +headers+, are the response headers.
+status code, like +404+. The last argument, +headers+, are the response headers.
+Optionally one can give a human-readable +reasonPhrase+ as the second
+argument.
+
Example:
+
----------------------------------------
var body = "hello world";
-response.sendHeader(200, {
+response.writeHeader(200, {
"Content-Length": body.length,
"Content-Type": "text/plain"
});
+response.write(chunk, encoding="ascii")+ ::
-This method must be called after +sendHeader+ was
+This method must be called after +writeHeader+ was
called. It sends a chunk of the response body. This method may
be called multiple times to provide successive parts of the body.
+
fields = {},
name, filename;
mp.addListener("error", function (er) {
- res.sendHeader(400, {"content-type":"text/plain"});
+ res.writeHeader(400, {"content-type":"text/plain"});
res.write("You sent a bad message!\n"+er.message);
res.close();
});
});
mp.addListener("complete", function () {
var response = "You posted: \n" + sys.inspect(fields);
- res.sendHeader(200, {
+ res.writeHeader(200, {
"content-type" : "text/plain",
"content-length" : response.length
});
http = require('http');
http.createServer(function (req, res) {
setTimeout(function () {
- res.sendHeader(200, {'Content-Type': 'text/plain'});
+ res.writeHeader(200, {'Content-Type': 'text/plain'});
res.write('Hello World');
res.close();
}, 2000);
sys.inherits(ServerResponse, OutgoingMessage);
exports.ServerResponse = ServerResponse;
-ServerResponse.prototype.sendHeader = function (statusCode, headers) {
- var reason = STATUS_CODES[statusCode] || "unknown";
- var status_line = "HTTP/1.1 " + statusCode.toString() + " " + reason + CRLF;
+
+ServerResponse.prototype.writeHeader = function (statusCode) {
+ var reasonPhrase, headers, headerIndex;
+
+ if (typeof arguments[1] == 'string') {
+ reasonPhrase = arguments[1];
+ headerIndex = 2;
+ } else {
+ reasonPhrase = STATUS_CODES[statusCode] || "unknown";
+ headerIndex = 1;
+ }
+
+ if (typeof arguments[headerIndex] == 'object') {
+ headers = arguments[headerIndex];
+ } else {
+ headers = {};
+ }
+
+ var status_line = "HTTP/1.1 " + statusCode.toString() + " "
+ + reasonPhrase + CRLF;
this.sendHeaderLines(status_line, headers);
};
+// TODO eventually remove sendHeader()
+ServerResponse.prototype.sendHeader = ServerResponse.prototype.writeHeader;
function ClientRequest (method, url, headers) {
OutgoingMessage.call(this);
});
assert.throws(function() {
process._byteLength(5);
-});
\ No newline at end of file
+});
var client_got_eof = false;
var server = http.createServer(function (req, res) {
- res.sendHeader(200, {"Content-Type": "text/plain"});
+ res.writeHeader(200, {"Content-Type": "text/plain"});
res.write(body);
res.close();
})
var body = "exports.A = function() { return 'A';}";
var server = http.createServer(function (req, res) {
puts("got request");
- res.sendHeader(200, [
+ res.writeHeader(200, [
["Content-Length", body.length],
["Content-Type", "text/plain"]
]);
var UTF8_STRING = "Il était tué";
var server = http.createServer(function(req, res) {
- res.sendHeader(200, {"Content-Type": "text/plain; charset=utf8"});
+ res.writeHeader(200, {"Content-Type": "text/plain; charset=utf8"});
res.write(UTF8_STRING, 'utf8');
res.close();
});
var server = http.createServer(function (req, res) {
var body = url.parse(req.url).pathname === "/1" ? body1_s : body2_s;
- res.sendHeader(200, { "Content-Type": "text/plain"
+ res.writeHeader(200, { "Content-Type": "text/plain"
, "Content-Length": body.length
});
res.write(body);
req.addListener('end', function () {
server_req_complete = true;
puts("request complete from server");
- res.sendHeader(200, {'Content-Type': 'text/plain'});
+ res.writeHeader(200, {'Content-Type': 'text/plain'});
res.write('hello\n');
res.close();
});
var s = http.createServer(function (req, res) {
puts("req: " + JSON.stringify(url.parse(req.url)));
- res.sendHeader(200, {"Content-Type": "text/plain"});
+ res.writeHeader(200, {"Content-Type": "text/plain"});
res.write("Hello World");
res.close();
var backend = http.createServer(function (req, res) {
// debug("backend");
- res.sendHeader(200, {"content-type": "text/plain"});
+ res.writeHeader(200, {"content-type": "text/plain"});
res.write("hello world\n");
res.close();
});
debug("proxy req headers: " + JSON.stringify(req.headers));
var proxy_req = proxy_client.request(url.parse(req.url).pathname);
proxy_req.addListener('response', function(proxy_res) {
- res.sendHeader(proxy_res.statusCode, proxy_res.headers);
+ res.writeHeader(proxy_res.statusCode, proxy_res.headers);
proxy_res.addListener("data", function(chunk) {
res.write(chunk);
});
}
setTimeout(function () {
- res.sendHeader(200, {"Content-Type": "text/plain"});
+ res.writeHeader(200, {"Content-Type": "text/plain"});
res.write(url.parse(req.url).pathname);
res.close();
}, 1);
}
req.addListener('end', function () {
- res.sendHeader(200, {"Content-Type": "text/plain"});
+ res.writeHeader(200, {"Content-Type": "text/plain"});
res.write("The path was " + url.parse(req.url).pathname);
res.close();
responses_sent += 1;
var connection_was_closed = false;
var server = http.createServer(function (req, res) {
- res.sendHeader(200, {"Content-Type": "text/plain"});
+ res.writeHeader(200, {"Content-Type": "text/plain"});
res.write("hello ");
res.write("world\n");
res.close();
}
req.addListener('end', function () {
- res.sendHeader(200, {"Content-Type": "text/plain"});
+ res.writeHeader(200, {"Content-Type": "text/plain"});
res.write("The path was " + url.parse(req.url).pathname);
res.close();
responses_sent += 1;
body = "hello world\n";
server = http.createServer(function (req, res) {
- res.sendHeader(200, {
+ res.writeHeader(200, {
"Content-Length": body.length,
"Content-Type": "text/plain",
});
}
mp.addListener("error", function (er) {
sys.puts("!! error occurred");
- res.sendHeader(400, {});
+ res.writeHeader(400, {});
res.write("bad");
res.close();
});
mp.addListener("complete", function () {
- res.sendHeader(200, {});
+ res.writeHeader(200, {});
res.write("ok");
res.close();
});
'return '+JSON.stringify(url.parse(req.url).pathname)+';'+
'};';
- res.sendHeader(200, {'Content-Type': 'text/javascript'});
+ res.writeHeader(200, {'Content-Type': 'text/javascript'});
res.write(body);
res.close();
});
var fixture = path.join(__dirname, "fixtures/x.txt");
-assert.equal("xyz\n", fs.readFileSync(fixture));
\ No newline at end of file
+assert.equal("xyz\n", fs.readFileSync(fixture));