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
|
// GET avatar request
|
||||||
module.exports = function(req, res) {
|
module.exports = function(req, res) {
|
||||||
var start = new Date();
|
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 size = parseInt(req.url.query.size) || config.default_size;
|
||||||
var def = req.url.query.default;
|
var def = req.url.query.default;
|
||||||
var helm = req.url.query.hasOwnProperty("helm");
|
var helm = req.url.query.hasOwnProperty("helm");
|
||||||
|
|||||||
@ -20,7 +20,7 @@ var human_status = {
|
|||||||
// GET render request
|
// GET render request
|
||||||
module.exports = function(req, res) {
|
module.exports = function(req, res) {
|
||||||
var start = new Date();
|
var start = new Date();
|
||||||
var raw_type = (req.url.pathname.split("/")[2] || "");
|
var raw_type = (req.url.path_list[2] || "");
|
||||||
|
|
||||||
// validate type
|
// validate type
|
||||||
if (raw_type != "body" && raw_type != "head") {
|
if (raw_type != "body" && raw_type != "head") {
|
||||||
@ -33,7 +33,7 @@ module.exports = function(req, res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var body = raw_type == "body";
|
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 def = req.url.query.default;
|
||||||
var scale = parseInt(req.url.query.scale) || config.default_scale;
|
var scale = parseInt(req.url.query.scale) || config.default_scale;
|
||||||
var helm = req.url.query.hasOwnProperty("helm");
|
var helm = req.url.query.hasOwnProperty("helm");
|
||||||
|
|||||||
@ -8,7 +8,7 @@ var lwip = require("lwip");
|
|||||||
// GET skin request
|
// GET skin request
|
||||||
module.exports = function(req, res) {
|
module.exports = function(req, res) {
|
||||||
var start = new Date();
|
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 def = req.url.query.default;
|
||||||
var etag = null;
|
var etag = null;
|
||||||
|
|
||||||
|
|||||||
18
server.js
18
server.js
@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
var config = require("./modules/config");
|
|
||||||
var logging = require("./modules/logging");
|
var logging = require("./modules/logging");
|
||||||
|
var querystring = require("querystring");
|
||||||
|
var config = require("./modules/config");
|
||||||
var clean = require("./modules/cleaner");
|
var clean = require("./modules/cleaner");
|
||||||
var http = require("http");
|
var http = require("http");
|
||||||
var mime = require("mime");
|
var mime = require("mime");
|
||||||
@ -16,7 +17,7 @@ var routes = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function asset_request(req, res) {
|
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) {
|
fs.exists(filename, function(exists) {
|
||||||
if (exists) {
|
if (exists) {
|
||||||
fs.readFile(filename, function(err, file_buffer) {
|
fs.readFile(filename, function(err, file_buffer) {
|
||||||
@ -41,16 +42,21 @@ function asset_request(req, res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function requestHandler(req, res) {
|
function requestHandler(req, res) {
|
||||||
var querystring = url.parse(req.url).query;
|
var query = url.parse(req.url).query;
|
||||||
var request = req;
|
var request = req;
|
||||||
// we need to use url.parse and give the result to url.parse because nodejs
|
// 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 || {};
|
request.url.query = request.url.query || {};
|
||||||
|
|
||||||
// remove trailing and double slashes + other junk
|
// 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);
|
console.log(request.method + " " + request.url.href);
|
||||||
if (request.method == "GET" || request.method == "HEAD") {
|
if (request.method == "GET" || request.method == "HEAD") {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user