smc-hub
Version:
CoCalc: Backend webserver component
35 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseReq = void 0;
function parseReq(url, // with base_path removed (url does start with /)
remember_me // only impacts the key that is returned
) {
if (url[0] != "/") {
throw Error("invalid url -- it should start with / but is \"" + url + "\"");
}
var v = url.split("/").slice(1);
var project_id = v[0];
if (v[1] != "port" && v[1] != "raw" && v[1] != "server") {
throw Error("invalid type -- \"" + v[1] + "\" must be \"port\", \"raw\" or \"server\" in url=\"" + url + "\"");
}
var type = v[1];
var internal_url = undefined;
var port_desc;
if (type == "raw") {
port_desc = "";
}
else if (type === "port") {
port_desc = v[2];
}
else if (type === "server") {
port_desc = v[2];
internal_url = v.slice(3).join("/");
}
else {
throw Error("unknown type \"" + type + "\"");
}
var key = (remember_me !== null && remember_me !== void 0 ? remember_me : "") + project_id + type + port_desc + internal_url;
return { key: key, type: type, project_id: project_id, port_desc: port_desc, internal_url: internal_url };
}
exports.parseReq = parseReq;
//# sourceMappingURL=parse.js.map