You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
641 B
15 lines
641 B
4 years ago
|
var normalize = require("./normalize");
|
||
|
|
||
|
var absoluteWinRegExp = /^[A-Z]:([\\\/]|$)/i;
|
||
|
var absoluteNixRegExp = /^\//i;
|
||
|
|
||
|
module.exports = function join(path, request) {
|
||
|
if(!request) return normalize(path);
|
||
|
if(absoluteWinRegExp.test(request)) return normalize(request.replace(/\//g, "\\"));
|
||
|
if(absoluteNixRegExp.test(request)) return normalize(request);
|
||
|
if(path == "/") return normalize(path + request);
|
||
|
if(absoluteWinRegExp.test(path)) return normalize(path.replace(/\//g, "\\") + "\\" + request.replace(/\//g, "\\"));
|
||
|
if(absoluteNixRegExp.test(path)) return normalize(path + "/" + request);
|
||
|
return normalize(path + "/" + request);
|
||
|
};
|