@athenna/http 1.2.5 → 1.2.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@athenna/http",
3
- "version": "1.2.5",
3
+ "version": "1.2.6",
4
4
  "description": "The Athenna Http server. Built on top of fastify",
5
5
  "license": "MIT",
6
6
  "author": "João Lenon <lenon@athenna.io>",
@@ -16,17 +16,33 @@ export declare abstract class HttpKernel {
16
16
  */
17
17
  protected abstract namedMiddlewares: Record<string, Promise<any> | MiddlewareContractClass>;
18
18
  /**
19
- * Returns an instance of any class that extends HttpKernel.
20
- * Also configure the error handler, detect environment and
21
- * configure log intercept middleware for requests.
19
+ * Register all global and named middlewares to the server.
22
20
  *
23
- * @return HttpKernel
21
+ * @return void
24
22
  */
25
- constructor();
23
+ registerMiddlewares(): Promise<void>;
26
24
  /**
27
- * Register all global and named middlewares to the server.
25
+ * Register cors plugin
28
26
  *
29
27
  * @return void
30
28
  */
31
- registerMiddlewares(): Promise<void>;
29
+ registerCors(): Promise<void>;
30
+ /**
31
+ * Register rate limit plugin
32
+ *
33
+ * @return void
34
+ */
35
+ registerRateLimit(): Promise<void>;
36
+ /**
37
+ * Register the default error handler
38
+ *
39
+ * @return void
40
+ */
41
+ registerErrorHandler(): Promise<void>;
42
+ /**
43
+ * Register log terminate middleware
44
+ *
45
+ * @return void
46
+ */
47
+ registerLogMiddleware(): Promise<void>;
32
48
  }
@@ -5,31 +5,14 @@ const logger_1 = require("@athenna/logger");
5
5
  const config_1 = require("@athenna/config");
6
6
  const utils_1 = require("@secjs/utils");
7
7
  const HttpErrorHandler_1 = require("../Handlers/HttpErrorHandler");
8
+ const Server_1 = require("../Facades/Server");
8
9
  class HttpKernel {
9
- /**
10
- * Returns an instance of any class that extends HttpKernel.
11
- * Also configure the error handler, detect environment and
12
- * configure log intercept middleware for requests.
13
- *
14
- * @return HttpKernel
15
- */
16
- constructor() {
17
- const httpServer = ioc.safeUse('Athenna/Core/HttpServer');
18
- httpServer.setErrorHandler(HttpErrorHandler_1.HttpErrorHandler.handler);
19
- if (config_1.Config.get('http.log')) {
20
- httpServer.use(async (ctx) => {
21
- await logger_1.Log.channel('request').log(ctx);
22
- return ctx.next();
23
- }, 'terminate');
24
- }
25
- }
26
10
  /**
27
11
  * Register all global and named middlewares to the server.
28
12
  *
29
13
  * @return void
30
14
  */
31
15
  async registerMiddlewares() {
32
- const httpServer = ioc.safeUse('Athenna/Core/HttpServer');
33
16
  /**
34
17
  * Binding the named middlewares inside the container and
35
18
  * creating a simple alias to use it inside Route.
@@ -52,15 +35,62 @@ class HttpKernel {
52
35
  }
53
36
  Middleware = ioc.safeUse(`App/Middlewares/${Middleware.name}`);
54
37
  if (Middleware.handle) {
55
- httpServer.use(Middleware.handle, 'handle');
38
+ Server_1.Server.use(Middleware.handle, 'handle');
56
39
  }
57
40
  if (Middleware.intercept) {
58
- httpServer.use(Middleware.intercept, 'intercept');
41
+ Server_1.Server.use(Middleware.intercept, 'intercept');
59
42
  }
60
43
  if (Middleware.terminate) {
61
- httpServer.use(Middleware.terminate, 'terminate');
44
+ Server_1.Server.use(Middleware.terminate, 'terminate');
62
45
  }
63
46
  }
64
47
  }
48
+ /**
49
+ * Register cors plugin
50
+ *
51
+ * @return void
52
+ */
53
+ async registerCors() {
54
+ if (config_1.Config.get('http.noCors')) {
55
+ return;
56
+ }
57
+ Server_1.Server.registerCors(config_1.Config.get('http.cors'));
58
+ }
59
+ /**
60
+ * Register rate limit plugin
61
+ *
62
+ * @return void
63
+ */
64
+ async registerRateLimit() {
65
+ if (config_1.Config.get('http.noRateLimit')) {
66
+ return;
67
+ }
68
+ Server_1.Server.registerRateLimit(config_1.Config.get('http.rateLimit'));
69
+ }
70
+ /**
71
+ * Register the default error handler
72
+ *
73
+ * @return void
74
+ */
75
+ async registerErrorHandler() {
76
+ if (config_1.Config.get('http.noErrorHandler')) {
77
+ return;
78
+ }
79
+ Server_1.Server.setErrorHandler(HttpErrorHandler_1.HttpErrorHandler.handler);
80
+ }
81
+ /**
82
+ * Register log terminate middleware
83
+ *
84
+ * @return void
85
+ */
86
+ async registerLogMiddleware() {
87
+ if (!config_1.Config.get('http.logRequests')) {
88
+ return;
89
+ }
90
+ Server_1.Server.use(async (ctx) => {
91
+ await logger_1.Log.channel('request').log(ctx);
92
+ return ctx.next();
93
+ }, 'terminate');
94
+ }
65
95
  }
66
96
  exports.HttpKernel = HttpKernel;