use new response module for index

This commit is contained in:
jomo 2015-04-20 22:19:57 +02:00
parent 8dc55442b1
commit 0b0882e63d
3 changed files with 13 additions and 9 deletions

View File

@ -16,7 +16,7 @@ var human_status = {
// +request+ a http.IncomingMessage
// +response+ a http.ServerResponse
// +result+ an object with:
// * status: see human_status, required
// * status: see human_status, required for images
// * redirect: redirect URL
// * body: file or message, required unless redirect is present or status is < 0
// * type: a valid Content-Type for the body, defaults to "text/plain"
@ -41,11 +41,14 @@ module.exports = function(request, response, result) {
"Content-Type": result.type || "text/plain",
"Cache-Control": "max-age=" + config.browser_cache_time + ", public",
"Response-Time": Date.now() - request.start,
"X-Storage-Type": human_status[result.status],
"X-Request-ID": request.id,
"Access-Control-Allow-Origin": "*"
};
if (result.status) {
headers["X-Storage-Type"] = human_status[result.status];
}
if (result.err) {
logging.error(result.err);
}

View File

@ -3,17 +3,16 @@ var path = require("path");
var jade = require("jade");
// compile jade
var index = jade.compileFile(path.join(__dirname, "../views/index.jade"));
var index = jade.compileFile(path.join(__dirname, "..", "views", "index.jade"));
module.exports = function(req, res) {
module.exports = function(req, callback) {
var html = index({
title: "Crafatar",
domain: "https://" + req.headers.host,
config: config
});
res.writeHead(200, {
"Content-Length": Buffer.byteLength(html, "UTF-8"),
"Content-Type": "text/html; charset=utf-8"
callback({
body: html,
type: "text/html; charset=utf-8"
});
res.end(html);
};

View File

@ -70,7 +70,9 @@ function requestHandler(req, res) {
try {
switch (local_path) {
case "":
routes.index(req, res);
routes.index(req, function(result) {
response(req, res, result);
});
break;
case "avatars":
routes.avatars(req, function(result) {