miolo 0.0.9 → 0.0.10

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.
@@ -200,5 +200,7 @@ module.exports = {
200
200
  // url_logout: '/logout',
201
201
  // url_logout_redirect: '/
202
202
  //}
203
- }
203
+ },
204
+ middlewares: [// (ctx) => {}
205
+ ]
204
206
  };
@@ -15,6 +15,8 @@ var _logger = require("../logger");
15
15
 
16
16
  var _cron = require("./engines/cron");
17
17
 
18
+ var _conn = require("../db/conn");
19
+
18
20
  var _context = require("./middleware/context");
19
21
 
20
22
  var _body = require("./middleware/body");
@@ -23,7 +25,7 @@ var _catcher = require("./middleware/catcher");
23
25
 
24
26
  var _static = require("./middleware/static");
25
27
 
26
- var _conn = require("../db/conn");
28
+ var _extra = require("./middleware/extra");
27
29
 
28
30
  var _request = require("./middleware/request");
29
31
 
@@ -112,7 +114,14 @@ function _miolo() {
112
114
  } // Socket.io
113
115
  // const io= init_socket(logger)
114
116
  // io.attach(app)
115
- // Middleware for html render
117
+ // extra middlewares
118
+
119
+
120
+ var extra_middlewares = config === null || config === void 0 ? void 0 : config.middlewares;
121
+
122
+ if (extra_middlewares) {
123
+ (0, _extra.init_extra_middlewares)(app, extra_middlewares);
124
+ } // Middleware for html render
116
125
 
117
126
 
118
127
  if (render == undefined || render.html != undefined) {
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.init_extra_middlewares = void 0;
7
+
8
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
9
+
10
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
11
+
12
+ var init_extra_middlewares = (app, middlewares) => {
13
+ if (middlewares == undefined || middlewares.length == 0) {
14
+ return;
15
+ }
16
+
17
+ middlewares.map(midw => {
18
+ function extra_middleware(_x, _x2) {
19
+ return _extra_middleware.apply(this, arguments);
20
+ }
21
+
22
+ function _extra_middleware() {
23
+ _extra_middleware = _asyncToGenerator(function* (ctx, next) {
24
+ midw(ctx);
25
+ yield next();
26
+ });
27
+ return _extra_middleware.apply(this, arguments);
28
+ }
29
+
30
+ app.use(extra_middleware);
31
+ });
32
+ };
33
+
34
+ exports.init_extra_middlewares = init_extra_middlewares;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miolo",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "description": "miolo",
5
5
  "main": "lib/index.js",
6
6
  "author": "Afialapis <info@afialapis.com>",
@@ -198,7 +198,9 @@ module.exports= {
198
198
  // url_logout: '/logout',
199
199
  // url_logout_redirect: '/
200
200
  //}
201
- }
202
-
201
+ },
202
+ middlewares: [
203
+ // (ctx) => {}
204
+ ]
203
205
  };
204
206
 
@@ -5,17 +5,19 @@ import { init_logger } from 'src/logger'
5
5
  import { init_cron } from './engines/cron'
6
6
  // import {init_socket} from './engines/socket'
7
7
 
8
+ import { init_db_connection } from 'src/db/conn'
9
+
8
10
  import { init_context_middleware } from './middleware/context'
9
11
  import { init_body_middleware } from './middleware/body'
10
12
  import { init_catcher_middleware } from './middleware/catcher'
11
13
  import { init_static_middleware } from './middleware/static'
12
-
13
- import { init_db_connection } from 'src/db/conn'
14
+ import { init_extra_middlewares } from './middleware/extra'
14
15
 
15
16
  import { init_request_middleware } from './middleware/request'
16
17
  import { init_session_middleware } from './middleware/session'
17
18
  import { init_route_robots } from './routes/robots'
18
19
  import { init_route_catch_js_error} from './routes/catch_js_error'
20
+
19
21
  import { init_route_html_render} from './routes/html_render'
20
22
 
21
23
  async function miolo(sconfig, render, callback) {
@@ -34,6 +36,7 @@ async function miolo(sconfig, render, callback) {
34
36
 
35
37
  // Assign miolo stuff to ctx
36
38
  init_context_middleware(app, config, logger, emailer, conn)
39
+
37
40
  // Compress and body parser
38
41
  init_body_middleware(app)
39
42
 
@@ -82,6 +85,12 @@ async function miolo(sconfig, render, callback) {
82
85
  // const io= init_socket(logger)
83
86
  // io.attach(app)
84
87
 
88
+ // extra middlewares
89
+ const extra_middlewares= config?.middlewares
90
+ if (extra_middlewares) {
91
+ init_extra_middlewares(app, extra_middlewares)
92
+ }
93
+
85
94
  // Middleware for html render
86
95
  if (render==undefined || render.html!=undefined) {
87
96
  init_route_html_render(app, render?.html)
@@ -0,0 +1,18 @@
1
+
2
+ const init_extra_middlewares = ( app, middlewares ) => {
3
+ if (middlewares==undefined || middlewares.length==0) {
4
+ return
5
+ }
6
+
7
+ middlewares.map(midw => {
8
+
9
+ async function extra_middleware(ctx, next) {
10
+ midw(ctx)
11
+ await next()
12
+ }
13
+
14
+ app.use(extra_middleware)
15
+ })
16
+ }
17
+
18
+ export { init_extra_middlewares }