mirror of
https://github.com/azures04/crafatar.git
synced 2026-03-22 07:51:17 +01:00
split pathname into array, URL decode, fix #65
This commit is contained in:
parent
bbc71b0d6c
commit
cbbfb73bea
@ -15,7 +15,7 @@ var human_status = {
|
||||
// GET avatar request
|
||||
module.exports = function(req, res) {
|
||||
var start = new Date();
|
||||
var uuid = (req.url.pathname.split("/")[2] || "").split(".")[0];
|
||||
var uuid = (req.url.path_list[2] || "").split(".")[0];
|
||||
var size = parseInt(req.url.query.size) || config.default_size;
|
||||
var def = req.url.query.default;
|
||||
var helm = req.url.query.hasOwnProperty("helm");
|
||||
|
||||
@ -20,7 +20,7 @@ var human_status = {
|
||||
// GET render request
|
||||
module.exports = function(req, res) {
|
||||
var start = new Date();
|
||||
var raw_type = (req.url.pathname.split("/")[2] || "");
|
||||
var raw_type = (req.url.path_list[2] || "");
|
||||
|
||||
// validate type
|
||||
if (raw_type != "body" && raw_type != "head") {
|
||||
@ -33,7 +33,7 @@ module.exports = function(req, res) {
|
||||
}
|
||||
|
||||
var body = raw_type == "body";
|
||||
var uuid = (req.url.pathname.split("/")[3] || "").split(".")[0];
|
||||
var uuid = (req.url.path_list[3] || "").split(".")[0];
|
||||
var def = req.url.query.default;
|
||||
var scale = parseInt(req.url.query.scale) || config.default_scale;
|
||||
var helm = req.url.query.hasOwnProperty("helm");
|
||||
|
||||
@ -8,7 +8,7 @@ var lwip = require("lwip");
|
||||
// GET skin request
|
||||
module.exports = function(req, res) {
|
||||
var start = new Date();
|
||||
var uuid = (req.url.pathname.split("/")[2] || "").split(".")[0];
|
||||
var uuid = (req.url.path_list[2] || "").split(".")[0];
|
||||
var def = req.url.query.default;
|
||||
var etag = null;
|
||||
|
||||
|
||||
18
server.js
18
server.js
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env node
|
||||
var config = require("./modules/config");
|
||||
var logging = require("./modules/logging");
|
||||
var querystring = require("querystring");
|
||||
var config = require("./modules/config");
|
||||
var clean = require("./modules/cleaner");
|
||||
var http = require("http");
|
||||
var mime = require("mime");
|
||||
@ -16,7 +17,7 @@ var routes = {
|
||||
};
|
||||
|
||||
function asset_request(req, res) {
|
||||
var filename = __dirname + "/public/" + req.url.pathname;
|
||||
var filename = __dirname + "/public/" + req.url.path_list.join("/");
|
||||
fs.exists(filename, function(exists) {
|
||||
if (exists) {
|
||||
fs.readFile(filename, function(err, file_buffer) {
|
||||
@ -41,16 +42,21 @@ function asset_request(req, res) {
|
||||
}
|
||||
|
||||
function requestHandler(req, res) {
|
||||
var querystring = url.parse(req.url).query;
|
||||
var query = url.parse(req.url).query;
|
||||
var request = req;
|
||||
// we need to use url.parse and give the result to url.parse because nodejs
|
||||
request.url = url.parse(req.url, querystring);
|
||||
request.url = url.parse(req.url, query);
|
||||
request.url.query = request.url.query || {};
|
||||
|
||||
// remove trailing and double slashes + other junk
|
||||
request.url.pathname = path.resolve(request.url.pathname);
|
||||
var path_list = path.resolve(request.url.pathname).split("/");
|
||||
for (var i = 0; i < path_list.length; i++) {
|
||||
// URL decode
|
||||
path_list[i] = querystring.unescape(path_list[i]);
|
||||
}
|
||||
request.url.path_list = path_list;
|
||||
|
||||
var local_path = request.url.pathname.split("/")[1];
|
||||
var local_path = request.url.path_list[1];
|
||||
console.log(request.method + " " + request.url.href);
|
||||
if (request.method == "GET" || request.method == "HEAD") {
|
||||
try {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user