koa-micro-ts 4.0.0 → 4.0.2
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/README.md +88 -46
- package/dist/args.d.ts +1 -1
- package/dist/args.js +2 -1
- package/dist/args.js.map +1 -1
- package/dist/autoRoute.js +99 -133
- package/dist/autoRoute.js.map +1 -1
- package/dist/cors.d.ts +1 -1
- package/dist/cors.js +6 -14
- package/dist/cors.js.map +1 -1
- package/dist/index.js +14 -23
- package/dist/index.js.map +1 -1
- package/dist/jwt.js +10 -19
- package/dist/jwt.js.map +1 -1
- package/dist/static.js +25 -36
- package/dist/static.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# koa-micro-ts
|
|
2
|
+
|
|
2
3
|
Microservice framework based on koa
|
|
3
4
|
|
|
4
5
|
```
|
|
@@ -9,23 +10,28 @@ Microservice framework based on koa
|
|
|
9
10
|
|_|\_\___/ \__,_| |_| |_| |_|_|\___|_| \___/ \__|___/
|
|
10
11
|
|
|
11
12
|
Koa TypeScript Microservice Framework - batteries included
|
|
12
|
-
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
[![NPM Version][npm-image]][npm-url]
|
|
16
|
+
[![NPM Downloads][downloads-image]][downloads-url]
|
|
17
|
+
[![Git Issues][issues-img]][issues-url]
|
|
18
|
+
[![Closed Issues][closed-issues-img]][closed-issues-url]
|
|
19
|
+
[![Caretaker][caretaker-image]][caretaker-url]
|
|
20
|
+
[![MIT license][license-img]][license-url]
|
|
21
21
|
|
|
22
22
|
## Quick Start
|
|
23
23
|
|
|
24
|
-
This package provides a minimalistic, simple to use, [koa][koa-url] based micro
|
|
24
|
+
This package provides a minimalistic, simple to use, [koa][koa-url] based micro
|
|
25
|
+
service template. A few common used middleware packages are already included. To
|
|
26
|
+
keep it small as possible, we added some own tiny libraries like CORS,
|
|
27
|
+
JWT-wrapper, auto routes, logger, validators, APIdoc, API-History Fallback.
|
|
28
|
+
Included middleware/libs:
|
|
25
29
|
|
|
26
|
-
- body parser (now configurable since version 3) - detailed docs for all
|
|
30
|
+
- body parser (now configurable since version 3) - detailed docs for all
|
|
31
|
+
bodyparser options [BODYPARSER.md](docs/BODYPARSER.md)
|
|
27
32
|
- basic router
|
|
28
|
-
- auto router - smart directory based auto-generation of routes - detailed docs
|
|
33
|
+
- auto router - smart directory based auto-generation of routes - detailed docs
|
|
34
|
+
[AUTOROUTES.md](docs/AUTOROUTES.md)
|
|
29
35
|
- CORS - detailed docs [CORS.md](docs/CORS.md)
|
|
30
36
|
- JWT - detailed docs [JWT.md](docs/JWT.md)
|
|
31
37
|
- static files serving - detailed docs [STATIC.md](docs/STATIC.md)
|
|
@@ -39,11 +45,31 @@ This package provides a minimalistic, simple to use, [koa][koa-url] based micro
|
|
|
39
45
|
- catch errors - detailed docs [CATCHERRORS.md](docs/CATCHERRORS.md)
|
|
40
46
|
- integrated API doc - detailed docs [APIDOC.md](docs/APIDOC.md)
|
|
41
47
|
|
|
42
|
-
Most of these modules can be enabled with just **one line of code**.
|
|
48
|
+
Most of these modules can be enabled with just **one line of code**.
|
|
49
|
+
Configuration is super simple and lets you create your micro service within
|
|
50
|
+
minutes.
|
|
51
|
+
|
|
52
|
+
## Version 4 - Breaking Change
|
|
53
|
+
|
|
54
|
+
`app.autoRoute()` is now an async function.
|
|
55
|
+
|
|
56
|
+
So you need to call it within an async/await block ... here an example:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
const main = async () => {
|
|
60
|
+
await app.autoRoute(path.join(__dirname, '/routes'), '/api/v1');
|
|
61
|
+
...
|
|
62
|
+
app.start(3000);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
main()
|
|
66
|
+
```
|
|
43
67
|
|
|
44
68
|
## Version 3 - Breaking Change
|
|
45
69
|
|
|
46
|
-
`app.bodyParser()` needs to be called now. Please call this before adding any
|
|
70
|
+
`app.bodyParser()` needs to be called now. Please call this before adding any
|
|
71
|
+
routes. This has a configuration object, detailed documentation on body parser
|
|
72
|
+
options can be found here [BODYPARSER.md](docs/BODYPARSER.md)
|
|
47
73
|
|
|
48
74
|
```
|
|
49
75
|
app.bodyParser({ multipart: true })
|
|
@@ -57,19 +83,20 @@ $ npm install koa-micro-ts
|
|
|
57
83
|
|
|
58
84
|
## Usage
|
|
59
85
|
|
|
60
|
-
Here is an example how you can use `koa-micro-ts`. Depending on your use case
|
|
86
|
+
Here is an example how you can use `koa-micro-ts`. Depending on your use case
|
|
87
|
+
most of the things here are optional and only required if you want to use them:
|
|
61
88
|
|
|
62
89
|
```ts
|
|
63
|
-
import { app, Application } from
|
|
64
|
-
import { join } from
|
|
90
|
+
import { app, Application } from "koa-micro-ts";
|
|
91
|
+
import { join } from "path";
|
|
65
92
|
|
|
66
93
|
// setting variables only for demo purposes.
|
|
67
94
|
// You can set this as environment variables
|
|
68
|
-
process.env.APP_NAME =
|
|
69
|
-
process.env.VERSION =
|
|
95
|
+
process.env.APP_NAME = "micro-service";
|
|
96
|
+
process.env.VERSION = "1.0.0";
|
|
70
97
|
|
|
71
98
|
// enable body parser (with desired options)
|
|
72
|
-
app.bodyParser({ multipart: true })
|
|
99
|
+
app.bodyParser({ multipart: true });
|
|
73
100
|
|
|
74
101
|
// enable helpth endpoint (defaults to tow endpoints /live and /ready)
|
|
75
102
|
app.health();
|
|
@@ -87,13 +114,13 @@ app.parseArgs();
|
|
|
87
114
|
app.catchErrors();
|
|
88
115
|
|
|
89
116
|
// set up static server (optional)
|
|
90
|
-
app.static(join(__dirname,
|
|
117
|
+
app.static(join(__dirname, "/public"));
|
|
91
118
|
|
|
92
119
|
// using router
|
|
93
120
|
const router: any = app.newRouter();
|
|
94
121
|
|
|
95
|
-
router.get(
|
|
96
|
-
ctx.body =
|
|
122
|
+
router.get("/route", (ctx: Application.Context, next: Application.Next) => {
|
|
123
|
+
ctx.body = "OK from static route";
|
|
97
124
|
});
|
|
98
125
|
|
|
99
126
|
app.useRouter(router);
|
|
@@ -101,22 +128,32 @@ app.useRouter(router);
|
|
|
101
128
|
// enable gracefull shutdown (optional)
|
|
102
129
|
app.gracefulShutdown();
|
|
103
130
|
|
|
104
|
-
app.ready = true;
|
|
131
|
+
app.ready = true; // /health /ready endpoint now returns true
|
|
105
132
|
app.start(3000);
|
|
106
133
|
```
|
|
107
134
|
|
|
108
135
|
Have a look at the function reference [APP.md](docs/APP.md) for all options
|
|
136
|
+
|
|
109
137
|
### Auto-Routes
|
|
110
138
|
|
|
111
139
|
This is one of the smart features of this package:
|
|
112
140
|
|
|
113
|
-
`autoRoute` allows you to just write your API endpoints and place them into a
|
|
141
|
+
`autoRoute` allows you to just write your API endpoints and place them into a
|
|
142
|
+
directory structure. When calling
|
|
143
|
+
`await app.autoRoute(...directory..., mountpoint)`, this directory will be
|
|
144
|
+
parsed recursivly and all TypeScript files with extension `.route.ts` are added
|
|
145
|
+
as routes. All routes then will be mounted to the given `mountpoint`. Your API
|
|
146
|
+
structure then matches exactly your directory structure. This makes writing and
|
|
147
|
+
maintaining your API endpoints super simple.
|
|
114
148
|
|
|
115
|
-
Detailed docs with examples can be found here:
|
|
149
|
+
Detailed docs with examples can be found here:
|
|
150
|
+
[AUTOROUTES.md](docs/AUTOROUTES.md)
|
|
116
151
|
|
|
117
152
|
### Dev / Production Mode
|
|
118
153
|
|
|
119
|
-
The `app` instance has a `development` property that is set to true when
|
|
154
|
+
The `app` instance has a `development` property that is set to true when
|
|
155
|
+
providing a `--dev` or `--development` argument during startup or if the
|
|
156
|
+
environment variable `DEVELOPMENT` exists.
|
|
120
157
|
|
|
121
158
|
You can use this property e.g. like this:
|
|
122
159
|
|
|
@@ -125,6 +162,7 @@ if (app.development) {
|
|
|
125
162
|
...
|
|
126
163
|
}
|
|
127
164
|
```
|
|
165
|
+
|
|
128
166
|
### Examples
|
|
129
167
|
|
|
130
168
|
The example in the path `examples` shows how to use `koa-micro-ts` and
|
|
@@ -149,17 +187,21 @@ npm run example
|
|
|
149
187
|
Now try the following routes in your browser:
|
|
150
188
|
|
|
151
189
|
Static Page:
|
|
190
|
+
|
|
152
191
|
- `http://localhost:3000/`
|
|
153
192
|
|
|
154
193
|
Standard Routes
|
|
194
|
+
|
|
155
195
|
- `http://localhost:3000/route`
|
|
156
196
|
- `http://localhost:3000/route2`
|
|
157
197
|
|
|
158
198
|
Health Routes
|
|
199
|
+
|
|
159
200
|
- `http://localhost:3000/liveness`
|
|
160
201
|
- `http://localhost:3000/readyness`
|
|
161
202
|
|
|
162
203
|
Routes from autoRouter
|
|
204
|
+
|
|
163
205
|
- `http://localhost:3000/api/v1/`
|
|
164
206
|
- `http://localhost:3000/api/v1/hello/`
|
|
165
207
|
- `http://localhost:3000/api/v1/error/`
|
|
@@ -167,7 +209,8 @@ Routes from autoRouter
|
|
|
167
209
|
|
|
168
210
|
## Advanced usage
|
|
169
211
|
|
|
170
|
-
As `koa-micro-ts` uses some external packages, you can also refer to the
|
|
212
|
+
As `koa-micro-ts` uses some external packages, you can also refer to the
|
|
213
|
+
documentation of the used packages to see their options:
|
|
171
214
|
|
|
172
215
|
- [koa-router][koa-router-url]
|
|
173
216
|
- [http-graceful-shutdown][gracefulShutdown-url]
|
|
@@ -175,38 +218,37 @@ As `koa-micro-ts` uses some external packages, you can also refer to the documen
|
|
|
175
218
|
|
|
176
219
|
## License [![MIT license][license-img]][license-url]
|
|
177
220
|
|
|
178
|
-
>The [`MIT`][license-url] License (MIT)
|
|
221
|
+
> The [`MIT`][license-url] License (MIT)
|
|
179
222
|
>
|
|
180
|
-
>Copyright © 2023 Sebastian Hildebrandt,
|
|
223
|
+
> Copyright © 2023 Sebastian Hildebrandt,
|
|
224
|
+
> [+innovations](http://www.plus-innovations.com).
|
|
181
225
|
>
|
|
182
|
-
>Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
183
|
-
>of this software and associated documentation files (the "Software"), to deal
|
|
184
|
-
>in the Software without restriction, including without limitation the rights
|
|
185
|
-
>to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
186
|
-
>copies of the Software, and to permit persons to whom the Software is
|
|
187
|
-
>furnished to do so, subject to the following conditions:
|
|
226
|
+
> Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
227
|
+
> of this software and associated documentation files (the "Software"), to deal
|
|
228
|
+
> in the Software without restriction, including without limitation the rights
|
|
229
|
+
> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
230
|
+
> copies of the Software, and to permit persons to whom the Software is
|
|
231
|
+
> furnished to do so, subject to the following conditions:
|
|
188
232
|
>
|
|
189
|
-
>The above copyright notice and this permission notice shall be included in
|
|
190
|
-
>
|
|
233
|
+
> The above copyright notice and this permission notice shall be included in all
|
|
234
|
+
> copies or substantial portions of the Software.
|
|
191
235
|
>
|
|
192
|
-
>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
193
|
-
>IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
194
|
-
>FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
195
|
-
>AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
196
|
-
>LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
197
|
-
>OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
198
|
-
>
|
|
236
|
+
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
237
|
+
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
238
|
+
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
239
|
+
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
240
|
+
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
241
|
+
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
242
|
+
> SOFTWARE.
|
|
199
243
|
>
|
|
200
|
-
>Further details see [LICENSE](LICENSE) file.
|
|
244
|
+
> Further details see [LICENSE](LICENSE) file.
|
|
201
245
|
|
|
202
246
|
[license-url]: https://github.com/sebhildebrandt/systeminformation/blob/master/LICENSE
|
|
203
247
|
[license-img]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
|
|
204
248
|
[koa-url]: https://github.com/koajs/koa
|
|
205
|
-
|
|
206
249
|
[gracefulShutdown-url]: https://github.com/sebhildebrandt/http-graceful-shutdown
|
|
207
250
|
[koa-router-url]: https://github.com/koajs/router
|
|
208
251
|
[koa-helmet-url]: https://github.com/venables/koa-helmet
|
|
209
|
-
|
|
210
252
|
[npm-image]: https://img.shields.io/npm/v/koa-micro-ts.svg?style=flat-square
|
|
211
253
|
[npm-url]: https://npmjs.org/package/koa-micro-ts
|
|
212
254
|
[downloads-image]: https://img.shields.io/npm/dm/koa-micro-ts.svg?style=flat-square
|
package/dist/args.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
declare const _default: (alias?: any) => any;
|
|
2
|
-
export
|
|
2
|
+
export default _default;
|
package/dist/args.js
CHANGED
package/dist/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
|
package/dist/autoRoute.js
CHANGED
|
@@ -1,36 +1,4 @@
|
|
|
1
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
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
4
|
};
|
|
@@ -60,7 +28,7 @@ const readdirSyncRecursive = (filePath, allFiles) => {
|
|
|
60
28
|
}
|
|
61
29
|
catch (e) { }
|
|
62
30
|
};
|
|
63
|
-
const autoRoute = (app, routepath, mountpoint, auth) =>
|
|
31
|
+
const autoRoute = async (app, routepath, mountpoint, auth) => {
|
|
64
32
|
mountpoint = mountpoint !== null && mountpoint !== void 0 ? mountpoint : '';
|
|
65
33
|
auth = auth !== null && auth !== void 0 ? auth : false;
|
|
66
34
|
const routes = new router_1.default({
|
|
@@ -81,110 +49,108 @@ const autoRoute = (app, routepath, mountpoint, auth) => __awaiter(void 0, void 0
|
|
|
81
49
|
const doc = (0, apiDoc_1.parseFileApiDoc)(fileName, auth) || {};
|
|
82
50
|
docObj = (0, apiDoc_1.mergeDeep)(docObj, doc);
|
|
83
51
|
}
|
|
84
|
-
const obj =
|
|
52
|
+
const obj = await import(fileName);
|
|
85
53
|
let method;
|
|
86
54
|
let url;
|
|
87
55
|
for (const key in obj) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
56
|
+
url = relfile;
|
|
57
|
+
if (url.endsWith(routerSuffixJs)) {
|
|
58
|
+
url = url.substring(url.length - routerSuffixJs.length, 0);
|
|
59
|
+
}
|
|
60
|
+
if (url.endsWith(routerSuffixTs)) {
|
|
61
|
+
url = url.substring(url.length - routerSuffixTs.length, 0);
|
|
62
|
+
}
|
|
63
|
+
if ('index' === url.substr(url.length - 5)) {
|
|
64
|
+
url = url.substring(url.length - 5, 0);
|
|
65
|
+
}
|
|
66
|
+
switch (key) {
|
|
67
|
+
case 'list':
|
|
68
|
+
method = 'get';
|
|
69
|
+
break;
|
|
70
|
+
case 'get':
|
|
71
|
+
method = 'get';
|
|
72
|
+
url = (0, path_1.join)(url, '/get');
|
|
73
|
+
break;
|
|
74
|
+
case 'detail':
|
|
75
|
+
method = 'get';
|
|
76
|
+
url = (0, path_1.join)(url, '/:id');
|
|
77
|
+
break;
|
|
78
|
+
case 'detail_detail':
|
|
79
|
+
method = 'get';
|
|
80
|
+
url = (0, path_1.join)(url, '/:id/:id2');
|
|
81
|
+
break;
|
|
82
|
+
case 'detail_detail_detail':
|
|
83
|
+
method = 'get';
|
|
84
|
+
url = (0, path_1.join)(url, '/:id/:id2/:id3');
|
|
85
|
+
break;
|
|
86
|
+
case 'index':
|
|
87
|
+
method = 'get';
|
|
88
|
+
break;
|
|
89
|
+
case 'star':
|
|
90
|
+
method = 'get';
|
|
91
|
+
url = (0, path_1.join)(url, '/*');
|
|
92
|
+
break;
|
|
93
|
+
case 'set':
|
|
94
|
+
method = 'get';
|
|
95
|
+
url = (0, path_1.join)(url, '/set');
|
|
96
|
+
break;
|
|
97
|
+
case 'post':
|
|
98
|
+
method = 'post';
|
|
99
|
+
break;
|
|
100
|
+
case 'post_detail':
|
|
101
|
+
method = 'post';
|
|
102
|
+
url = (0, path_1.join)(url, '/:id');
|
|
103
|
+
break;
|
|
104
|
+
case 'post_detail_detail':
|
|
105
|
+
method = 'post';
|
|
106
|
+
url = (0, path_1.join)(url, '/:id/:id2');
|
|
107
|
+
break;
|
|
108
|
+
case 'post_detail_detail_detail':
|
|
109
|
+
method = 'post';
|
|
110
|
+
url = (0, path_1.join)(url, '/:id/:id2/:id3');
|
|
111
|
+
break;
|
|
112
|
+
case 'put':
|
|
113
|
+
method = 'put';
|
|
114
|
+
break;
|
|
115
|
+
case 'put_detail':
|
|
116
|
+
method = 'put';
|
|
117
|
+
url = (0, path_1.join)(url, '/:id');
|
|
118
|
+
break;
|
|
119
|
+
case 'put_detail_detail':
|
|
120
|
+
method = 'put';
|
|
121
|
+
url = (0, path_1.join)(url, '/:id/:id2');
|
|
122
|
+
break;
|
|
123
|
+
case 'put_detail_detail_detail':
|
|
124
|
+
method = 'put';
|
|
125
|
+
url = (0, path_1.join)(url, '/:id/:id2/:id3');
|
|
126
|
+
break;
|
|
127
|
+
case 'delete_detail':
|
|
128
|
+
method = 'delete';
|
|
129
|
+
url = (0, path_1.join)(url, '/:id');
|
|
130
|
+
break;
|
|
131
|
+
case 'delete_detail_detail':
|
|
132
|
+
method = 'delete';
|
|
133
|
+
url = (0, path_1.join)(url, '/:id/:id2');
|
|
134
|
+
break;
|
|
135
|
+
case 'delete_detail_detail_detail':
|
|
136
|
+
method = 'delete';
|
|
137
|
+
url = (0, path_1.join)(url, '/:id/:id2/:id3');
|
|
138
|
+
break;
|
|
139
|
+
default:
|
|
140
|
+
method = '';
|
|
141
|
+
url = '';
|
|
142
|
+
}
|
|
143
|
+
if (method) {
|
|
144
|
+
url = url.replace(/\\/g, "/");
|
|
145
|
+
;
|
|
146
|
+
if (auth) {
|
|
147
|
+
routes[method](url, jwt_1.default.middleware(), obj[key]);
|
|
98
148
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
method = 'get';
|
|
102
|
-
break;
|
|
103
|
-
case 'get':
|
|
104
|
-
method = 'get';
|
|
105
|
-
url = (0, path_1.join)(url, '/get');
|
|
106
|
-
break;
|
|
107
|
-
case 'detail':
|
|
108
|
-
method = 'get';
|
|
109
|
-
url = (0, path_1.join)(url, '/:id');
|
|
110
|
-
break;
|
|
111
|
-
case 'detail_detail':
|
|
112
|
-
method = 'get';
|
|
113
|
-
url = (0, path_1.join)(url, '/:id/:id2');
|
|
114
|
-
break;
|
|
115
|
-
case 'detail_detail_detail':
|
|
116
|
-
method = 'get';
|
|
117
|
-
url = (0, path_1.join)(url, '/:id/:id2/:id3');
|
|
118
|
-
break;
|
|
119
|
-
case 'index':
|
|
120
|
-
method = 'get';
|
|
121
|
-
break;
|
|
122
|
-
case 'star':
|
|
123
|
-
method = 'get';
|
|
124
|
-
url = (0, path_1.join)(url, '/*');
|
|
125
|
-
break;
|
|
126
|
-
case 'set':
|
|
127
|
-
method = 'get';
|
|
128
|
-
url = (0, path_1.join)(url, '/set');
|
|
129
|
-
break;
|
|
130
|
-
case 'post':
|
|
131
|
-
method = 'post';
|
|
132
|
-
break;
|
|
133
|
-
case 'post_detail':
|
|
134
|
-
method = 'post';
|
|
135
|
-
url = (0, path_1.join)(url, '/:id');
|
|
136
|
-
break;
|
|
137
|
-
case 'post_detail_detail':
|
|
138
|
-
method = 'post';
|
|
139
|
-
url = (0, path_1.join)(url, '/:id/:id2');
|
|
140
|
-
break;
|
|
141
|
-
case 'post_detail_detail_detail':
|
|
142
|
-
method = 'post';
|
|
143
|
-
url = (0, path_1.join)(url, '/:id/:id2/:id3');
|
|
144
|
-
break;
|
|
145
|
-
case 'put':
|
|
146
|
-
method = 'put';
|
|
147
|
-
break;
|
|
148
|
-
case 'put_detail':
|
|
149
|
-
method = 'put';
|
|
150
|
-
url = (0, path_1.join)(url, '/:id');
|
|
151
|
-
break;
|
|
152
|
-
case 'put_detail_detail':
|
|
153
|
-
method = 'put';
|
|
154
|
-
url = (0, path_1.join)(url, '/:id/:id2');
|
|
155
|
-
break;
|
|
156
|
-
case 'put_detail_detail_detail':
|
|
157
|
-
method = 'put';
|
|
158
|
-
url = (0, path_1.join)(url, '/:id/:id2/:id3');
|
|
159
|
-
break;
|
|
160
|
-
case 'delete_detail':
|
|
161
|
-
method = 'delete';
|
|
162
|
-
url = (0, path_1.join)(url, '/:id');
|
|
163
|
-
break;
|
|
164
|
-
case 'delete_detail_detail':
|
|
165
|
-
method = 'delete';
|
|
166
|
-
url = (0, path_1.join)(url, '/:id/:id2');
|
|
167
|
-
break;
|
|
168
|
-
case 'delete_detail_detail_detail':
|
|
169
|
-
method = 'delete';
|
|
170
|
-
url = (0, path_1.join)(url, '/:id/:id2/:id3');
|
|
171
|
-
break;
|
|
172
|
-
default:
|
|
173
|
-
method = '';
|
|
174
|
-
url = '';
|
|
149
|
+
else {
|
|
150
|
+
routes[method](url, obj[key]);
|
|
175
151
|
}
|
|
176
|
-
if (
|
|
177
|
-
url
|
|
178
|
-
;
|
|
179
|
-
if (auth) {
|
|
180
|
-
routes[method](url, jwt_1.default.middleware(), obj[key]);
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
routes[method](url, obj[key]);
|
|
184
|
-
}
|
|
185
|
-
if (app && app.log && app.log.level && app.log.level === log_1.LogLevels.all) {
|
|
186
|
-
app.log.note(' ' + mountpoint + url + ' --- ' + method + ' - Function: ' + key, false, false);
|
|
187
|
-
}
|
|
152
|
+
if (app && app.log && app.log.level && app.log.level === log_1.LogLevels.all) {
|
|
153
|
+
app.log.note(' ' + mountpoint + url + ' --- ' + method + ' - Function: ' + key, false, false);
|
|
188
154
|
}
|
|
189
155
|
}
|
|
190
156
|
}
|
|
@@ -197,6 +163,6 @@ const autoRoute = (app, routepath, mountpoint, auth) => __awaiter(void 0, void 0
|
|
|
197
163
|
if (app.apiDoc) {
|
|
198
164
|
app.apiDocObj = docObj;
|
|
199
165
|
}
|
|
200
|
-
}
|
|
166
|
+
};
|
|
201
167
|
exports.autoRoute = autoRoute;
|
|
202
168
|
//# sourceMappingURL=autoRoute.js.map
|
package/dist/autoRoute.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoRoute.js","sourceRoot":"","sources":["../src/autoRoute.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"autoRoute.js","sourceRoot":"","sources":["../src/autoRoute.ts"],"names":[],"mappings":"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"}
|
package/dist/cors.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
declare const _default: (options?: any) => (ctx?: any, next?: any) => Promise<any>;
|
|
2
|
-
export
|
|
2
|
+
export default _default;
|
package/dist/cors.js
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
module.exports = (options = {}) => {
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = (options = {}) => {
|
|
12
4
|
const defaultOptions = {
|
|
13
5
|
allowMethods: ['GET', 'PUT', 'POST', 'DELETE', 'HEAD'],
|
|
14
6
|
credentials: true,
|
|
@@ -19,7 +11,7 @@ module.exports = (options = {}) => {
|
|
|
19
11
|
options[key] = defaultOptions[key];
|
|
20
12
|
}
|
|
21
13
|
}
|
|
22
|
-
return (ctx, next) =>
|
|
14
|
+
return async (ctx, next) => {
|
|
23
15
|
let origin;
|
|
24
16
|
if (typeof options.origin === 'function') {
|
|
25
17
|
origin = options.origin(ctx);
|
|
@@ -28,7 +20,7 @@ module.exports = (options = {}) => {
|
|
|
28
20
|
origin = options.origin || ctx.get('Access-Control-Allow-Origin') || '*';
|
|
29
21
|
}
|
|
30
22
|
if (!origin) {
|
|
31
|
-
return
|
|
23
|
+
return await next();
|
|
32
24
|
}
|
|
33
25
|
ctx.set('Access-Control-Allow-Methods', options.allowMethods.join(','));
|
|
34
26
|
ctx.set('Access-Control-Allow-Origin', origin);
|
|
@@ -51,8 +43,8 @@ module.exports = (options = {}) => {
|
|
|
51
43
|
ctx.status = 204;
|
|
52
44
|
}
|
|
53
45
|
else {
|
|
54
|
-
|
|
46
|
+
await next();
|
|
55
47
|
}
|
|
56
|
-
}
|
|
48
|
+
};
|
|
57
49
|
};
|
|
58
50
|
//# sourceMappingURL=cors.js.map
|
package/dist/cors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":";;AA0BA,kBAAe,CAAC,UAAe,EAAE,EAAE,EAAE;IACnC,MAAM,cAAc,GAAQ;QAC1B,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;QACtD,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,IAAI;KACb,CAAC;IAGF,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE;QAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACvD,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;SACpC;KACF;IAED,OAAO,KAAK,EAAE,GAAS,EAAE,IAAU,EAAE,EAAE;QACrC,IAAI,MAAM,CAAC;QACX,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE;YACxC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC9B;aAAM;YACL,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,GAAG,CAAC;SAC1E;QACD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,MAAM,IAAI,EAAE,CAAC;SACrB;QAGD,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAExE,GAAG,CAAC,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;QAG/C,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3D;QACD,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,EAAE;YAChC,GAAG,CAAC,GAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;SACrD;QAED,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACzE;aAAM,IAAI,GAAG,CAAC,GAAG,CAAC,gCAAgC,CAAC,EAAE;YACpD,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE,GAAG,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;SACpF;QAED,IAAI,OAAO,CAAC,aAAa,EAAE;YACzB,GAAG,CAAC,GAAG,CAAC,+BAA+B,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3E;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;YAC5B,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;SAClB;aAAM;YACL,MAAM,IAAI,EAAE,CAAC;SACd;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -81,7 +72,7 @@ class KoaMicro extends koa_1.default {
|
|
|
81
72
|
status.resultcode = 200;
|
|
82
73
|
ctx.body = status;
|
|
83
74
|
});
|
|
84
|
-
router.get(options.readyPath, (ctx) =>
|
|
75
|
+
router.get(options.readyPath, async (ctx) => {
|
|
85
76
|
const status = {};
|
|
86
77
|
if (process.env.APP_NAME) {
|
|
87
78
|
status.name = process.env.APP_NAME;
|
|
@@ -101,7 +92,7 @@ class KoaMicro extends koa_1.default {
|
|
|
101
92
|
if (options === null || options === void 0 ? void 0 : options.isReady) {
|
|
102
93
|
let res = false;
|
|
103
94
|
try {
|
|
104
|
-
res =
|
|
95
|
+
res = await options.isReady();
|
|
105
96
|
}
|
|
106
97
|
catch (e) {
|
|
107
98
|
res = false;
|
|
@@ -117,7 +108,7 @@ class KoaMicro extends koa_1.default {
|
|
|
117
108
|
}
|
|
118
109
|
status.resultcode = ctx.status;
|
|
119
110
|
ctx.body = status;
|
|
120
|
-
})
|
|
111
|
+
});
|
|
121
112
|
this
|
|
122
113
|
.use(router.routes())
|
|
123
114
|
.use(router.allowedMethods());
|
|
@@ -146,10 +137,10 @@ class KoaMicro extends koa_1.default {
|
|
|
146
137
|
this.start = (port) => {
|
|
147
138
|
if (this.apiDoc) {
|
|
148
139
|
const router = new router_1.default();
|
|
149
|
-
router.get(this.apiDoc, (ctx) =>
|
|
140
|
+
router.get(this.apiDoc, async (ctx) => {
|
|
150
141
|
ctx.status = 200;
|
|
151
142
|
ctx.body = (0, apiDoc_1.createHtml)(this.apiDocObj);
|
|
152
|
-
})
|
|
143
|
+
});
|
|
153
144
|
this
|
|
154
145
|
.use(router.routes())
|
|
155
146
|
.use(router.allowedMethods());
|
|
@@ -159,15 +150,15 @@ class KoaMicro extends koa_1.default {
|
|
|
159
150
|
this.log = new log_1.Logger({
|
|
160
151
|
level: log_1.LogLevels.none
|
|
161
152
|
});
|
|
162
|
-
this.autoRoute = (routepath, mountpoint, auth) =>
|
|
153
|
+
this.autoRoute = async (routepath, mountpoint, auth) => {
|
|
163
154
|
mountpoint = mountpoint !== null && mountpoint !== void 0 ? mountpoint : '';
|
|
164
155
|
auth = auth !== null && auth !== void 0 ? auth : false;
|
|
165
|
-
|
|
166
|
-
}
|
|
156
|
+
await (0, autoRoute_1.autoRoute)(this, routepath, mountpoint, auth);
|
|
157
|
+
};
|
|
167
158
|
this.args = {};
|
|
168
|
-
this.catchErrorsFn = (ctx, next) =>
|
|
159
|
+
this.catchErrorsFn = async (ctx, next) => {
|
|
169
160
|
try {
|
|
170
|
-
|
|
161
|
+
await next();
|
|
171
162
|
}
|
|
172
163
|
catch (err) {
|
|
173
164
|
if (err === null) {
|
|
@@ -187,7 +178,7 @@ class KoaMicro extends koa_1.default {
|
|
|
187
178
|
description
|
|
188
179
|
});
|
|
189
180
|
}
|
|
190
|
-
}
|
|
181
|
+
};
|
|
191
182
|
this.development = ((_a = process.env) === null || _a === void 0 ? void 0 : _a.DEVELOPMENT) ? true : false;
|
|
192
183
|
this.staticPath = '';
|
|
193
184
|
}
|
|
@@ -210,13 +201,13 @@ class KoaMicro extends koa_1.default {
|
|
|
210
201
|
}
|
|
211
202
|
return result;
|
|
212
203
|
}
|
|
213
|
-
return (ctx, next) =>
|
|
204
|
+
return async (ctx, next) => {
|
|
214
205
|
const start = ctx[Symbol.for('request-received.startTime')]
|
|
215
206
|
? ctx[Symbol.for('request-received.startTime')].getTime()
|
|
216
207
|
: Date.now();
|
|
217
208
|
try {
|
|
218
209
|
this.log.http(` <-- ${ctx.method} ${ctx.originalUrl}`);
|
|
219
|
-
|
|
210
|
+
await next();
|
|
220
211
|
if (ctx.status < 400) {
|
|
221
212
|
this.log.http(` --> ${ctx.method} ${ctx.originalUrl} ${ctx.status || 500} ${time(start)} ${len(ctx)}`);
|
|
222
213
|
}
|
|
@@ -228,7 +219,7 @@ class KoaMicro extends koa_1.default {
|
|
|
228
219
|
this.log.error(` xxx ${ctx.method} ${ctx.originalUrl} ${err.status || 500} ${time(start)}`);
|
|
229
220
|
throw err;
|
|
230
221
|
}
|
|
231
|
-
}
|
|
222
|
+
};
|
|
232
223
|
}
|
|
233
224
|
apiHistoryFallbackMiddleware(options) {
|
|
234
225
|
const staticPath = this.staticPath;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/jwt.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -50,7 +41,7 @@ const middleware = () => {
|
|
|
50
41
|
secret: publicKey,
|
|
51
42
|
algorithm: config.algorithm
|
|
52
43
|
};
|
|
53
|
-
const middleWare = (ctx, next) =>
|
|
44
|
+
const middleWare = async (ctx, next) => {
|
|
54
45
|
var _a;
|
|
55
46
|
let token;
|
|
56
47
|
let msg;
|
|
@@ -88,7 +79,7 @@ const middleware = () => {
|
|
|
88
79
|
}
|
|
89
80
|
ctx.jwt = JWT.decode(token);
|
|
90
81
|
try {
|
|
91
|
-
user =
|
|
82
|
+
user = await JWT.verify(token, secret, opts);
|
|
92
83
|
}
|
|
93
84
|
catch (e) {
|
|
94
85
|
msg = 'Invalid token' + (opts.debug ? ' - ' + e.message + '\n' : '\n');
|
|
@@ -96,19 +87,19 @@ const middleware = () => {
|
|
|
96
87
|
if (user || opts.passthrough) {
|
|
97
88
|
ctx.state = ctx.state || {};
|
|
98
89
|
ctx.state[opts.key] = user;
|
|
99
|
-
|
|
90
|
+
await next();
|
|
100
91
|
}
|
|
101
92
|
else {
|
|
102
93
|
ctx.throw(401, msg);
|
|
103
94
|
}
|
|
104
|
-
}
|
|
95
|
+
};
|
|
105
96
|
return middleWare;
|
|
106
97
|
};
|
|
107
98
|
const sign = (claims, expiresIn) => {
|
|
108
99
|
expiresIn = expiresIn || config.expires || 3600;
|
|
109
100
|
return jsonwebtoken_1.default.sign(claims, privateKey, { algorithm: config.algorithm, expiresIn });
|
|
110
101
|
};
|
|
111
|
-
const check = (ctx) =>
|
|
102
|
+
const check = async (ctx) => {
|
|
112
103
|
var _a;
|
|
113
104
|
const opts = {
|
|
114
105
|
secret: publicKey,
|
|
@@ -136,7 +127,7 @@ const check = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
136
127
|
try {
|
|
137
128
|
ctx.jwt = JWT.decode(token);
|
|
138
129
|
try {
|
|
139
|
-
user =
|
|
130
|
+
user = await JWT.verify(token, secret, opts);
|
|
140
131
|
ctx.jwt.user = user;
|
|
141
132
|
}
|
|
142
133
|
catch (e) {
|
|
@@ -149,13 +140,13 @@ const check = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
149
140
|
}
|
|
150
141
|
}
|
|
151
142
|
return ctx.jwt;
|
|
152
|
-
}
|
|
143
|
+
};
|
|
153
144
|
const verify = jsonwebtoken_1.default.verify;
|
|
154
145
|
const decode = jsonwebtoken_1.default.decode;
|
|
155
146
|
const catchErrors = (message) => {
|
|
156
|
-
return (ctx, next) =>
|
|
147
|
+
return async (ctx, next) => {
|
|
157
148
|
try {
|
|
158
|
-
|
|
149
|
+
await next();
|
|
159
150
|
}
|
|
160
151
|
catch (e) {
|
|
161
152
|
if (e.status === 401) {
|
|
@@ -171,7 +162,7 @@ const catchErrors = (message) => {
|
|
|
171
162
|
throw e;
|
|
172
163
|
}
|
|
173
164
|
}
|
|
174
|
-
}
|
|
165
|
+
};
|
|
175
166
|
};
|
|
176
167
|
exports.default = {
|
|
177
168
|
middleware,
|
package/dist/jwt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"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"}
|
package/dist/static.js
CHANGED
|
@@ -1,52 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.serve = void 0;
|
|
13
|
-
const send = require("koa-send");
|
|
14
4
|
const path_1 = require("path");
|
|
5
|
+
const send = require("koa-send");
|
|
15
6
|
function serve(root, opts) {
|
|
16
7
|
var _a;
|
|
17
8
|
opts = opts !== null && opts !== void 0 ? opts : {};
|
|
18
9
|
if (opts.index !== false)
|
|
19
10
|
opts.index = (_a = opts.index) !== null && _a !== void 0 ? _a : 'index.html';
|
|
20
11
|
opts.root = (0, path_1.resolve)(root);
|
|
21
|
-
return function serve(ctx, next) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
mountPoint = '/' + mountPoint;
|
|
29
|
-
}
|
|
30
|
-
if (mountPoint.endsWith('/')) {
|
|
31
|
-
mountPoint = mountPoint.slice(0, -1);
|
|
32
|
-
}
|
|
12
|
+
return async function serve(ctx, next) {
|
|
13
|
+
let servePath = ctx.path;
|
|
14
|
+
let mountPoint = '';
|
|
15
|
+
if (opts === null || opts === void 0 ? void 0 : opts.mountPoint) {
|
|
16
|
+
mountPoint = opts.mountPoint;
|
|
17
|
+
if (!mountPoint.startsWith('/')) {
|
|
18
|
+
mountPoint = '/' + mountPoint;
|
|
33
19
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
servePath = servePath.substring(mountPoint.length) || '/';
|
|
37
|
-
try {
|
|
38
|
-
done = !!(yield send(ctx, servePath, opts));
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
if (err.status !== 404) {
|
|
42
|
-
throw err;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
20
|
+
if (mountPoint.endsWith('/')) {
|
|
21
|
+
mountPoint = mountPoint.slice(0, -1);
|
|
45
22
|
}
|
|
46
|
-
|
|
47
|
-
|
|
23
|
+
}
|
|
24
|
+
let done = false;
|
|
25
|
+
if ((ctx.method === 'HEAD' || ctx.method === 'GET') && (!mountPoint || ctx.path.startsWith(mountPoint + '/') || ctx.path === mountPoint)) {
|
|
26
|
+
servePath = servePath.substring(mountPoint.length) || '/';
|
|
27
|
+
try {
|
|
28
|
+
done = !!(await send(ctx, servePath, opts));
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
if (err.status !== 404) {
|
|
32
|
+
throw err;
|
|
33
|
+
}
|
|
48
34
|
}
|
|
49
|
-
}
|
|
35
|
+
}
|
|
36
|
+
if (!done) {
|
|
37
|
+
await next();
|
|
38
|
+
}
|
|
50
39
|
};
|
|
51
40
|
}
|
|
52
41
|
exports.serve = serve;
|
package/dist/static.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static.js","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"static.js","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":";;;AAaA,+BAA+B;AAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEjC,SAAS,KAAK,CAAC,IAAY,EAAE,IAAyB;;IACpD,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IAClB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,KAAK,mCAAI,YAAY,CAAC;IAClE,IAAI,CAAC,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC;IAE1B,OAAO,KAAK,UAAU,KAAK,CAAC,GAAQ,EAAE,IAAS;QAC7C,IAAI,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;QACzB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE;YACpB,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAAE,UAAU,GAAG,GAAG,GAAG,UAAU,CAAC;aAAE;YACnE,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAAE,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAAE;SACxE;QACD,IAAI,IAAI,GAAG,KAAK,CAAC;QAEjB,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE;YACxI,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;YAC1D,IAAI;gBACF,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;aAC7C;YAAC,OAAO,GAAQ,EAAE;gBACjB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBACtB,MAAM,GAAG,CAAC;iBACX;aACF;SACF;QAED,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,EAAE,CAAC;SACd;IACH,CAAC,CAAC;AACJ,CAAC;AAGC,sBAAK"}
|