mm_web_server 1.0.0 → 1.0.1
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 +2 -2
- package/lib/cors.js +2 -2
- package/lib/identity.js +2 -2
- package/lib/route.js +2 -2
- package/lib/web.js +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# mm_web_server
|
|
2
2
|
|
|
3
3
|
HTTP Web 服务器入站端口模块。继承 [mm_corejs](https://gitee.com/qiuwenwu91/mm_corejs) 的 `Mod` 基类,只实现**传输机制**(监听、请求解析、管道执行、统一应答),路由、跨域、身份提取等**策略**由可选插件挂载,可脱离完整框架独立运行。
|
|
4
4
|
|
|
@@ -44,7 +44,7 @@ const server = {
|
|
|
44
44
|
hasManager() { return false; }
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
-
const web = new WebServer(
|
|
47
|
+
const web = new WebServer({ name: 'web', host: '127.0.0.1', port: 8080 }, server);
|
|
48
48
|
|
|
49
49
|
web.use(new CorsPlugin({ origin: '*', max_age: 600 }));
|
|
50
50
|
web.use(new IdentityPlugin());
|
package/lib/cors.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
const DEFAULT_METHODS = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIONS'];
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* CorsPlugin —— CORS 跨域策略插件(
|
|
9
|
+
* CorsPlugin —— CORS 跨域策略插件(mm_web_server 的可选业务组件)。
|
|
10
10
|
*
|
|
11
11
|
* 职责:
|
|
12
12
|
* 1. 响应头:bind(web) 后向 WebServer 的请求管道注册 before 钩子 "cors",
|
|
@@ -16,7 +16,7 @@ const DEFAULT_METHODS = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD', 'OPTIO
|
|
|
16
16
|
* 3. 不挂载即无 CORS:传输层不感知跨域策略。
|
|
17
17
|
*
|
|
18
18
|
* 用法:
|
|
19
|
-
* const web = new WebServer(
|
|
19
|
+
* const web = new WebServer({ name: 'web', port: 8080 }, server);
|
|
20
20
|
* web.use(new CorsPlugin({ origin: '*', max_age: 600 }));
|
|
21
21
|
* await web.init();
|
|
22
22
|
* await web.start();
|
package/lib/identity.js
CHANGED
|
@@ -15,7 +15,7 @@ const DEFAULT_HEADERS = {
|
|
|
15
15
|
const HOOK_SORT = 50;
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* IdentityPlugin —— 请求身份提取插件(
|
|
18
|
+
* IdentityPlugin —— 请求身份提取插件(mm_web_server 的可选业务组件)。
|
|
19
19
|
*
|
|
20
20
|
* 职责:
|
|
21
21
|
* 1. 身份映射:按 headers 配置(请求头 → options 字段)从请求头提取调用方身份;
|
|
@@ -24,7 +24,7 @@ const HOOK_SORT = 50;
|
|
|
24
24
|
* 3. 不挂载即无身份:传输层不感知身份请求头约定,映射可由使用方自定义。
|
|
25
25
|
*
|
|
26
26
|
* 用法:
|
|
27
|
-
* const web = new WebServer(
|
|
27
|
+
* const web = new WebServer({ name: 'web', port: 8080 }, server);
|
|
28
28
|
* web.use(new IdentityPlugin());
|
|
29
29
|
* web.use(new IdentityPlugin({ headers: { 'x-tenant': 'tenant_id' } }));
|
|
30
30
|
* router.addRoute('GET', '/whoami', (ctx, params, options) => options);
|
package/lib/route.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const { Store } = require('mm_corejs');
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* RoutePlugin —— HTTP 路由插件(
|
|
6
|
+
* RoutePlugin —— HTTP 路由插件(mm_web_server 的可选业务组件)。
|
|
7
7
|
*
|
|
8
8
|
* 职责:
|
|
9
9
|
* 1. 路由表:#routes 使用 Store 存储(主键 "METHOD /path"),支持条件查询与分页;
|
|
@@ -15,7 +15,7 @@ const { Store } = require('mm_corejs');
|
|
|
15
15
|
* 原样透传给路由处理函数第三参。
|
|
16
16
|
*
|
|
17
17
|
* 用法:
|
|
18
|
-
* const web = new WebServer(
|
|
18
|
+
* const web = new WebServer({ name: 'web', port: 8080 }, server);
|
|
19
19
|
* const router = new RoutePlugin();
|
|
20
20
|
* web.use(router);
|
|
21
21
|
* router.addRoute('GET', '/hello', (ctx, params, options) => ({ hello: params.query.name }));
|
package/lib/web.js
CHANGED
|
@@ -40,7 +40,7 @@ const SERVER_SCHEMA = {
|
|
|
40
40
|
* 的 before 钩子按请求头写入 user_id / device_id / agent_id)。
|
|
41
41
|
*
|
|
42
42
|
* 用法:
|
|
43
|
-
* const web = new WebServer(
|
|
43
|
+
* const web = new WebServer({ name: 'web', port: 8080 }, server);
|
|
44
44
|
* web.use(new CorsPlugin({ origin: '*' }));
|
|
45
45
|
* web.use(new IdentityPlugin());
|
|
46
46
|
* const router = new RoutePlugin();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mm_web_server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "HTTP Web 服务器入站端口模块,继承 mm_corejs 的 Mod 基类,支持独立运行。",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"超级美眉",
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
},
|
|
27
27
|
"repository": {
|
|
28
28
|
"type": "git",
|
|
29
|
-
"url": "git+https://gitee.com/qiuwenwu91/
|
|
29
|
+
"url": "git+https://gitee.com/qiuwenwu91/mm_web_server.git"
|
|
30
30
|
},
|
|
31
|
-
"homepage": "https://gitee.com/qiuwenwu91/
|
|
31
|
+
"homepage": "https://gitee.com/qiuwenwu91/mm_web_server",
|
|
32
32
|
"bugs": {
|
|
33
|
-
"url": "https://gitee.com/qiuwenwu91/
|
|
33
|
+
"url": "https://gitee.com/qiuwenwu91/mm_web_server/issues"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
36
|
"start": "node example/demo.js",
|