1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.makeTrampoline = exports.filename = void 0;
|
4 | const googleapis_1 = require("googleapis");
|
5 | const google_queue_1 = require("./google-queue");
|
6 | const google_shared_1 = require("./google-shared");
|
7 | exports.filename = module.filename;
|
8 | let pubsub;
|
9 | async function initialize() {
|
10 | if (!pubsub) {
|
11 | const auth = await googleapis_1.google.auth.getClient({
|
12 | scopes: ["https://www.googleapis.com/auth/cloud-platform"]
|
13 | });
|
14 | googleapis_1.google.options({
|
15 | auth,
|
16 | retryConfig: {
|
17 | retry: 3,
|
18 | noResponseRetries: 3,
|
19 | shouldRetry: (0, google_shared_1.shouldRetryRequest)(console.log)
|
20 | }
|
21 | });
|
22 | pubsub = googleapis_1.google.pubsub("v1");
|
23 | }
|
24 | }
|
25 | function makeTrampoline(wrapper) {
|
26 | async function trampoline(request, response) {
|
27 | const startTime = Date.now();
|
28 | await initialize();
|
29 | const call = request.body;
|
30 | const executionId = request.headers["function-execution-id"];
|
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 callingContext = {
|
35 | call,
|
36 | startTime,
|
37 | logUrl,
|
38 | executionId
|
39 | };
|
40 | await wrapper.execute(callingContext, {
|
41 | onMessage: msg => (0, google_queue_1.publishResponseMessage)(pubsub, call.ResponseQueueId, msg)
|
42 | });
|
43 | response.send();
|
44 | }
|
45 | return { trampoline };
|
46 | }
|
47 | exports.makeTrampoline = makeTrampoline;
|
48 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXRyYW1wb2xpbmUtaHR0cHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ29vZ2xlL2dvb2dsZS10cmFtcG9saW5lLWh0dHBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUErQztBQUUvQyxpREFBd0Q7QUFDeEQsbURBQXlFO0FBRzVELFFBQUEsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7QUFFeEMsSUFBSSxNQUF3QixDQUFDO0FBRTdCLEtBQUssVUFBVSxVQUFVO0lBQ3JCLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDVCxNQUFNLElBQUksR0FBRyxNQUFNLG1CQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNyQyxNQUFNLEVBQUUsQ0FBQyxnREFBZ0QsQ0FBQztTQUM3RCxDQUFDLENBQUM7UUFDSCxtQkFBTSxDQUFDLE9BQU8sQ0FBQztZQUNYLElBQUk7WUFDSixXQUFXLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsaUJBQWlCLEVBQUUsQ0FBQztnQkFDcEIsV0FBVyxFQUFFLElBQUEsa0NBQWtCLEVBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUMvQztTQUNKLENBQUMsQ0FBQztRQUNILE1BQU0sR0FBRyxtQkFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNoQztBQUNMLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsT0FBZ0I7SUFDM0MsS0FBSyxVQUFVLFVBQVUsQ0FBQyxPQUFnQixFQUFFLFFBQWtCO1FBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM3QixNQUFNLFVBQVUsRUFBRSxDQUFDO1FBQ25CLE1BQU0sSUFBSSxHQUFpQixPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3hDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQVcsQ0FBQztRQUN2RSxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBRSxDQUFDO1FBQzVDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFFLENBQUM7UUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBQSxrQ0FBa0IsRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sY0FBYyxHQUFHO1lBQ25CLElBQUk7WUFDSixTQUFTO1lBQ1QsTUFBTTtZQUNOLFdBQVc7U0FDZCxDQUFDO1FBQ0YsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRTtZQUNsQyxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHFDQUFzQixFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZ0IsRUFBRSxHQUFHLENBQUM7U0FDL0UsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFDMUIsQ0FBQztBQXJCRCx3Q0FxQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXF1ZXN0LCBSZXNwb25zZSB9IGZyb20gXCJleHByZXNzXCI7XG5pbXBvcnQgeyBnb29nbGUsIHB1YnN1Yl92MSB9IGZyb20gXCJnb29nbGVhcGlzXCI7XG5pbXBvcnQgeyBGdW5jdGlvbkNhbGwsIFdyYXBwZXIgfSBmcm9tIFwiLi4vd3JhcHBlclwiO1xuaW1wb3J0IHsgcHVibGlzaFJlc3BvbnNlTWVzc2FnZSB9IGZyb20gXCIuL2dvb2dsZS1xdWV1ZVwiO1xuaW1wb3J0IHsgZ2V0RXhlY3V0aW9uTG9nVXJsLCBzaG91bGRSZXRyeVJlcXVlc3QgfSBmcm9tIFwiLi9nb29nbGUtc2hhcmVkXCI7XG5pbXBvcnQgUHViU3ViQXBpID0gcHVic3ViX3YxO1xuXG5leHBvcnQgY29uc3QgZmlsZW5hbWUgPSBtb2R1bGUuZmlsZW5hbWU7XG5cbmxldCBwdWJzdWI6IFB1YlN1YkFwaS5QdWJzdWI7XG5cbmFzeW5jIGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7XG4gICAgaWYgKCFwdWJzdWIpIHtcbiAgICAgICAgY29uc3QgYXV0aCA9IGF3YWl0IGdvb2dsZS5hdXRoLmdldENsaWVudCh7XG4gICAgICAgICAgICBzY29wZXM6IFtcImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvY2xvdWQtcGxhdGZvcm1cIl1cbiAgICAgICAgfSk7XG4gICAgICAgIGdvb2dsZS5vcHRpb25zKHtcbiAgICAgICAgICAgIGF1dGgsXG4gICAgICAgICAgICByZXRyeUNvbmZpZzoge1xuICAgICAgICAgICAgICAgIHJldHJ5OiAzLFxuICAgICAgICAgICAgICAgIG5vUmVzcG9uc2VSZXRyaWVzOiAzLFxuICAgICAgICAgICAgICAgIHNob3VsZFJldHJ5OiBzaG91bGRSZXRyeVJlcXVlc3QoY29uc29sZS5sb2cpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBwdWJzdWIgPSBnb29nbGUucHVic3ViKFwidjFcIik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZVRyYW1wb2xpbmUod3JhcHBlcjogV3JhcHBlcikge1xuICAgIGFzeW5jIGZ1bmN0aW9uIHRyYW1wb2xpbmUocmVxdWVzdDogUmVxdWVzdCwgcmVzcG9uc2U6IFJlc3BvbnNlKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgICAgIGF3YWl0IGluaXRpYWxpemUoKTtcbiAgICAgICAgY29uc3QgY2FsbDogRnVuY3Rpb25DYWxsID0gcmVxdWVzdC5ib2R5O1xuICAgICAgICBjb25zdCBleGVjdXRpb25JZCA9IHJlcXVlc3QuaGVhZGVyc1tcImZ1bmN0aW9uLWV4ZWN1dGlvbi1pZFwiXSBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IHByb2plY3QgPSBwcm9jZXNzLmVudltcIkdDUF9QUk9KRUNUXCJdITtcbiAgICAgICAgY29uc3QgZnVuY3Rpb25OYW1lID0gcHJvY2Vzcy5lbnZbXCJGVU5DVElPTl9OQU1FXCJdITtcbiAgICAgICAgY29uc3QgbG9nVXJsID0gZ2V0RXhlY3V0aW9uTG9nVXJsKHByb2plY3QsIGZ1bmN0aW9uTmFtZSwgZXhlY3V0aW9uSWQpO1xuICAgICAgICBjb25zdCBjYWxsaW5nQ29udGV4dCA9IHtcbiAgICAgICAgICAgIGNhbGwsXG4gICAgICAgICAgICBzdGFydFRpbWUsXG4gICAgICAgICAgICBsb2dVcmwsXG4gICAgICAgICAgICBleGVjdXRpb25JZFxuICAgICAgICB9O1xuICAgICAgICBhd2FpdCB3cmFwcGVyLmV4ZWN1dGUoY2FsbGluZ0NvbnRleHQsIHtcbiAgICAgICAgICAgIG9uTWVzc2FnZTogbXNnID0+IHB1Ymxpc2hSZXNwb25zZU1lc3NhZ2UocHVic3ViLCBjYWxsLlJlc3BvbnNlUXVldWVJZCEsIG1zZylcbiAgICAgICAgfSk7XG4gICAgICAgIHJlc3BvbnNlLnNlbmQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgdHJhbXBvbGluZSB9O1xufVxuIl19 |
\ | No newline at end of file |