@pikku/lambda 0.6.5 → 0.6.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  ## 0.6.1
2
2
 
3
+ ## 0.6.6
4
+
5
+ ### Patch Changes
6
+
7
+ - ee5c874: feat: moving towards using middleware for http and channels
8
+ - Updated dependencies [c1d8381]
9
+ - Updated dependencies [ee5c874]
10
+ - @pikku/core@0.6.14
11
+
3
12
  ## 0.6.5
4
13
 
5
14
  ### Patch Changes
@@ -1,13 +1,13 @@
1
1
  import { runHTTPRoute } from '@pikku/core/http';
2
2
  export const generalHTTPHandler = async (singletonServices, createSessionServices, request, response) => {
3
- if (request.getMethod() === 'options') {
3
+ if (request.method === 'options') {
4
4
  response.setHeader('Access-Control-Allow-Headers', 'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent');
5
5
  response.setHeader('Access-Control-Allow-Methods', 'OPTIONS,DELETE,GET,HEAD,PATCH,POST,PUT');
6
6
  response.setStatus(200);
7
7
  response.setJson({});
8
8
  return response.getLambdaResponse();
9
9
  }
10
- if (request.getPath().includes('health-check')) {
10
+ if (request.path.includes('health-check')) {
11
11
  response.setStatus(200);
12
12
  return response.getLambdaResponse();
13
13
  }
@@ -17,8 +17,8 @@ export const generalHTTPHandler = async (singletonServices, createSessionService
17
17
  response,
18
18
  singletonServices,
19
19
  createSessionServices: createSessionServices,
20
- route: request.getPath(),
21
- method: request.getMethod(),
20
+ route: request.path,
21
+ method: request.method,
22
22
  });
23
23
  }
24
24
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"general-http-handler.js","sourceRoot":"","sources":["../../src/http/general-http-handler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAK/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAKrC,iBAAoC,EACpC,qBAIC,EACD,OAAqC,EACrC,QAAuC,EACP,EAAE;IAClC,IAAI,OAAO,CAAC,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC;QACtC,QAAQ,CAAC,SAAS,CAChB,8BAA8B,EAC9B,uFAAuF,CACxF,CAAA;QACD,QAAQ,CAAC,SAAS,CAChB,8BAA8B,EAC9B,wCAAwC,CACzC,CAAA;QACD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACpB,OAAO,QAAQ,CAAC,iBAAiB,EAAE,CAAA;IACrC,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/C,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACvB,OAAO,QAAQ,CAAC,iBAAiB,EAAE,CAAA;IACrC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,CAAC;YACjB,OAAO;YACP,QAAQ;YACR,iBAAiB;YACjB,qBAAqB,EAAE,qBAA4B;YACnD,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE;YACxB,MAAM,EAAE,OAAO,CAAC,SAAS,EAAS;SACnC,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,QAAQ,CAAC,iBAAiB,EAAE,CAAA;AACrC,CAAC,CAAA"}
1
+ {"version":3,"file":"general-http-handler.js","sourceRoot":"","sources":["../../src/http/general-http-handler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAK/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAKrC,iBAAoC,EACpC,qBAIC,EACD,OAAqC,EACrC,QAAuC,EACP,EAAE;IAClC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,QAAQ,CAAC,SAAS,CAChB,8BAA8B,EAC9B,uFAAuF,CACxF,CAAA;QACD,QAAQ,CAAC,SAAS,CAChB,8BAA8B,EAC9B,wCAAwC,CACzC,CAAA;QACD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACpB,OAAO,QAAQ,CAAC,iBAAiB,EAAE,CAAA;IACrC,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC1C,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACvB,OAAO,QAAQ,CAAC,iBAAiB,EAAE,CAAA;IACrC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,CAAC;YACjB,OAAO;YACP,QAAQ;YACR,iBAAiB;YACjB,qBAAqB,EAAE,qBAA4B;YACnD,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,QAAQ,CAAC,iBAAiB,EAAE,CAAA;AACrC,CAAC,CAAA"}
@@ -1,11 +1,9 @@
1
1
  import type { APIGatewayProxyEvent } from 'aws-lambda';
2
- import type { HTTPMethod, PikkuQuery } from '@pikku/core/http';
2
+ import type { PikkuQuery } from '@pikku/core/http';
3
3
  import { PikkuHTTPAbstractRequest } from '@pikku/core/http/pikku-http-abstract-request';
4
4
  export declare class PikkuAPIGatewayLambdaRequest extends PikkuHTTPAbstractRequest {
5
5
  protected event: APIGatewayProxyEvent;
6
6
  constructor(event: APIGatewayProxyEvent);
7
- getPath(): string;
8
- getMethod(): HTTPMethod;
9
7
  getBody(): Promise<string | null>;
10
8
  getHeader(headerName: string): string | undefined;
11
9
  getQuery(): PikkuQuery;
@@ -2,15 +2,9 @@ import { PikkuHTTPAbstractRequest } from '@pikku/core/http/pikku-http-abstract-r
2
2
  export class PikkuAPIGatewayLambdaRequest extends PikkuHTTPAbstractRequest {
3
3
  event;
4
4
  constructor(event) {
5
- super();
5
+ super(event.path || '/', event.httpMethod.toLowerCase());
6
6
  this.event = event;
7
7
  }
8
- getPath() {
9
- return this.event.path || '/';
10
- }
11
- getMethod() {
12
- return this.event.httpMethod.toLowerCase();
13
- }
14
8
  async getBody() {
15
9
  return this.event.body;
16
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pikku-api-gateway-lambda-request.js","sourceRoot":"","sources":["../src/pikku-api-gateway-lambda-request.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AAEvF,MAAM,OAAO,4BAA6B,SAAQ,wBAAwB;IAClD;IAAtB,YAAsB,KAA2B;QAC/C,KAAK,EAAE,CAAA;QADa,UAAK,GAAL,KAAK,CAAsB;IAEjD,CAAC;IAEM,OAAO;QAEZ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAA;IAC/B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAgB,CAAA;IAC1D,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;IAEM,SAAS,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC;IAEM,QAAQ;QAEb,OAAQ,IAAI,CAAC,KAAK,CAAC,qBAAoC,IAAI,EAAE,CAAA;IAC/D,CAAC;CACF"}
1
+ {"version":3,"file":"pikku-api-gateway-lambda-request.js","sourceRoot":"","sources":["../src/pikku-api-gateway-lambda-request.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AAEvF,MAAM,OAAO,4BAA6B,SAAQ,wBAAwB;IAClD;IAAtB,YAAsB,KAA2B;QAC/C,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAgB,CAAC,CAAA;QADlD,UAAK,GAAL,KAAK,CAAsB;IAEjD,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;IAEM,SAAS,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC;IAEM,QAAQ;QAEb,OAAQ,IAAI,CAAC,KAAK,CAAC,qBAAoC,IAAI,EAAE,CAAA;IAC/D,CAAC;CACF"}
@@ -2,18 +2,12 @@ import { PikkuAbstractChannelHandler, } from '@pikku/core/channel';
2
2
  import { sendMessage } from './utils.js';
3
3
  class LambdaChannelHandler extends PikkuAbstractChannelHandler {
4
4
  logger;
5
- channelStore;
6
5
  callbackAPI;
7
- constructor(logger, userSession, channelStore, callbackAPI, channelId, channelName, openingData) {
8
- super(channelId, channelName, userSession, openingData);
6
+ constructor(logger, callbackAPI, channelId, channelName, openingData) {
7
+ super(channelId, channelName, openingData);
9
8
  this.logger = logger;
10
- this.channelStore = channelStore;
11
9
  this.callbackAPI = callbackAPI;
12
10
  }
13
- async setUserSession(userSession) {
14
- this.userSession = userSession;
15
- await this.channelStore.setUserSession(this.channelId, userSession);
16
- }
17
11
  async send(message, isBinary) {
18
12
  if (isBinary) {
19
13
  throw new Error('Binary data is not supported on serverless lambdas');
@@ -23,7 +17,7 @@ class LambdaChannelHandler extends PikkuAbstractChannelHandler {
23
17
  }
24
18
  }
25
19
  export const createLambdaChannelHandlerFactory = (logger, channelStore, callbackAPI) => {
26
- const factory = (channelId, channelName, openingData, userSession) => new LambdaChannelHandler(logger, userSession, channelStore, callbackAPI, channelId, channelName, openingData);
20
+ const factory = (channelId, channelName, openingData) => new LambdaChannelHandler(logger, callbackAPI, channelId, channelName, openingData);
27
21
  return factory;
28
22
  };
29
23
  //# sourceMappingURL=lambda-channel-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lambda-channel-handler.js","sourceRoot":"","sources":["../../src/websocket/lambda-channel-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,2BAA2B,GAE5B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAIxC,MAAM,oBAIJ,SAAQ,2BAA0D;IAExD;IAEA;IACA;IAJV,YACU,MAAc,EACtB,WAAoC,EAC5B,YAA0B,EAC1B,WAA0C,EAClD,SAAiB,EACjB,WAAmB,EACnB,WAAwB;QAExB,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;QAR/C,WAAM,GAAN,MAAM,CAAQ;QAEd,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAA+B;IAMpD,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,WAAwB;QAClD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IACrE,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAAY,EAAE,QAAkB;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACvE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACxE,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,MAAc,EACd,YAA0B,EAC1B,WAA0C,EAC1C,EAAE;IACF,MAAM,OAAO,GAA+B,CAC1C,SAAS,EACT,WAAW,EACX,WAAW,EACX,WAAW,EACX,EAAE,CACF,IAAI,oBAAoB,CACtB,MAAM,EACN,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,CACZ,CAAA;IACH,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"lambda-channel-handler.js","sourceRoot":"","sources":["../../src/websocket/lambda-channel-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,2BAA2B,GAE5B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAIxC,MAAM,oBAIJ,SAAQ,2BAA6C;IAE3C;IACA;IAFV,YACU,MAAc,EACd,WAA0C,EAClD,SAAiB,EACjB,WAAmB,EACnB,WAAwB;QAExB,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;QANlC,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAA+B;IAMpD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAAY,EAAE,QAAkB;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACvE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACxE,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,MAAc,EACd,YAA0B,EAC1B,WAA0C,EAC1C,EAAE;IACF,MAAM,OAAO,GAA+B,CAC1C,SAAS,EACT,WAAW,EACX,WAAW,EACX,EAAE,CACF,IAAI,oBAAoB,CACtB,MAAM,EACN,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAW,CACZ,CAAA;IACH,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pikku/lambda",
3
- "version": "0.6.5",
3
+ "version": "0.6.6",
4
4
  "license": "MIT",
5
5
  "author": "yasser.fadl@gmail.com",
6
6
  "module": "dist/index.js",
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@aws-sdk/client-apigatewaymanagementapi": "^3.713.0",
26
- "@pikku/core": "^0.6.11",
26
+ "@pikku/core": "^0.6.14",
27
27
  "@types/aws-lambda": "^8.10.146"
28
28
  },
29
29
  "devDependencies": {
@@ -23,7 +23,7 @@ export const generalHTTPHandler = async <
23
23
  request: PikkuAPIGatewayLambdaRequest,
24
24
  response: PikkuAPIGatewayLambdaResponse
25
25
  ): Promise<APIGatewayProxyResult> => {
26
- if (request.getMethod() === 'options') {
26
+ if (request.method === 'options') {
27
27
  response.setHeader(
28
28
  'Access-Control-Allow-Headers',
29
29
  'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Amz-User-Agent'
@@ -37,7 +37,7 @@ export const generalHTTPHandler = async <
37
37
  return response.getLambdaResponse()
38
38
  }
39
39
 
40
- if (request.getPath().includes('health-check')) {
40
+ if (request.path.includes('health-check')) {
41
41
  response.setStatus(200)
42
42
  return response.getLambdaResponse()
43
43
  }
@@ -48,8 +48,8 @@ export const generalHTTPHandler = async <
48
48
  response,
49
49
  singletonServices,
50
50
  createSessionServices: createSessionServices as any,
51
- route: request.getPath(),
52
- method: request.getMethod() as any,
51
+ route: request.path,
52
+ method: request.method,
53
53
  })
54
54
  } catch {
55
55
  // Error should have already been handled by runHTTPRoute
@@ -4,16 +4,7 @@ import { PikkuHTTPAbstractRequest } from '@pikku/core/http/pikku-http-abstract-r
4
4
 
5
5
  export class PikkuAPIGatewayLambdaRequest extends PikkuHTTPAbstractRequest {
6
6
  constructor(protected event: APIGatewayProxyEvent) {
7
- super()
8
- }
9
-
10
- public getPath() {
11
- // TODO: The path can be undefined, types are invalid
12
- return this.event.path || '/'
13
- }
14
-
15
- public getMethod() {
16
- return this.event.httpMethod.toLowerCase() as HTTPMethod
7
+ super(event.path || '/', event.httpMethod.toLowerCase() as HTTPMethod)
17
8
  }
18
9
 
19
10
  public async getBody() {
@@ -12,22 +12,15 @@ class LambdaChannelHandler<
12
12
  UserSession extends CoreUserSession = CoreUserSession,
13
13
  OpeningData = unknown,
14
14
  Out = unknown,
15
- > extends PikkuAbstractChannelHandler<UserSession, OpeningData, Out> {
15
+ > extends PikkuAbstractChannelHandler<OpeningData, Out> {
16
16
  constructor(
17
17
  private logger: Logger,
18
- userSession: UserSession | undefined,
19
- private channelStore: ChannelStore,
20
18
  private callbackAPI: ApiGatewayManagementApiClient,
21
19
  channelId: string,
22
20
  channelName: string,
23
21
  openingData: OpeningData
24
22
  ) {
25
- super(channelId, channelName, userSession, openingData)
26
- }
27
-
28
- public async setUserSession(userSession: UserSession): Promise<void> {
29
- this.userSession = userSession
30
- await this.channelStore.setUserSession(this.channelId, userSession)
23
+ super(channelId, channelName, openingData)
31
24
  }
32
25
 
33
26
  public async send(message: Out, isBinary?: boolean) {
@@ -47,13 +40,10 @@ export const createLambdaChannelHandlerFactory = (
47
40
  const factory: PikkuChannelHandlerFactory = (
48
41
  channelId,
49
42
  channelName,
50
- openingData,
51
- userSession
43
+ openingData
52
44
  ) =>
53
45
  new LambdaChannelHandler(
54
46
  logger,
55
- userSession,
56
- channelStore,
57
47
  callbackAPI,
58
48
  channelId,
59
49
  channelName,