@trunkrs/common 1.9.5 → 1.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trunkrs/common",
3
- "version": "1.9.5",
3
+ "version": "1.9.8",
4
4
  "description": "Common standards library for development in Trunkrs",
5
5
  "types": "./index.d.ts",
6
6
  "repository": "https://github.com/Trunkrs/common.git",
@@ -84,13 +84,12 @@ class HttpHandlerBuilder {
84
84
  try {
85
85
  const convertedEvent = await this.proxyEventToActionInput(event);
86
86
  const [method, route] = this.extractActionInfo(event);
87
- tracing_1.default.prepare(`[${method}]: ${route}`);
88
87
  const result = await HttpControllerFactory_1.default.executeAction(method, route, convertedEvent);
89
88
  if (!result) {
90
89
  return this.formatSuccessResult(204);
91
90
  }
92
- const { statusCode, body } = result;
93
- return this.formatSuccessResult(statusCode, body);
91
+ const { statusCode, body, headers } = result;
92
+ return this.formatSuccessResult(statusCode, headers, body);
94
93
  }
95
94
  catch (error) {
96
95
  return this.formatErrorResult(error);
@@ -145,12 +144,13 @@ class HttpHandlerBuilder {
145
144
  }
146
145
  return context;
147
146
  }
148
- formatSuccessResult(statusCode, body) {
147
+ formatSuccessResult(statusCode, headers, body) {
149
148
  switch (typeof body) {
150
149
  case 'object':
151
150
  if (body instanceof Buffer) {
152
151
  return {
153
152
  statusCode,
153
+ headers: headers !== null && headers !== void 0 ? headers : {},
154
154
  body: body.toString('base64'),
155
155
  isBase64Encoded: true,
156
156
  };
@@ -159,12 +159,14 @@ class HttpHandlerBuilder {
159
159
  statusCode,
160
160
  body: this.serializer.serialize(body, 'string'),
161
161
  headers: {
162
+ ...(headers !== null && headers !== void 0 ? headers : {}),
162
163
  'Content-Type': 'application/json',
163
164
  },
164
165
  };
165
166
  case 'string':
166
167
  return {
167
168
  isBase64Encoded: true,
169
+ headers: headers !== null && headers !== void 0 ? headers : {},
168
170
  body,
169
171
  statusCode,
170
172
  };
@@ -173,11 +175,13 @@ class HttpHandlerBuilder {
173
175
  case 'boolean':
174
176
  return {
175
177
  statusCode,
178
+ headers: headers !== null && headers !== void 0 ? headers : {},
176
179
  body: String(body),
177
180
  };
178
181
  default:
179
182
  return {
180
183
  statusCode,
184
+ headers: headers !== null && headers !== void 0 ? headers : {},
181
185
  };
182
186
  }
183
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../utils/handlers/HttpHandlerBuilder/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../utils/handlers/HttpHandlerBuilder/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,9 @@ export interface HTTPReply {
9
9
  export interface HTTPResult<TBody = unknown> {
10
10
  statusCode: number;
11
11
  body?: TBody;
12
+ headers?: {
13
+ [key: string]: string;
14
+ };
12
15
  }
13
16
  export interface HTTPEvent<TContext = unknown, TInput = unknown> {
14
17
  headers: NodeJS.Dict<string>;
package/utils/tracing.js CHANGED
@@ -1,28 +1,9 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
22
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
4
  };
24
5
  Object.defineProperty(exports, "__esModule", { value: true });
25
- const aws_xray_sdk_1 = __importStar(require("aws-xray-sdk"));
6
+ const aws_xray_sdk_1 = __importDefault(require("aws-xray-sdk"));
26
7
  const aws_xray_sdk_core_1 = __importDefault(require("aws-xray-sdk-core"));
27
8
  class Tracing {
28
9
  static asyncMethod(className, name) {
@@ -52,63 +33,50 @@ class Tracing {
52
33
  }
53
34
  }
54
35
  static async hookRequestCycle(request, actionExecutor) {
55
- const headers = {
56
- ...Object.keys(request.headers).reduce((newHeaders, headerName) => Object.assign(newHeaders, {
57
- [headerName.toLowerCase()]: request.headers[headerName],
58
- }), {}),
59
- host: request.requestContext.domainName,
60
- };
36
+ Tracing.prepare();
61
37
  const mimickedRequest = {
62
- headers,
38
+ headers: {
39
+ ...Object.keys(request.headers).reduce((newHeaders, headerName) => Object.assign(newHeaders, {
40
+ [headerName.toLowerCase()]: request.headers[headerName],
41
+ }), {}),
42
+ host: request.requestContext.domainName,
43
+ },
63
44
  method: request.requestContext.http.method,
64
45
  url: request.rawPath,
65
46
  connection: {
66
47
  secure: true,
67
48
  },
68
49
  };
69
- console.info('[Tracing]: Created mimicked request', JSON.stringify(mimickedRequest));
70
- const tracingHeader = aws_xray_sdk_core_1.default.middleware.processHeaders({ headers });
71
- console.info('[Tracing]: Established xray header value', tracingHeader);
72
- const name = aws_xray_sdk_core_1.default.middleware.resolveName(headers.host);
73
- console.info('[Tracing]: Established handler name', name);
74
- const segment = new aws_xray_sdk_1.Segment(name, tracingHeader.root, tracingHeader.parent);
75
- console.info('[Tracing]: Created new segment', segment);
76
- const combinedRequest = {
77
- header: {},
78
- req: mimickedRequest,
79
- };
80
- aws_xray_sdk_core_1.default.middleware.resolveSampling(tracingHeader, segment, combinedRequest);
81
- console.info('[Tracing]: Resolved sampling & created request data', new aws_xray_sdk_core_1.default.middleware.IncomingRequestData(mimickedRequest));
82
- segment.addIncomingRequestData(new aws_xray_sdk_core_1.default.middleware.IncomingRequestData(mimickedRequest));
83
- console.info('[Tracing]: Starting action execution.');
84
- try {
85
- const response = (await actionExecutor());
86
- console.info('[Tracing]: Action execution done. Processing result', response);
87
- if (response.statusCode === 429) {
88
- segment.addThrottleFlag();
50
+ return aws_xray_sdk_1.default.captureAsyncFunc(`${mimickedRequest.method} ${mimickedRequest.url}`, async (subsegment) => {
51
+ try {
52
+ subsegment.http = new aws_xray_sdk_core_1.default.middleware.IncomingRequestData(mimickedRequest);
53
+ const response = (await actionExecutor());
54
+ if (!subsegment) {
55
+ console.info('[Tracing]: No segment to process.');
56
+ return response;
57
+ }
58
+ if (response.statusCode === 429) {
59
+ subsegment.addThrottleFlag();
60
+ }
61
+ const cause = aws_xray_sdk_core_1.default.utils.getCauseTypeFromHttpStatus(response.statusCode);
62
+ if (response.statusCode === 429)
63
+ subsegment.addThrottleFlag();
64
+ if (cause === 'error')
65
+ subsegment.addErrorFlag();
66
+ if (cause === 'fault')
67
+ subsegment.addFaultFlag();
68
+ subsegment.http.close(response);
69
+ subsegment.close();
70
+ console.info('[Tracing]: Segment processed successfully.');
71
+ return response;
89
72
  }
90
- const cause = aws_xray_sdk_core_1.default.utils.getCauseTypeFromHttpStatus(response.statusCode);
91
- if (response.statusCode === 429)
92
- segment.addThrottleFlag();
93
- if (cause === 'error')
94
- segment.addErrorFlag();
95
- if (cause === 'fault')
96
- segment.addFaultFlag();
97
- segment.http.close(response);
98
- segment.close();
99
- console.info('[Tracing]: Segment processed successfully.');
100
- return {
101
- ...response,
102
- headers: {
103
- ...response.headers,
104
- ...combinedRequest.header,
105
- },
106
- };
107
- }
108
- catch (error) {
109
- segment.close(error);
110
- throw error;
111
- }
73
+ catch (error) {
74
+ if (subsegment) {
75
+ subsegment.close(error);
76
+ }
77
+ throw error;
78
+ }
79
+ });
112
80
  }
113
81
  static addSegment(name, parent) {
114
82
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../utils/tracing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../utils/tracing.ts"],"names":[],"mappings":"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"}