@midwayjs/faas 3.4.0-beta.6 → 3.4.0-beta.9

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.
@@ -33,7 +33,7 @@ export declare class MidwayFaaSFramework extends BaseFramework<Application, Cont
33
33
  */
34
34
  handleInvokeWrapper(handlerMapping: string): (...args: any[]) => Promise<any>;
35
35
  getTriggerFunction(handlerMapping: string): (context: any, options: HandlerOptions) => Promise<any>;
36
- wrapHttpRequest(req: http.IncomingMessage, res?: http.ServerResponse): Promise<unknown>;
36
+ wrapHttpRequest(req: http.IncomingMessage | Record<string, any>, res?: http.ServerResponse): Promise<unknown>;
37
37
  /**
38
38
  * @deprecated
39
39
  * @param middlewareId
@@ -45,6 +45,7 @@ export declare class MidwayFaaSFramework extends BaseFramework<Application, Cont
45
45
  createLogger(name: string, option?: LoggerOptions): import("@midwayjs/core").ILogger;
46
46
  getFrameworkName(): string;
47
47
  getServer(): http.Server;
48
+ beforeStop(): Promise<void>;
48
49
  protected createHttpContext(req: any, res: any): Promise<unknown>;
49
50
  useMiddleware(middleware: CommonMiddlewareUnion<Context, NextFunction, undefined>): void;
50
51
  useEventMiddleware(middleware: CommonMiddlewareUnion<Context, NextFunction, undefined>): void;
package/dist/framework.js CHANGED
@@ -191,6 +191,10 @@ let MidwayFaaSFramework = class MidwayFaaSFramework extends core_1.BaseFramework
191
191
  const isHttpFunction = options.isHttpFunction;
192
192
  if (!funOptions && isHttpFunction) {
193
193
  funOptions = await this.serverlessFunctionService.getMatchedRouterInfo(context.path, context.method);
194
+ if (funOptions) {
195
+ const matchRes = core_1.PathToRegexpUtil.match(funOptions.fullUrlFlattenString)(context.path);
196
+ context.req.pathParameters = matchRes['params'] || {};
197
+ }
194
198
  }
195
199
  if (!funOptions) {
196
200
  throw new Error(`function handler = ${handlerMapping} not found`);
@@ -379,6 +383,13 @@ let MidwayFaaSFramework = class MidwayFaaSFramework extends core_1.BaseFramework
379
383
  getServer() {
380
384
  return this.server;
381
385
  }
386
+ async beforeStop() {
387
+ if (this.server) {
388
+ new Promise(resolve => {
389
+ this.server.close(resolve);
390
+ });
391
+ }
392
+ }
382
393
  async createHttpContext(req, res) {
383
394
  return new Promise(resolve => {
384
395
  this.respond(req, res, resolve);
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './interface';
2
2
  export { MidwayFaaSFramework as Framework } from './framework';
3
3
  export { FaaSConfiguration as Configuration } from './configuration';
4
+ export { AbstractBootstrapStarter } from './starter';
4
5
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -14,10 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Configuration = exports.Framework = void 0;
17
+ exports.AbstractBootstrapStarter = exports.Configuration = exports.Framework = void 0;
18
18
  __exportStar(require("./interface"), exports);
19
19
  var framework_1 = require("./framework");
20
20
  Object.defineProperty(exports, "Framework", { enumerable: true, get: function () { return framework_1.MidwayFaaSFramework; } });
21
21
  var configuration_1 = require("./configuration");
22
22
  Object.defineProperty(exports, "Configuration", { enumerable: true, get: function () { return configuration_1.FaaSConfiguration; } });
23
+ var starter_1 = require("./starter");
24
+ Object.defineProperty(exports, "AbstractBootstrapStarter", { enumerable: true, get: function () { return starter_1.AbstractBootstrapStarter; } });
23
25
  //# sourceMappingURL=index.js.map
@@ -65,6 +65,8 @@ export interface IWebMiddleware {
65
65
  export interface ServerlessStarterOptions extends IMidwayBootstrapOptions {
66
66
  initializeMethodName?: string;
67
67
  handlerName?: string;
68
+ aggregationHandlerName?: string;
69
+ handlerNameMapping?: (handlerName: string, ...args: unknown[]) => [string, ...unknown[]];
68
70
  createAdapter?: () => Promise<{
69
71
  close(): any;
70
72
  createAppHook(app?: any): any;
@@ -73,6 +75,5 @@ export interface ServerlessStarterOptions extends IMidwayBootstrapOptions {
73
75
  mark(label: string): any;
74
76
  end(): any;
75
77
  };
76
- exportAllHandler?: boolean;
77
78
  }
78
79
  //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1,17 @@
1
+ import { ServerlessStarterOptions } from './interface';
2
+ import { IMidwayBootstrapOptions } from '@midwayjs/core';
3
+ export declare abstract class AbstractBootstrapStarter {
4
+ protected options: ServerlessStarterOptions;
5
+ protected applicationContext: any;
6
+ protected framework: any;
7
+ constructor(options?: ServerlessStarterOptions);
8
+ getApplicationContext(): any;
9
+ close(): Promise<void>;
10
+ start(options?: ServerlessStarterOptions): any;
11
+ initFramework(bootstrapOptions?: IMidwayBootstrapOptions): Promise<void>;
12
+ abstract onStart(): any;
13
+ abstract onInit(...args: unknown[]): any;
14
+ abstract onRequest(...args: unknown[]): any;
15
+ abstract onClose(): any;
16
+ }
17
+ //# sourceMappingURL=starter.d.ts.map
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractBootstrapStarter = void 0;
4
+ const core_1 = require("@midwayjs/core");
5
+ class AbstractBootstrapStarter {
6
+ constructor(options = {}) {
7
+ this.options = options;
8
+ }
9
+ getApplicationContext() {
10
+ return this.applicationContext;
11
+ }
12
+ async close() {
13
+ await this.onClose();
14
+ }
15
+ start(options) {
16
+ this.options = Object.assign(this.options, options);
17
+ return this.onStart();
18
+ }
19
+ async initFramework(bootstrapOptions = {}) {
20
+ // init midway
21
+ this.applicationContext = await (0, core_1.initializeGlobalApplicationContext)(bootstrapOptions);
22
+ const midwayFrameworkService = this.applicationContext.get(core_1.MidwayFrameworkService);
23
+ this.framework = midwayFrameworkService.getMainFramework();
24
+ }
25
+ }
26
+ exports.AbstractBootstrapStarter = AbstractBootstrapStarter;
27
+ //# sourceMappingURL=starter.js.map
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@midwayjs/faas",
3
- "version": "3.4.0-beta.6",
3
+ "version": "3.4.0-beta.9",
4
4
  "main": "dist/index",
5
5
  "typings": "index.d.ts",
6
6
  "dependencies": {
7
- "@midwayjs/core": "^3.4.0-beta.6",
7
+ "@midwayjs/core": "^3.4.0-beta.9",
8
8
  "@midwayjs/faas-typings": "^3.3.5",
9
9
  "@midwayjs/logger": "^2.15.0",
10
- "@midwayjs/serverless-http-parser": "^3.4.0-beta.6",
10
+ "@midwayjs/serverless-http-parser": "^3.4.0-beta.9",
11
11
  "@midwayjs/simple-lock": "^1.1.4"
12
12
  },
13
13
  "devDependencies": {
14
- "@midwayjs/decorator": "^3.4.0-beta.6",
15
- "@midwayjs/mock": "^3.4.0-beta.6",
16
- "@midwayjs/serverless-fc-starter": "^3.4.0-beta.6",
17
- "@midwayjs/serverless-scf-starter": "^3.4.0-beta.6",
14
+ "@midwayjs/decorator": "^3.4.0-beta.9",
15
+ "@midwayjs/mock": "^3.4.0-beta.9",
16
+ "@midwayjs/serverless-fc-starter": "^3.4.0-beta.9",
17
+ "@midwayjs/serverless-scf-starter": "^3.4.0-beta.9",
18
18
  "mm": "3.2.0"
19
19
  },
20
20
  "engines": {
@@ -46,5 +46,5 @@
46
46
  "url": "git@github.com:midwayjs/midway.git"
47
47
  },
48
48
  "license": "MIT",
49
- "gitHead": "8e187c4593d4832de32b6745af3e195f6b90816c"
49
+ "gitHead": "41e82a0fba386c6ec42c2eefd1dff4795a81b389"
50
50
  }