GSI - Employe Self Service Mobile
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.
 
 
 
 
 

42 lines
1.8 KiB

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.functionsProxy = void 0;
const lodash_1 = require("lodash");
const proxy_1 = require("./proxy");
const projectUtils_1 = require("../projectUtils");
const registry_1 = require("../emulator/registry");
const types_1 = require("../emulator/types");
const functionsEmulator_1 = require("../emulator/functionsEmulator");
const error_1 = require("../error");
function functionsProxy(options) {
return (rewrite) => {
return new Promise((resolve) => {
const projectId = (0, projectUtils_1.needProjectId)(options);
if (!("function" in rewrite)) {
throw new error_1.FirebaseError(`A non-function rewrite cannot be used in functionsProxy`, {
exit: 2,
});
}
let functionId;
let region;
if (typeof rewrite.function === "string") {
functionId = rewrite.function;
region = rewrite.region || "us-central1";
}
else {
functionId = rewrite.function.functionId;
region = rewrite.function.region || "us-central1";
}
let url = `https://${region}-${projectId}.cloudfunctions.net/${functionId}`;
let destLabel = "live";
if ((0, lodash_1.includes)(options.targets, "functions")) {
destLabel = "local";
if (registry_1.EmulatorRegistry.isRunning(types_1.Emulators.FUNCTIONS)) {
url = functionsEmulator_1.FunctionsEmulator.getHttpFunctionUrl(projectId, functionId, region);
}
}
resolve((0, proxy_1.proxyRequestHandler)(url, `${destLabel} Function ${region}/${functionId}`));
});
};
}
exports.functionsProxy = functionsProxy;