1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.makeTrampoline = exports.filename = void 0;
|
4 | const googleapis_1 = require("googleapis");
|
5 | const serialize_1 = require("../serialize");
|
6 | const google_queue_1 = require("./google-queue");
|
7 | const google_shared_1 = require("./google-shared");
|
8 | exports.filename = module.filename;
|
9 | let pubsub;
|
10 | async function initialize() {
|
11 | if (!pubsub) {
|
12 | const auth = await googleapis_1.google.auth.getClient({
|
13 | scopes: ["https://www.googleapis.com/auth/cloud-platform"]
|
14 | });
|
15 | googleapis_1.google.options({
|
16 | auth,
|
17 | retryConfig: {
|
18 | retry: 3,
|
19 | noResponseRetries: 3,
|
20 | shouldRetry: (0, google_shared_1.shouldRetryRequest)(console.log)
|
21 | }
|
22 | });
|
23 | pubsub = googleapis_1.google.pubsub("v1");
|
24 | }
|
25 | }
|
26 | function makeTrampoline(wrapper) {
|
27 | async function trampoline(data, context) {
|
28 | const startTime = Date.now();
|
29 | await initialize();
|
30 | const executionId = context.eventId;
|
31 | const project = process.env["GCP_PROJECT"];
|
32 | const functionName = process.env["FUNCTION_NAME"];
|
33 | const logUrl = (0, google_shared_1.getExecutionLogUrl)(project, functionName, executionId);
|
34 | const str = Buffer.from(data.data, "base64");
|
35 | const call = (0, serialize_1.deserialize)(str.toString());
|
36 | const callingContext = {
|
37 | call,
|
38 | startTime,
|
39 | logUrl,
|
40 | executionId
|
41 | };
|
42 | await wrapper.execute(callingContext, {
|
43 | onMessage: msg => (0, google_queue_1.publishResponseMessage)(pubsub, call.ResponseQueueId, msg)
|
44 | });
|
45 | }
|
46 | return { trampoline };
|
47 | }
|
48 | exports.makeTrampoline = makeTrampoline;
|
49 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXRyYW1wb2xpbmUtcXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ29vZ2xlL2dvb2dsZS10cmFtcG9saW5lLXF1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUErQztBQUMvQyw0Q0FBMkM7QUFFM0MsaURBQXdEO0FBQ3hELG1EQUF5RTtBQUc1RCxRQUFBLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0FBU3hDLElBQUksTUFBd0IsQ0FBQztBQUc3QixLQUFLLFVBQVUsVUFBVTtJQUNyQixJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1QsTUFBTSxJQUFJLEdBQUcsTUFBTSxtQkFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDckMsTUFBTSxFQUFFLENBQUMsZ0RBQWdELENBQUM7U0FDN0QsQ0FBQyxDQUFDO1FBQ0gsbUJBQU0sQ0FBQyxPQUFPLENBQUM7WUFDWCxJQUFJO1lBQ0osV0FBVyxFQUFFO2dCQUNULEtBQUssRUFBRSxDQUFDO2dCQUNSLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BCLFdBQVcsRUFBRSxJQUFBLGtDQUFrQixFQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7YUFDL0M7U0FDSixDQUFDLENBQUM7UUFDSCxNQUFNLEdBQUcsbUJBQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDaEM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLE9BQWdCO0lBQzNDLEtBQUssVUFBVSxVQUFVLENBQUMsSUFBbUIsRUFBRSxPQUE2QjtRQUN4RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDN0IsTUFBTSxVQUFVLEVBQUUsQ0FBQztRQUVuQixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFFLENBQUM7UUFDNUMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUUsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFBLGtDQUFrQixFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDdEUsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sSUFBSSxHQUFpQixJQUFBLHVCQUFXLEVBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFdkQsTUFBTSxjQUFjLEdBQUc7WUFDbkIsSUFBSTtZQUNKLFNBQVM7WUFDVCxNQUFNO1lBQ04sV0FBVztTQUNkLENBQUM7UUFFRixNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQ2xDLFNBQVMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUEscUNBQXNCLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFnQixFQUFFLEdBQUcsQ0FBQztTQUMvRSxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQzFCLENBQUM7QUF4QkQsd0NBd0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ29vZ2xlLCBwdWJzdWJfdjEgfSBmcm9tIFwiZ29vZ2xlYXBpc1wiO1xuaW1wb3J0IHsgZGVzZXJpYWxpemUgfSBmcm9tIFwiLi4vc2VyaWFsaXplXCI7XG5pbXBvcnQgeyBGdW5jdGlvbkNhbGwsIFdyYXBwZXIgfSBmcm9tIFwiLi4vd3JhcHBlclwiO1xuaW1wb3J0IHsgcHVibGlzaFJlc3BvbnNlTWVzc2FnZSB9IGZyb20gXCIuL2dvb2dsZS1xdWV1ZVwiO1xuaW1wb3J0IHsgZ2V0RXhlY3V0aW9uTG9nVXJsLCBzaG91bGRSZXRyeVJlcXVlc3QgfSBmcm9tIFwiLi9nb29nbGUtc2hhcmVkXCI7XG5pbXBvcnQgUHViU3ViQXBpID0gcHVic3ViX3YxO1xuXG5leHBvcnQgY29uc3QgZmlsZW5hbWUgPSBtb2R1bGUuZmlsZW5hbWU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGdW5jdGlvbkNvbnRleHQge1xuICAgIGV2ZW50SWQ6IHN0cmluZztcbiAgICB0aW1lc3RhbXA6IHN0cmluZztcbiAgICBldmVudFR5cGU6IHN0cmluZztcbiAgICByZXNvdXJjZTogb2JqZWN0O1xufVxuXG5sZXQgcHVic3ViOiBQdWJTdWJBcGkuUHVic3ViO1xudHlwZSBQdWJzdWJNZXNzYWdlID0gUHViU3ViQXBpLlNjaGVtYSRQdWJzdWJNZXNzYWdlO1xuXG5hc3luYyBmdW5jdGlvbiBpbml0aWFsaXplKCkge1xuICAgIGlmICghcHVic3ViKSB7XG4gICAgICAgIGNvbnN0IGF1dGggPSBhd2FpdCBnb29nbGUuYXV0aC5nZXRDbGllbnQoe1xuICAgICAgICAgICAgc2NvcGVzOiBbXCJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9hdXRoL2Nsb3VkLXBsYXRmb3JtXCJdXG4gICAgICAgIH0pO1xuICAgICAgICBnb29nbGUub3B0aW9ucyh7XG4gICAgICAgICAgICBhdXRoLFxuICAgICAgICAgICAgcmV0cnlDb25maWc6IHtcbiAgICAgICAgICAgICAgICByZXRyeTogMyxcbiAgICAgICAgICAgICAgICBub1Jlc3BvbnNlUmV0cmllczogMyxcbiAgICAgICAgICAgICAgICBzaG91bGRSZXRyeTogc2hvdWxkUmV0cnlSZXF1ZXN0KGNvbnNvbGUubG9nKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcHVic3ViID0gZ29vZ2xlLnB1YnN1YihcInYxXCIpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VUcmFtcG9saW5lKHdyYXBwZXI6IFdyYXBwZXIpIHtcbiAgICBhc3luYyBmdW5jdGlvbiB0cmFtcG9saW5lKGRhdGE6IFB1YnN1Yk1lc3NhZ2UsIGNvbnRleHQ6IENsb3VkRnVuY3Rpb25Db250ZXh0KSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgICAgIGF3YWl0IGluaXRpYWxpemUoKTtcblxuICAgICAgICBjb25zdCBleGVjdXRpb25JZCA9IGNvbnRleHQuZXZlbnRJZDtcbiAgICAgICAgY29uc3QgcHJvamVjdCA9IHByb2Nlc3MuZW52W1wiR0NQX1BST0pFQ1RcIl0hO1xuICAgICAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSBwcm9jZXNzLmVudltcIkZVTkNUSU9OX05BTUVcIl0hO1xuICAgICAgICBjb25zdCBsb2dVcmwgPSBnZXRFeGVjdXRpb25Mb2dVcmwocHJvamVjdCwgZnVuY3Rpb25OYW1lLCBleGVjdXRpb25JZCk7XG4gICAgICAgIGNvbnN0IHN0ciA9IEJ1ZmZlci5mcm9tKGRhdGEuZGF0YSEsIFwiYmFzZTY0XCIpO1xuICAgICAgICBjb25zdCBjYWxsOiBGdW5jdGlvbkNhbGwgPSBkZXNlcmlhbGl6ZShzdHIudG9TdHJpbmcoKSk7XG5cbiAgICAgICAgY29uc3QgY2FsbGluZ0NvbnRleHQgPSB7XG4gICAgICAgICAgICBjYWxsLFxuICAgICAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICAgICAgbG9nVXJsLFxuICAgICAgICAgICAgZXhlY3V0aW9uSWRcbiAgICAgICAgfTtcblxuICAgICAgICBhd2FpdCB3cmFwcGVyLmV4ZWN1dGUoY2FsbGluZ0NvbnRleHQsIHtcbiAgICAgICAgICAgIG9uTWVzc2FnZTogbXNnID0+IHB1Ymxpc2hSZXNwb25zZU1lc3NhZ2UocHVic3ViLCBjYWxsLlJlc3BvbnNlUXVldWVJZCEsIG1zZylcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB7IHRyYW1wb2xpbmUgfTtcbn1cbiJdfQ== |
\ | No newline at end of file |