@konker.dev/middleware-fp 0.0.5 → 0.0.7

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.
@@ -0,0 +1,10 @@
1
+ import * as P from '@konker.dev/effect-ts-prelude';
2
+ import type { APIGatewayProxyEventV2 } from 'aws-lambda';
3
+ import type { Handler } from '../../index';
4
+ import { HttpApiError } from '../../lib/HttpApiError';
5
+ export type HeaderSignatureAuthorizerDeps = {
6
+ readonly secret: string;
7
+ readonly signatureHeaderName: string;
8
+ };
9
+ export declare const HeaderSignatureAuthorizerDeps: P.Context.Tag<HeaderSignatureAuthorizerDeps, HeaderSignatureAuthorizerDeps>;
10
+ export declare const middleware: () => <I extends APIGatewayProxyEventV2, O, E, R>(wrapped: Handler<I, O, E, R>) => Handler<I, O, E | HttpApiError, R | HeaderSignatureAuthorizerDeps>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.middleware = exports.HeaderSignatureAuthorizerDeps = void 0;
27
+ const P = __importStar(require("@konker.dev/effect-ts-prelude"));
28
+ const HttpApiError_1 = require("../../lib/HttpApiError");
29
+ const lib_1 = require("./lib");
30
+ const TAG = 'headerSignatureAuthorizer';
31
+ exports.HeaderSignatureAuthorizerDeps = P.Context.GenericTag('HeaderSignatureAuthorizerDeps');
32
+ // --------------------------------------------------------------------------
33
+ const middleware = () => (wrapped) => (i) => {
34
+ return P.pipe(exports.HeaderSignatureAuthorizerDeps, P.Effect.tap(P.Effect.logDebug(`[${TAG}] IN`)), P.Effect.flatMap(({ secret, signatureHeaderName }) => P.Effect.if((0, lib_1.validateHeaderSignature)(i.headers[signatureHeaderName], i.body, secret), {
35
+ onTrue: () => P.Effect.succeed(i),
36
+ onFalse: () => P.Effect.fail((0, HttpApiError_1.HttpApiError)('UnauthorizedError', 'Invalid signature', 401)),
37
+ })), P.Effect.tapError((_) => P.Effect.logError(`UnauthorizedError: Invalid signature: ${i.body}`)), P.Effect.flatMap(wrapped), P.Effect.tap(P.Effect.logDebug(`[${TAG}] OUT`)));
38
+ };
39
+ exports.middleware = middleware;
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contrib/headerSignatureAuthorizer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAKnD,yDAAsD;AACtD,+BAAgD;AAEhD,MAAM,GAAG,GAAG,2BAA2B,CAAC;AAO3B,QAAA,6BAA6B,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAC/D,+BAA+B,CAChC,CAAC;AAEF,6EAA6E;AACtE,MAAM,UAAU,GACrB,GAAG,EAAE,CACL,CACE,OAA4B,EACwC,EAAE,CACxE,CAAC,CAAI,EAAE,EAAE;IACP,OAAO,CAAC,CAAC,IAAI,CACX,qCAA6B,EAC7B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,EAAE,CACnD,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAA,6BAAuB,EAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;QACpF,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACjC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,2BAAY,EAAC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;KAC1F,CAAC,CACH,EACD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAC9F,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAChD,CAAC;AACJ,CAAC,CAAC;AAnBS,QAAA,UAAU,cAmBnB"}
@@ -0,0 +1,8 @@
1
+ import * as P from '@konker.dev/effect-ts-prelude';
2
+ import * as unit from './index';
3
+ export declare const CORRECT_TEST_HMAC_VALUE = "test-hmac-value";
4
+ export declare const INCORRECT_TEST_HMAC_VALUE = "wrong-hmac-value";
5
+ export declare const TEST_SIGNATURE_HEADER_NAME = "x-test-signature";
6
+ export declare const TEST_SECRET = "test-secret";
7
+ export declare const HEADER_SIGNATURE_AUTHORIZER_TEST_DEPS: unit.HeaderSignatureAuthorizerDeps;
8
+ export declare const mockHeaderSignatureAuthorizerDeps: <A, E, R>(self: P.Effect.Effect<A, E, R>) => P.Effect.Effect<A, E, Exclude<R, unit.HeaderSignatureAuthorizerDeps>>;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.mockHeaderSignatureAuthorizerDeps = exports.HEADER_SIGNATURE_AUTHORIZER_TEST_DEPS = exports.TEST_SECRET = exports.TEST_SIGNATURE_HEADER_NAME = exports.INCORRECT_TEST_HMAC_VALUE = exports.CORRECT_TEST_HMAC_VALUE = void 0;
27
+ const P = __importStar(require("@konker.dev/effect-ts-prelude"));
28
+ const utils = __importStar(require("@konker.dev/tiny-utils-fp"));
29
+ const test_common_1 = require("../../test/test-common");
30
+ const unit = __importStar(require("./index"));
31
+ const index_1 = require("./index");
32
+ exports.CORRECT_TEST_HMAC_VALUE = 'test-hmac-value';
33
+ exports.INCORRECT_TEST_HMAC_VALUE = 'wrong-hmac-value';
34
+ exports.TEST_SIGNATURE_HEADER_NAME = 'x-test-signature';
35
+ exports.TEST_SECRET = 'test-secret';
36
+ exports.HEADER_SIGNATURE_AUTHORIZER_TEST_DEPS = unit.HeaderSignatureAuthorizerDeps.of({
37
+ secret: exports.TEST_SECRET,
38
+ signatureHeaderName: exports.TEST_SIGNATURE_HEADER_NAME,
39
+ });
40
+ exports.mockHeaderSignatureAuthorizerDeps = P.Effect.provideService(index_1.HeaderSignatureAuthorizerDeps, exports.HEADER_SIGNATURE_AUTHORIZER_TEST_DEPS);
41
+ const TEST_IN_1 = {
42
+ isBase64Encoded: false,
43
+ requestContext: {},
44
+ body: 'TEST_BODY',
45
+ headers: {
46
+ [exports.TEST_SIGNATURE_HEADER_NAME]: exports.CORRECT_TEST_HMAC_VALUE,
47
+ },
48
+ };
49
+ const TEST_IN_2 = {
50
+ isBase64Encoded: false,
51
+ requestContext: {},
52
+ body: 'TEST_BODY',
53
+ headers: {
54
+ [exports.TEST_SIGNATURE_HEADER_NAME]: exports.INCORRECT_TEST_HMAC_VALUE,
55
+ },
56
+ };
57
+ describe('middleware/header-signature-authorizer', () => {
58
+ let errorSpy;
59
+ beforeEach(() => {
60
+ jest.spyOn(utils, 'sha256HmacHex').mockReturnValue(P.Effect.succeed(exports.CORRECT_TEST_HMAC_VALUE));
61
+ jest.spyOn(P.Effect, 'logDebug').mockReturnValue(P.Effect.succeed(undefined));
62
+ errorSpy = jest.spyOn(P.Effect, 'logError').mockReturnValue(P.Effect.succeed(undefined));
63
+ });
64
+ afterEach(() => {
65
+ jest.restoreAllMocks();
66
+ });
67
+ test('it should work as expected in an success case', async () => {
68
+ const egHandler = P.pipe(test_common_1.http200CoreIn, unit.middleware());
69
+ const result = await P.pipe(egHandler(TEST_IN_1), exports.mockHeaderSignatureAuthorizerDeps, P.Effect.runPromise);
70
+ expect(result).toStrictEqual({
71
+ statusCode: 200,
72
+ headers: {
73
+ QUX: 'qux_value',
74
+ },
75
+ body: JSON.stringify({ result: 'OK' }),
76
+ isBase64Encoded: false,
77
+ });
78
+ expect(errorSpy).toHaveBeenCalledTimes(0);
79
+ });
80
+ test('it should work as expected in an error case', async () => {
81
+ const egHandler = P.pipe(test_common_1.http200CoreIn, unit.middleware());
82
+ const result = P.pipe(egHandler(TEST_IN_2), exports.mockHeaderSignatureAuthorizerDeps, P.Effect.runPromise);
83
+ await expect(() => result).rejects.toThrow('Invalid signature');
84
+ expect(errorSpy).toHaveBeenCalledTimes(1);
85
+ });
86
+ });
87
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/contrib/headerSignatureAuthorizer/index.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import * as P from '@konker.dev/effect-ts-prelude';
2
+ import type { HttpApiError } from '../../lib/HttpApiError';
3
+ export declare function validateHeaderSignature(signature: string, requestRawBody: unknown, secret: string): P.Effect.Effect<boolean, HttpApiError>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.validateHeaderSignature = validateHeaderSignature;
27
+ const P = __importStar(require("@konker.dev/effect-ts-prelude"));
28
+ const tiny_utils_fp_1 = require("@konker.dev/tiny-utils-fp");
29
+ const HttpApiError_1 = require("../../lib/HttpApiError");
30
+ function validateHeaderSignature(signature, requestRawBody, secret) {
31
+ return P.pipe((0, tiny_utils_fp_1.sha256HmacHex)(String(requestRawBody), secret), P.Effect.flatMap((calculatedHmac) => P.Effect.succeed(calculatedHmac === signature)), P.Effect.mapError(HttpApiError_1.toHttpApiError));
32
+ }
33
+ //# sourceMappingURL=lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/contrib/headerSignatureAuthorizer/lib.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,0DAUC;AAjBD,iEAAmD;AAEnD,6DAA0D;AAG1D,yDAAwD;AAExD,SAAgB,uBAAuB,CACrC,SAAiB,EACjB,cAAuB,EACvB,MAAc;IAEd,OAAO,CAAC,CAAC,IAAI,CACX,IAAA,6BAAa,EAAC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,EAC7C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,EACpF,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAAc,CAAC,CAClC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const CORRECT_TEST_HMAC_VALUE = "test-hmac-value";
2
+ export declare const INCORRECT_TEST_HMAC_VALUE = "wrong-hmac-value";
3
+ export declare const TEST_BODY = "test-body";
4
+ export declare const TEST_SECRET = "test-secret";
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.TEST_SECRET = exports.TEST_BODY = exports.INCORRECT_TEST_HMAC_VALUE = exports.CORRECT_TEST_HMAC_VALUE = void 0;
27
+ const P = __importStar(require("@konker.dev/effect-ts-prelude"));
28
+ const utils = __importStar(require("@konker.dev/tiny-utils-fp"));
29
+ const unit = __importStar(require("./lib"));
30
+ exports.CORRECT_TEST_HMAC_VALUE = 'test-hmac-value';
31
+ exports.INCORRECT_TEST_HMAC_VALUE = 'wrong-hmac-value';
32
+ exports.TEST_BODY = 'test-body';
33
+ exports.TEST_SECRET = 'test-secret';
34
+ describe('middleware/header-signature-authorizer/lib', () => {
35
+ beforeEach(() => {
36
+ jest.spyOn(utils, 'sha256HmacHex').mockReturnValue(P.Effect.succeed(exports.CORRECT_TEST_HMAC_VALUE));
37
+ jest.spyOn(P.Effect, 'logDebug').mockReturnValue(P.Effect.succeed(undefined));
38
+ });
39
+ afterEach(() => {
40
+ jest.restoreAllMocks();
41
+ });
42
+ test('it should work as expected in an success case', async () => {
43
+ const result = await P.pipe(unit.validateHeaderSignature(exports.CORRECT_TEST_HMAC_VALUE, exports.TEST_BODY, exports.TEST_SECRET), P.Effect.runPromise);
44
+ expect(result).toStrictEqual(true);
45
+ });
46
+ test('it should work as expected in an error case', async () => {
47
+ const result = await P.pipe(unit.validateHeaderSignature(exports.INCORRECT_TEST_HMAC_VALUE, exports.TEST_BODY, exports.TEST_SECRET), P.Effect.runPromise);
48
+ expect(result).toStrictEqual(false);
49
+ });
50
+ });
51
+ //# sourceMappingURL=lib.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.test.js","sourceRoot":"","sources":["../../../src/contrib/headerSignatureAuthorizer/lib.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAmD;AAEnD,iEAAmD;AAEnD,4CAA8B;AAEjB,QAAA,uBAAuB,GAAG,iBAAiB,CAAC;AAC5C,QAAA,yBAAyB,GAAG,kBAAkB,CAAC;AAC/C,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,WAAW,GAAG,aAAa,CAAC;AAEzC,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IAC1D,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,+BAAuB,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CACzB,IAAI,CAAC,uBAAuB,CAAC,+BAAuB,EAAE,iBAAS,EAAE,mBAAW,CAAC,EAC7E,CAAC,CAAC,MAAM,CAAC,UAAU,CACpB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,CACzB,IAAI,CAAC,uBAAuB,CAAC,iCAAyB,EAAE,iBAAS,EAAE,mBAAW,CAAC,EAC/E,CAAC,CAAC,MAAM,CAAC,UAAU,CACpB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -6,6 +6,7 @@ export * as cacheInMemory from './cacheInMemory';
6
6
  export * as cacheMomento from './cacheMomento';
7
7
  export * as dynamodbDocClientInit from './dynamodbDocClientInit';
8
8
  export * as envValidator from './envValidator';
9
+ export * as headerSignatureAuthorizer from './headerSignatureAuthorizer';
9
10
  export * as headersNormalizer from './headersNormalizer';
10
11
  export * as headersValidator from './headersValidator';
11
12
  export * as helmetJsHeaders from './helmetJsHeaders';
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.trivial = exports.requestResponseLogger = exports.queryStringValidator = exports.pathTokenAuthorizer = exports.pathParametersValidator = exports.momentoClientInit = exports.jsonBodyParser = exports.identity = exports.helmetJsHeaders = exports.headersValidator = exports.headersNormalizer = exports.envValidator = exports.dynamodbDocClientInit = exports.cacheMomento = exports.cacheInMemory = exports.bodyValidator = exports.base64BodyDecoder = exports.awsAuthorizerProcessor = exports.awsApiGatewayProcessor = void 0;
26
+ exports.trivial = exports.requestResponseLogger = exports.queryStringValidator = exports.pathTokenAuthorizer = exports.pathParametersValidator = exports.momentoClientInit = exports.jsonBodyParser = exports.identity = exports.helmetJsHeaders = exports.headersValidator = exports.headersNormalizer = exports.headerSignatureAuthorizer = exports.envValidator = exports.dynamodbDocClientInit = exports.cacheMomento = exports.cacheInMemory = exports.bodyValidator = exports.base64BodyDecoder = exports.awsAuthorizerProcessor = exports.awsApiGatewayProcessor = void 0;
27
27
  exports.awsApiGatewayProcessor = __importStar(require("./awsApiGatewayProcessor"));
28
28
  exports.awsAuthorizerProcessor = __importStar(require("./awsAuthorizerProcessor"));
29
29
  exports.base64BodyDecoder = __importStar(require("./base64BodyDecoder"));
@@ -32,6 +32,7 @@ exports.cacheInMemory = __importStar(require("./cacheInMemory"));
32
32
  exports.cacheMomento = __importStar(require("./cacheMomento"));
33
33
  exports.dynamodbDocClientInit = __importStar(require("./dynamodbDocClientInit"));
34
34
  exports.envValidator = __importStar(require("./envValidator"));
35
+ exports.headerSignatureAuthorizer = __importStar(require("./headerSignatureAuthorizer"));
35
36
  exports.headersNormalizer = __importStar(require("./headersNormalizer"));
36
37
  exports.headersValidator = __importStar(require("./headersValidator"));
37
38
  exports.helmetJsHeaders = __importStar(require("./helmetJsHeaders"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contrib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAAmE;AACnE,mFAAmE;AACnE,yEAAyD;AACzD,iEAAiD;AACjD,iEAAiD;AACjD,+DAA+C;AAC/C,iFAAiE;AACjE,+DAA+C;AAC/C,yEAAyD;AACzD,uEAAuD;AACvD,qEAAqD;AACrD,uDAAuC;AACvC,mEAAmD;AACnD,yEAAyD;AACzD,qFAAqE;AACrE,6EAA6D;AAC7D,+EAA+D;AAC/D,iFAAiE;AACjE,qDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contrib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAAmE;AACnE,mFAAmE;AACnE,yEAAyD;AACzD,iEAAiD;AACjD,iEAAiD;AACjD,+DAA+C;AAC/C,iFAAiE;AACjE,+DAA+C;AAC/C,yFAAyE;AACzE,yEAAyD;AACzD,uEAAuD;AACvD,qEAAqD;AACrD,uDAAuC;AACvC,mEAAmD;AACnD,yEAAyD;AACzD,qFAAqE;AACrE,6EAA6D;AAC7D,+EAA+D;AAC/D,iFAAiE;AACjE,qDAAqC"}
@@ -100,7 +100,7 @@ describe('unit tests', () => {
100
100
  isBase64Encoded: false,
101
101
  // stageVariables?: {},
102
102
  });
103
- await expect(P.Effect.runPromise(P.pipe(actual1, aws_client_effect_dynamodb_1.defaultDynamoDBDocClientFactoryDeps, (0, test_1.mockMomentoClientFactoryDeps)(__cache), index_test_1.mockPathTokenAuthorizerDeps))).resolves.toStrictEqual({
103
+ await expect(P.Effect.runPromise(P.pipe(actual1, aws_client_effect_dynamodb_1.defaultDynamoDBDocumentClientFactoryDeps, (0, test_1.mockMomentoClientFactoryDeps)(__cache), index_test_1.mockPathTokenAuthorizerDeps))).resolves.toStrictEqual({
104
104
  statusCode: 200,
105
105
  headers: {
106
106
  'Content-Type': 'application/json; charset=UTF-8',
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/test/unit/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/test/unit/index.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@konker.dev/middleware-fp",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "author": "Konrad Markus <mail@konker.dev>",
5
5
  "description": "Type safe middleware system based on Effect-ts",
6
6
  "license": "ISC",
@@ -20,9 +20,9 @@
20
20
  "effect-ts"
21
21
  ],
22
22
  "peerDependencies": {
23
- "@gomomento/sdk": "^1.95.0",
24
23
  "@aws-sdk/client-dynamodb": "^3.635.0",
25
- "@konker.dev/aws-client-effect-dynamodb": "^0.0.3",
24
+ "@gomomento/sdk": "^1.95.0",
25
+ "@konker.dev/aws-client-effect-dynamodb": "^0.0.5",
26
26
  "@konker.dev/momento-cache-client-effect": "^0.0.7",
27
27
  "@konker.dev/tiny-auth-utils-fp": "^0.0.2",
28
28
  "aws-lambda": "^1.0.7"
@@ -32,6 +32,7 @@
32
32
  "@konker.dev/effect-ts-prelude": "^0.0.16",
33
33
  "@konker.dev/tiny-cache-fp": "^0.0.5",
34
34
  "@konker.dev/tiny-error-fp": "^0.0.7",
35
+ "@konker.dev/tiny-utils-fp": "^0.0.1",
35
36
  "effect": "^3.5.6",
36
37
  "lesslog": "^0.2.7"
37
38
  },