@spytecgps/lambda-utils 2.3.12 → 2.3.14

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/dist/index.js CHANGED
@@ -5,6 +5,7 @@ var dayjs = require('dayjs');
5
5
  var timezone = require('dayjs/plugin/timezone');
6
6
  var utc = require('dayjs/plugin/utc');
7
7
  var Joi = require('joi');
8
+ var qs = require('qs');
8
9
  var rawMiddy = require('@middy/core');
9
10
  var httpErrorHandler = require('@middy/http-error-handler');
10
11
  var httpResponseSerializer = require('@middy/http-response-serializer');
@@ -31,16 +32,7 @@ function _interopNamespaceDefault(e) {
31
32
  }
32
33
 
33
34
  var Joi__namespace = /*#__PURE__*/_interopNamespaceDefault(Joi);
34
-
35
- var stringify = require('./stringify');
36
- var parse = require('./parse');
37
- var formats = require('./formats');
38
-
39
- module.exports = {
40
- formats: formats,
41
- parse: parse,
42
- stringify: stringify
43
- };
35
+ var qs__namespace = /*#__PURE__*/_interopNamespaceDefault(qs);
44
36
 
45
37
  dayjs.extend(utc);
46
38
  dayjs.extend(timezone);
@@ -72,7 +64,7 @@ const urlEncoded = Joi__namespace.extend((joi) => {
72
64
  type: 'object',
73
65
  base: joi.object(),
74
66
  coerce(value) {
75
- return { value: undefined(value) };
67
+ return { value: qs__namespace.parse(value) };
76
68
  },
77
69
  };
78
70
  });
@@ -94,7 +86,7 @@ const SpytecJoi = Joi__namespace.extend((joi) => ({
94
86
  type: 'urlEncodedObject',
95
87
  base: joi.object(),
96
88
  coerce(value) {
97
- return { value: undefined(value) };
89
+ return { value: qs__namespace.parse(value) };
98
90
  },
99
91
  }), (joi) => ({
100
92
  type: 'jsonObject',
@@ -489,6 +481,16 @@ const ioLoggerMiddleware = inputOutputLogger({
489
481
  },
490
482
  });
491
483
 
484
+ const normalizerMiddleware = () => {
485
+ return {
486
+ before: async (request) => {
487
+ const event = request.event;
488
+ event.queryStringParameters = event.queryStringParameters || {};
489
+ event.pathParameters = event.pathParameters || {};
490
+ },
491
+ };
492
+ };
493
+
492
494
  const offlineAuthMiddleware = ({ authFunctionName = 'spytec-web-api-auth-prod-AuthorizerFunction', enabled = !!process.env.IS_OFFLINE, } = {}) => {
493
495
  const lambdaClient = new clientLambda.LambdaClient({ region: process.env.AWS_REGION });
494
496
  return {
@@ -607,6 +609,7 @@ const apiGatewayMiddlewares = [
607
609
  }),
608
610
  responseWrapperMiddleware(),
609
611
  offlineAuthMiddleware(),
612
+ normalizerMiddleware(),
610
613
  ];
611
614
  const middy = (handler) => rawMiddy(handler).use([...baseMiddlewares]);
612
615
  const apiGatewayMiddy = (handler) => rawMiddy(handler).use([...baseMiddlewares, ...apiGatewayMiddlewares]);
@@ -0,0 +1,2 @@
1
+ import { logger, withRequest } from '@spytecgps/sdk-logger';
2
+ export { logger, withRequest };
@@ -0,0 +1,3 @@
1
+ export declare const normalizerMiddleware: () => {
2
+ before: (request: any) => Promise<void>;
3
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/lambda-utils",
3
- "version": "2.3.12",
3
+ "version": "2.3.14",
4
4
  "description": "Lambda Utils",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -71,4 +71,4 @@
71
71
  "files": [
72
72
  "dist/**/*"
73
73
  ]
74
- }
74
+ }