forked from ard/ruoyi-api

aijinhui
2023-12-29 bc2d4d4f3ceee6e51b15723c5e3f2c981bd72ba0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
"use strict";
 
const normalize = require("./normalize");
 
const absoluteWinRegExp = /^[A-Z]:([\\\/]|$)/i;
const 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);
};