wok-server 0.4.13 → 0.6.0
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.en.md +61 -0
- package/README.md +44 -29
- package/dist/cache/cache.js +98 -98
- package/dist/cache/config.js +19 -19
- package/dist/cache/index.js +27 -27
- package/dist/cache/purge-task.js +46 -46
- package/dist/cache/stat.js +47 -47
- package/dist/config/convert.js +36 -36
- package/dist/config/exception.js +14 -14
- package/dist/config/index.js +81 -81
- package/dist/http-client/index.js +136 -136
- package/dist/i18n/ar.js +17 -17
- package/dist/i18n/de.js +17 -17
- package/dist/i18n/en-us.js +17 -17
- package/dist/i18n/es.js +17 -17
- package/dist/i18n/fr.js +17 -17
- package/dist/i18n/i18n.js +231 -231
- package/dist/i18n/index.js +52 -52
- package/dist/i18n/ja.js +17 -17
- package/dist/i18n/ko.js +17 -17
- package/dist/i18n/msg.js +2 -2
- package/dist/i18n/pt.js +17 -17
- package/dist/i18n/ru.js +17 -17
- package/dist/i18n/tag.js +18 -18
- package/dist/i18n/zh-HK.js +17 -17
- package/dist/i18n/zh-TW.js +17 -17
- package/dist/i18n/zh-cn.js +17 -17
- package/dist/index.js +14 -14
- package/dist/lock/index.js +114 -114
- package/dist/log/config.js +35 -29
- package/dist/log/date.js +21 -21
- package/dist/log/file.js +198 -72
- package/dist/log/index.js +135 -105
- package/dist/log/level.js +33 -33
- package/dist/log/log.js +56 -0
- package/dist/log/store.js +19 -16
- package/dist/mongodb/collection.js +2 -2
- package/dist/mongodb/config.js +34 -34
- package/dist/mongodb/doc.js +2 -2
- package/dist/mongodb/exception.js +14 -14
- package/dist/mongodb/index.js +58 -58
- package/dist/mongodb/manager/base.js +563 -563
- package/dist/mongodb/manager/index.js +63 -63
- package/dist/mongodb/manager/tx-strict.js +84 -84
- package/dist/mongodb/manager/tx.js +30 -30
- package/dist/mongodb/migration.js +52 -52
- package/dist/mvc/access-log.js +33 -33
- package/dist/mvc/config.js +27 -27
- package/dist/mvc/exchange.js +113 -113
- package/dist/mvc/handler/index.js +7 -6
- package/dist/mvc/handler/json.js +65 -65
- package/dist/mvc/handler/restful.js +35 -35
- package/dist/mvc/handler/sse.js +65 -0
- package/dist/mvc/handler/upload.js +31 -31
- package/dist/mvc/index.js +50 -50
- package/dist/mvc/interceptor.js +2 -2
- package/dist/mvc/query.js +43 -43
- package/dist/mvc/render/file.js +132 -132
- package/dist/mvc/render/html/html.js +90 -90
- package/dist/mvc/render/html/index.js +18 -18
- package/dist/mvc/render/html/style.js +2 -2
- package/dist/mvc/render/index.js +7 -7
- package/dist/mvc/render/json.js +26 -26
- package/dist/mvc/render/text.js +16 -16
- package/dist/mvc/router.js +2 -2
- package/dist/mvc/server.js +272 -272
- package/dist/mvc/static/header.js +67 -67
- package/dist/mvc/static/index.js +6 -6
- package/dist/mvc/static/mime-type.js +84 -84
- package/dist/mvc/static/server-cache-config.js +66 -66
- package/dist/mvc/static/server-cache.js +133 -133
- package/dist/mvc/static/static-handler.js +372 -372
- package/dist/mysql/config.js +51 -51
- package/dist/mysql/exception.js +14 -14
- package/dist/mysql/index.js +87 -87
- package/dist/mysql/manager/base.js +239 -231
- package/dist/mysql/manager/index.js +107 -107
- package/dist/mysql/manager/ops/count.js +20 -20
- package/dist/mysql/manager/ops/criteria.js +356 -356
- package/dist/mysql/manager/ops/delete.js +65 -65
- package/dist/mysql/manager/ops/exist.js +26 -26
- package/dist/mysql/manager/ops/find.js +169 -130
- package/dist/mysql/manager/ops/index.js +14 -14
- package/dist/mysql/manager/ops/insert.js +106 -106
- package/dist/mysql/manager/ops/modify.js +10 -10
- package/dist/mysql/manager/ops/paginate.js +23 -23
- package/dist/mysql/manager/ops/query.js +9 -9
- package/dist/mysql/manager/ops/update.js +216 -216
- package/dist/mysql/manager/ops/utils.js +24 -24
- package/dist/mysql/manager/tx-strict.js +103 -100
- package/dist/mysql/manager/tx.js +30 -30
- package/dist/mysql/manager/utils.js +56 -56
- package/dist/mysql/migration.js +136 -136
- package/dist/mysql/table-info.js +8 -8
- package/dist/task/daily.js +59 -59
- package/dist/task/fixed-delay.js +38 -38
- package/dist/task/fixed-rate.js +42 -42
- package/dist/task/index.js +9 -9
- package/dist/task/task.js +56 -56
- package/dist/validation/exception.js +36 -36
- package/dist/validation/index.js +40 -40
- package/dist/validation/validator/array.js +34 -34
- package/dist/validation/validator/enum.js +28 -28
- package/dist/validation/validator/index.js +14 -14
- package/dist/validation/validator/length.js +40 -40
- package/dist/validation/validator/max-length.js +35 -35
- package/dist/validation/validator/max.js +29 -29
- package/dist/validation/validator/min-length.js +33 -33
- package/dist/validation/validator/min.js +29 -29
- package/dist/validation/validator/not-blank.js +33 -33
- package/dist/validation/validator/not-null.js +21 -21
- package/dist/validation/validator/plain-obj.js +32 -32
- package/dist/validation/validator/regexp.js +34 -34
- package/documentation/en/cache.md +56 -0
- package/documentation/en/config.md +96 -0
- package/documentation/en/engineering.md +256 -0
- package/documentation/en/http-client.md +32 -0
- package/documentation/en/i18n.md +143 -0
- package/documentation/en/index.md +24 -0
- package/documentation/en/lock.md +51 -0
- package/documentation/en/log.md +109 -0
- package/documentation/en/mongodb.md +256 -0
- package/documentation/en/mvc.md +688 -0
- package/documentation/en/mysql.md +552 -0
- package/documentation/en/task.md +45 -0
- package/documentation/en/test.md +56 -0
- package/documentation/en/validate.md +130 -0
- package/documentation/zh-cn/engineering.md +1 -1
- package/documentation/zh-cn/log.md +81 -8
- package/documentation/zh-cn/mvc.md +66 -24
- package/documentation/zh-cn/mysql.md +24 -23
- package/documentation/zh-cn/validate.md +2 -2
- package/package.json +3 -1
- package/skills/wok-server-api-rules/SKILL.md +350 -0
- package/skills/wok-server-cache/SKILL.md +216 -0
- package/skills/wok-server-config/SKILL.md +200 -0
- package/skills/wok-server-getting-started/SKILL.md +123 -0
- package/skills/wok-server-getting-started/references/engineering.md +169 -0
- package/skills/wok-server-http-client/SKILL.md +164 -0
- package/skills/wok-server-i18n/SKILL.md +214 -0
- package/skills/wok-server-lock/SKILL.md +144 -0
- package/skills/wok-server-log/SKILL.md +218 -0
- package/skills/wok-server-mongodb/SKILL.md +235 -0
- package/skills/wok-server-mvc/SKILL.md +251 -0
- package/skills/wok-server-mvc/references/respond-html.md +157 -0
- package/skills/wok-server-mvc/references/sse.md +121 -0
- package/skills/wok-server-mvc/references/static-files.md +47 -0
- package/skills/wok-server-mvc/references/upload.md +62 -0
- package/skills/wok-server-mvc/references/websocket.md +30 -0
- package/skills/wok-server-mysql/SKILL.md +315 -0
- package/skills/wok-server-mysql/references/multi-datasource.md +76 -0
- package/skills/wok-server-mysql/references/version-control.md +22 -0
- package/skills/wok-server-task/SKILL.md +158 -0
- package/skills/wok-server-validate/SKILL.md +167 -0
- package/src/cache/cache.ts +118 -0
- package/src/cache/config.ts +53 -0
- package/src/cache/index.ts +27 -0
- package/src/cache/purge-task.ts +53 -0
- package/src/cache/stat.ts +47 -0
- package/src/config/convert.ts +27 -0
- package/src/config/exception.ts +8 -0
- package/src/config/index.ts +92 -0
- package/src/http-client/index.ts +202 -0
- package/src/i18n/ar.ts +16 -0
- package/src/i18n/de.ts +16 -0
- package/src/i18n/en-us.ts +16 -0
- package/src/i18n/es.ts +16 -0
- package/src/i18n/fr.ts +16 -0
- package/src/i18n/i18n.ts +230 -0
- package/src/i18n/index.ts +50 -0
- package/src/i18n/ja.ts +16 -0
- package/src/i18n/ko.ts +16 -0
- package/src/i18n/msg.ts +50 -0
- package/src/i18n/pt.ts +16 -0
- package/src/i18n/ru.ts +16 -0
- package/src/i18n/tag.ts +18 -0
- package/src/i18n/zh-HK.ts +16 -0
- package/src/i18n/zh-TW.ts +16 -0
- package/src/i18n/zh-cn.ts +16 -0
- package/src/index.ts +11 -0
- package/src/lock/index.ts +164 -0
- package/src/log/config.ts +71 -0
- package/src/log/date.ts +19 -0
- package/src/log/file.ts +215 -0
- package/src/log/index.ts +136 -0
- package/src/log/level.ts +29 -0
- package/src/log/log.ts +77 -0
- package/src/log/store.ts +31 -0
- package/src/mongodb/collection.ts +25 -0
- package/src/mongodb/config.ts +69 -0
- package/src/mongodb/doc.ts +12 -0
- package/src/mongodb/exception.ts +8 -0
- package/src/mongodb/index.ts +71 -0
- package/src/mongodb/manager/base.ts +674 -0
- package/src/mongodb/manager/index.ts +80 -0
- package/src/mongodb/manager/tx-strict.ts +153 -0
- package/src/mongodb/manager/tx.ts +34 -0
- package/src/mongodb/migration.ts +66 -0
- package/src/mvc/access-log.ts +33 -0
- package/src/mvc/config.ts +70 -0
- package/src/mvc/exchange.ts +126 -0
- package/src/mvc/handler/index.ts +4 -0
- package/src/mvc/handler/json.ts +96 -0
- package/src/mvc/handler/restful.ts +39 -0
- package/src/mvc/handler/sse.ts +90 -0
- package/src/mvc/handler/upload.ts +54 -0
- package/src/mvc/index.ts +48 -0
- package/src/mvc/interceptor.ts +12 -0
- package/src/mvc/query.ts +36 -0
- package/src/mvc/render/file.ts +148 -0
- package/src/mvc/render/html/html.ts +187 -0
- package/src/mvc/render/html/index.ts +16 -0
- package/src/mvc/render/html/style.ts +1201 -0
- package/src/mvc/render/index.ts +4 -0
- package/src/mvc/render/json.ts +24 -0
- package/src/mvc/render/text.ts +14 -0
- package/src/mvc/router.ts +13 -0
- package/src/mvc/server.ts +315 -0
- package/src/mvc/static/header.ts +86 -0
- package/src/mvc/static/index.ts +3 -0
- package/src/mvc/static/mime-type.ts +81 -0
- package/src/mvc/static/server-cache-config.ts +92 -0
- package/src/mvc/static/server-cache.ts +171 -0
- package/src/mvc/static/static-handler.ts +445 -0
- package/src/mysql/config.ts +130 -0
- package/src/mysql/exception.ts +8 -0
- package/src/mysql/index.ts +88 -0
- package/src/mysql/manager/base.ts +285 -0
- package/src/mysql/manager/index.ts +112 -0
- package/src/mysql/manager/ops/count.ts +30 -0
- package/src/mysql/manager/ops/criteria.ts +412 -0
- package/src/mysql/manager/ops/delete.ts +96 -0
- package/src/mysql/manager/ops/exist.ts +41 -0
- package/src/mysql/manager/ops/find.ts +226 -0
- package/src/mysql/manager/ops/index.ts +11 -0
- package/src/mysql/manager/ops/insert.ts +120 -0
- package/src/mysql/manager/ops/modify.ts +14 -0
- package/src/mysql/manager/ops/paginate.ts +60 -0
- package/src/mysql/manager/ops/query.ts +13 -0
- package/src/mysql/manager/ops/update.ts +294 -0
- package/src/mysql/manager/ops/utils.ts +20 -0
- package/src/mysql/manager/tx-strict.ts +138 -0
- package/src/mysql/manager/tx.ts +31 -0
- package/src/mysql/manager/utils.ts +75 -0
- package/src/mysql/migration.ts +149 -0
- package/src/mysql/table-info.ts +41 -0
- package/src/task/daily.ts +70 -0
- package/src/task/fixed-delay.ts +45 -0
- package/src/task/fixed-rate.ts +49 -0
- package/src/task/index.ts +4 -0
- package/src/task/task.ts +70 -0
- package/src/validation/exception.ts +27 -0
- package/src/validation/index.ts +61 -0
- package/src/validation/validator/array.ts +32 -0
- package/src/validation/validator/enum.ts +25 -0
- package/src/validation/validator/index.ts +11 -0
- package/src/validation/validator/length.ts +42 -0
- package/src/validation/validator/max-length.ts +33 -0
- package/src/validation/validator/max.ts +26 -0
- package/src/validation/validator/min-length.ts +31 -0
- package/src/validation/validator/min.ts +26 -0
- package/src/validation/validator/not-blank.ts +31 -0
- package/src/validation/validator/not-null.ts +19 -0
- package/src/validation/validator/plain-obj.ts +30 -0
- package/src/validation/validator/regexp.ts +32 -0
- package/types/cache/cache.d.ts +52 -52
- package/types/cache/config.d.ts +32 -32
- package/types/cache/index.d.ts +2 -2
- package/types/cache/purge-task.d.ts +11 -11
- package/types/cache/stat.d.ts +26 -26
- package/types/config/convert.d.ts +6 -6
- package/types/config/exception.d.ts +7 -7
- package/types/config/index.d.ts +25 -25
- package/types/http-client/index.d.ts +71 -71
- package/types/i18n/ar.d.ts +2 -2
- package/types/i18n/de.d.ts +2 -2
- package/types/i18n/en-us.d.ts +2 -2
- package/types/i18n/es.d.ts +2 -2
- package/types/i18n/fr.d.ts +2 -2
- package/types/i18n/i18n.d.ts +102 -102
- package/types/i18n/index.d.ts +9 -9
- package/types/i18n/ja.d.ts +2 -2
- package/types/i18n/ko.d.ts +2 -2
- package/types/i18n/msg.d.ts +50 -50
- package/types/i18n/pt.d.ts +2 -2
- package/types/i18n/ru.d.ts +2 -2
- package/types/i18n/tag.d.ts +11 -11
- package/types/i18n/zh-HK.d.ts +2 -2
- package/types/i18n/zh-TW.d.ts +2 -2
- package/types/i18n/zh-cn.d.ts +2 -2
- package/types/index.d.ts +11 -11
- package/types/lock/index.d.ts +64 -64
- package/types/log/config.d.ts +35 -27
- package/types/log/date.d.ts +2 -2
- package/types/log/file.d.ts +13 -5
- package/types/log/index.d.ts +53 -34
- package/types/log/level.d.ts +14 -14
- package/types/log/log.d.ts +40 -0
- package/types/log/store.d.ts +19 -12
- package/types/mongodb/collection.d.ts +25 -25
- package/types/mongodb/config.d.ts +45 -45
- package/types/mongodb/doc.d.ts +11 -11
- package/types/mongodb/exception.d.ts +7 -7
- package/types/mongodb/index.d.ts +29 -29
- package/types/mongodb/manager/base.d.ts +188 -188
- package/types/mongodb/manager/index.d.ts +38 -38
- package/types/mongodb/manager/tx-strict.d.ts +41 -41
- package/types/mongodb/manager/tx.d.ts +21 -21
- package/types/mongodb/migration.d.ts +12 -12
- package/types/mvc/access-log.d.ts +7 -7
- package/types/mvc/config.d.ts +42 -42
- package/types/mvc/exchange.d.ts +72 -72
- package/types/mvc/handler/index.d.ts +4 -3
- package/types/mvc/handler/json.d.ts +44 -44
- package/types/mvc/handler/restful.d.ts +11 -11
- package/types/mvc/handler/sse.d.ts +34 -0
- package/types/mvc/handler/upload.d.ts +36 -36
- package/types/mvc/index.d.ts +22 -22
- package/types/mvc/interceptor.d.ts +11 -11
- package/types/mvc/query.d.ts +13 -13
- package/types/mvc/render/file.d.ts +10 -10
- package/types/mvc/render/html/html.d.ts +98 -98
- package/types/mvc/render/html/index.d.ts +11 -11
- package/types/mvc/render/html/style.d.ts +1201 -1201
- package/types/mvc/render/index.d.ts +4 -4
- package/types/mvc/render/json.d.ts +17 -17
- package/types/mvc/render/text.d.ts +10 -10
- package/types/mvc/router.d.ts +11 -11
- package/types/mvc/server.d.ts +90 -90
- package/types/mvc/static/header.d.ts +27 -27
- package/types/mvc/static/index.d.ts +3 -3
- package/types/mvc/static/mime-type.d.ts +2 -2
- package/types/mvc/static/server-cache-config.d.ts +30 -30
- package/types/mvc/static/server-cache.d.ts +76 -76
- package/types/mvc/static/static-handler.d.ts +77 -77
- package/types/mysql/config.d.ts +90 -90
- package/types/mysql/exception.d.ts +7 -7
- package/types/mysql/index.d.ts +16 -16
- package/types/mysql/manager/base.d.ts +165 -159
- package/types/mysql/manager/index.d.ts +36 -36
- package/types/mysql/manager/ops/count.d.ts +13 -13
- package/types/mysql/manager/ops/criteria.d.ts +134 -134
- package/types/mysql/manager/ops/delete.d.ts +46 -46
- package/types/mysql/manager/ops/exist.d.ts +6 -6
- package/types/mysql/manager/ops/find.d.ts +86 -70
- package/types/mysql/manager/ops/index.d.ts +10 -10
- package/types/mysql/manager/ops/insert.d.ts +18 -18
- package/types/mysql/manager/ops/modify.d.ts +3 -3
- package/types/mysql/manager/ops/paginate.d.ts +36 -36
- package/types/mysql/manager/ops/query.d.ts +3 -3
- package/types/mysql/manager/ops/update.d.ts +76 -76
- package/types/mysql/manager/ops/utils.d.ts +5 -5
- package/types/mysql/manager/tx-strict.d.ts +36 -35
- package/types/mysql/manager/tx.d.ts +15 -15
- package/types/mysql/manager/utils.d.ts +17 -17
- package/types/mysql/migration.d.ts +8 -8
- package/types/mysql/table-info.d.ts +36 -36
- package/types/task/daily.d.ts +16 -16
- package/types/task/fixed-delay.d.ts +9 -9
- package/types/task/fixed-rate.d.ts +9 -9
- package/types/task/index.d.ts +4 -4
- package/types/task/task.d.ts +34 -34
- package/types/validation/exception.d.ts +38 -38
- package/types/validation/index.d.ts +32 -32
- package/types/validation/validator/array.d.ts +5 -5
- package/types/validation/validator/enum.d.ts +8 -8
- package/types/validation/validator/index.d.ts +11 -11
- package/types/validation/validator/length.d.ts +10 -10
- package/types/validation/validator/max-length.d.ts +8 -8
- package/types/validation/validator/max.d.ts +7 -7
- package/types/validation/validator/min-length.d.ts +6 -6
- package/types/validation/validator/min.d.ts +7 -7
- package/types/validation/validator/not-blank.d.ts +7 -7
- package/types/validation/validator/not-null.d.ts +6 -6
- package/types/validation/validator/plain-obj.d.ts +7 -7
- package/types/validation/validator/regexp.d.ts +8 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './text';
|
|
2
|
-
export * from './json';
|
|
3
|
-
export * from './file';
|
|
4
|
-
export * from './html';
|
|
1
|
+
export * from './text';
|
|
2
|
+
export * from './json';
|
|
3
|
+
export * from './file';
|
|
4
|
+
export * from './html';
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { ServerResponse } from 'http';
|
|
3
|
-
/**
|
|
4
|
-
* 渲染 json 格式数据.
|
|
5
|
-
* @param response 响应信息
|
|
6
|
-
* @param json json对象
|
|
7
|
-
* @param status 状态码,默认 200
|
|
8
|
-
* @returns
|
|
9
|
-
*/
|
|
10
|
-
export declare function renderJson(response: ServerResponse, json: any, status?: number): void;
|
|
11
|
-
/**
|
|
12
|
-
* 渲染错误信息,json 格式
|
|
13
|
-
* @param response
|
|
14
|
-
* @param message
|
|
15
|
-
* @param status
|
|
16
|
-
*/
|
|
17
|
-
export declare function renderError(response: ServerResponse, message: string, status?: number): void;
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ServerResponse } from 'http';
|
|
3
|
+
/**
|
|
4
|
+
* 渲染 json 格式数据.
|
|
5
|
+
* @param response 响应信息
|
|
6
|
+
* @param json json对象
|
|
7
|
+
* @param status 状态码,默认 200
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare function renderJson(response: ServerResponse, json: any, status?: number): void;
|
|
11
|
+
/**
|
|
12
|
+
* 渲染错误信息,json 格式
|
|
13
|
+
* @param response
|
|
14
|
+
* @param message
|
|
15
|
+
* @param status
|
|
16
|
+
*/
|
|
17
|
+
export declare function renderError(response: ServerResponse, message: string, status?: number): void;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { ServerResponse } from 'http';
|
|
3
|
-
/**
|
|
4
|
-
* 渲染 json 格式数据.
|
|
5
|
-
* @param response 响应信息
|
|
6
|
-
* @param text 文本
|
|
7
|
-
* @param status 状态码,默认 200
|
|
8
|
-
* @returns
|
|
9
|
-
*/
|
|
10
|
-
export declare function renderText(response: ServerResponse, text: string, status?: number): void;
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ServerResponse } from 'http';
|
|
3
|
+
/**
|
|
4
|
+
* 渲染 json 格式数据.
|
|
5
|
+
* @param response 响应信息
|
|
6
|
+
* @param text 文本
|
|
7
|
+
* @param status 状态码,默认 200
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare function renderText(response: ServerResponse, text: string, status?: number): void;
|
package/types/mvc/router.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ServerExchange } from './exchange';
|
|
2
|
-
/**
|
|
3
|
-
* 路由控制器函数.
|
|
4
|
-
*/
|
|
5
|
-
export interface RouterHandler {
|
|
6
|
-
(exchange: ServerExchange): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* 路由列表.
|
|
10
|
-
*/
|
|
11
|
-
export type Routers = Record<string, RouterHandler>;
|
|
1
|
+
import { ServerExchange } from './exchange';
|
|
2
|
+
/**
|
|
3
|
+
* 路由控制器函数.
|
|
4
|
+
*/
|
|
5
|
+
export interface RouterHandler {
|
|
6
|
+
(exchange: ServerExchange): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 路由列表.
|
|
10
|
+
*/
|
|
11
|
+
export type Routers = Record<string, RouterHandler>;
|
package/types/mvc/server.d.ts
CHANGED
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Server } from 'http';
|
|
3
|
-
import { Interceptor } from './interceptor';
|
|
4
|
-
import { Routers } from './router';
|
|
5
|
-
import { ServerStaticRules } from './static';
|
|
6
|
-
/**
|
|
7
|
-
* mvc 服务选项
|
|
8
|
-
*/
|
|
9
|
-
export interface WokServerOpts {
|
|
10
|
-
/**
|
|
11
|
-
* 路由配置.
|
|
12
|
-
*/
|
|
13
|
-
routers: Routers;
|
|
14
|
-
/**
|
|
15
|
-
* 拦截器,在路由处理前可以做一些额外操作.
|
|
16
|
-
*/
|
|
17
|
-
interceptors?: Interceptor[];
|
|
18
|
-
/**
|
|
19
|
-
* 前置控制器,在服务启动之前,对服务做一些额外的操作。比如可以连接 socket.io 或者一些其它
|
|
20
|
-
* 支持 nodejs 原生 http 服务的组件.
|
|
21
|
-
* @param server
|
|
22
|
-
* @returns
|
|
23
|
-
*/
|
|
24
|
-
preHandler?: (server: Server<any>) => Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* 静态资源配置
|
|
27
|
-
*/
|
|
28
|
-
static?: ServerStaticRules;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* web 服务
|
|
32
|
-
*/
|
|
33
|
-
export declare class WokServer {
|
|
34
|
-
private readonly opts;
|
|
35
|
-
private readonly config;
|
|
36
|
-
private readonly server;
|
|
37
|
-
private readonly interceptors;
|
|
38
|
-
private readonly routers;
|
|
39
|
-
private readonly defaultRouter?;
|
|
40
|
-
private readonly staticHandler?;
|
|
41
|
-
constructor(opts: WokServerOpts);
|
|
42
|
-
/**
|
|
43
|
-
* 处理请求,完成拦截器和路由的流程.
|
|
44
|
-
*
|
|
45
|
-
* @param req
|
|
46
|
-
* @param res
|
|
47
|
-
*/
|
|
48
|
-
private handleRequest;
|
|
49
|
-
/**
|
|
50
|
-
* 处理拦截器.
|
|
51
|
-
* @param idx 当前要执行的拦截器下标
|
|
52
|
-
* @param exchange 传输对象
|
|
53
|
-
* @param req
|
|
54
|
-
* @param res
|
|
55
|
-
*/
|
|
56
|
-
private handleInterceptor;
|
|
57
|
-
/**
|
|
58
|
-
* 处理路由.
|
|
59
|
-
* @param exchange
|
|
60
|
-
* @param routers
|
|
61
|
-
* @param staticSettings
|
|
62
|
-
* @returns
|
|
63
|
-
*/
|
|
64
|
-
private handleRouter;
|
|
65
|
-
/**
|
|
66
|
-
* 404响应
|
|
67
|
-
*
|
|
68
|
-
* @param exchange
|
|
69
|
-
* @param path
|
|
70
|
-
*/
|
|
71
|
-
private respond404;
|
|
72
|
-
/**
|
|
73
|
-
* 启动
|
|
74
|
-
*/
|
|
75
|
-
start(): Promise<void>;
|
|
76
|
-
/**
|
|
77
|
-
* 获取 ipv4 地址列表
|
|
78
|
-
* @returns
|
|
79
|
-
*/
|
|
80
|
-
private getIpv4List;
|
|
81
|
-
/**
|
|
82
|
-
* 删除服务器端静态资源缓存
|
|
83
|
-
* @param path
|
|
84
|
-
*/
|
|
85
|
-
removeServerStaticCache(path: string): void;
|
|
86
|
-
/**
|
|
87
|
-
* 停止
|
|
88
|
-
*/
|
|
89
|
-
stop(): Promise<void>;
|
|
90
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Server } from 'http';
|
|
3
|
+
import { Interceptor } from './interceptor';
|
|
4
|
+
import { Routers } from './router';
|
|
5
|
+
import { ServerStaticRules } from './static';
|
|
6
|
+
/**
|
|
7
|
+
* mvc 服务选项
|
|
8
|
+
*/
|
|
9
|
+
export interface WokServerOpts {
|
|
10
|
+
/**
|
|
11
|
+
* 路由配置.
|
|
12
|
+
*/
|
|
13
|
+
routers: Routers;
|
|
14
|
+
/**
|
|
15
|
+
* 拦截器,在路由处理前可以做一些额外操作.
|
|
16
|
+
*/
|
|
17
|
+
interceptors?: Interceptor[];
|
|
18
|
+
/**
|
|
19
|
+
* 前置控制器,在服务启动之前,对服务做一些额外的操作。比如可以连接 socket.io 或者一些其它
|
|
20
|
+
* 支持 nodejs 原生 http 服务的组件.
|
|
21
|
+
* @param server
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
preHandler?: (server: Server<any>) => Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* 静态资源配置
|
|
27
|
+
*/
|
|
28
|
+
static?: ServerStaticRules;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* web 服务
|
|
32
|
+
*/
|
|
33
|
+
export declare class WokServer {
|
|
34
|
+
private readonly opts;
|
|
35
|
+
private readonly config;
|
|
36
|
+
private readonly server;
|
|
37
|
+
private readonly interceptors;
|
|
38
|
+
private readonly routers;
|
|
39
|
+
private readonly defaultRouter?;
|
|
40
|
+
private readonly staticHandler?;
|
|
41
|
+
constructor(opts: WokServerOpts);
|
|
42
|
+
/**
|
|
43
|
+
* 处理请求,完成拦截器和路由的流程.
|
|
44
|
+
*
|
|
45
|
+
* @param req
|
|
46
|
+
* @param res
|
|
47
|
+
*/
|
|
48
|
+
private handleRequest;
|
|
49
|
+
/**
|
|
50
|
+
* 处理拦截器.
|
|
51
|
+
* @param idx 当前要执行的拦截器下标
|
|
52
|
+
* @param exchange 传输对象
|
|
53
|
+
* @param req
|
|
54
|
+
* @param res
|
|
55
|
+
*/
|
|
56
|
+
private handleInterceptor;
|
|
57
|
+
/**
|
|
58
|
+
* 处理路由.
|
|
59
|
+
* @param exchange
|
|
60
|
+
* @param routers
|
|
61
|
+
* @param staticSettings
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
private handleRouter;
|
|
65
|
+
/**
|
|
66
|
+
* 404响应
|
|
67
|
+
*
|
|
68
|
+
* @param exchange
|
|
69
|
+
* @param path
|
|
70
|
+
*/
|
|
71
|
+
private respond404;
|
|
72
|
+
/**
|
|
73
|
+
* 启动
|
|
74
|
+
*/
|
|
75
|
+
start(): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* 获取 ipv4 地址列表
|
|
78
|
+
* @returns
|
|
79
|
+
*/
|
|
80
|
+
private getIpv4List;
|
|
81
|
+
/**
|
|
82
|
+
* 删除服务器端静态资源缓存
|
|
83
|
+
* @param path
|
|
84
|
+
*/
|
|
85
|
+
removeServerStaticCache(path: string): void;
|
|
86
|
+
/**
|
|
87
|
+
* 停止
|
|
88
|
+
*/
|
|
89
|
+
stop(): Promise<void>;
|
|
90
|
+
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { IncomingHttpHeaders } from 'http';
|
|
3
|
-
/**
|
|
4
|
-
* 静态资源消息头信息
|
|
5
|
-
*/
|
|
6
|
-
export interface StaticHeaders {
|
|
7
|
-
/**
|
|
8
|
-
* If-Modified-Since 消息头,测试文件是否在某个时间后修改后
|
|
9
|
-
*/
|
|
10
|
-
ifModifiedSince?: Date;
|
|
11
|
-
/**
|
|
12
|
-
* 文件部分读取
|
|
13
|
-
*/
|
|
14
|
-
range?: {
|
|
15
|
-
start: number;
|
|
16
|
-
end?: number;
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* 是否接受 gzip 压缩,如果支持则压缩后返回
|
|
20
|
-
*/
|
|
21
|
-
gzip: boolean;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* 解析消息头,返回静态文件处理需要的信息
|
|
25
|
-
* @param headers
|
|
26
|
-
*/
|
|
27
|
-
export declare function parseHeaders(headers: IncomingHttpHeaders): StaticHeaders;
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { IncomingHttpHeaders } from 'http';
|
|
3
|
+
/**
|
|
4
|
+
* 静态资源消息头信息
|
|
5
|
+
*/
|
|
6
|
+
export interface StaticHeaders {
|
|
7
|
+
/**
|
|
8
|
+
* If-Modified-Since 消息头,测试文件是否在某个时间后修改后
|
|
9
|
+
*/
|
|
10
|
+
ifModifiedSince?: Date;
|
|
11
|
+
/**
|
|
12
|
+
* 文件部分读取
|
|
13
|
+
*/
|
|
14
|
+
range?: {
|
|
15
|
+
start: number;
|
|
16
|
+
end?: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* 是否接受 gzip 压缩,如果支持则压缩后返回
|
|
20
|
+
*/
|
|
21
|
+
gzip: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 解析消息头,返回静态文件处理需要的信息
|
|
25
|
+
* @param headers
|
|
26
|
+
*/
|
|
27
|
+
export declare function parseHeaders(headers: IncomingHttpHeaders): StaticHeaders;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './mime-type';
|
|
2
|
-
export * from './header';
|
|
3
|
-
export * from './static-handler';
|
|
1
|
+
export * from './mime-type';
|
|
2
|
+
export * from './header';
|
|
3
|
+
export * from './static-handler';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const MIME_TYPES: Record<string, string>;
|
|
2
|
-
export declare function decideContentType(fileName: string): string | undefined;
|
|
1
|
+
export declare const MIME_TYPES: Record<string, string>;
|
|
2
|
+
export declare function decideContentType(fileName: string): string | undefined;
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 服务器缓存配置
|
|
3
|
-
* Server Cache Configuration
|
|
4
|
-
*/
|
|
5
|
-
export interface ServerCacheConfig {
|
|
6
|
-
/**
|
|
7
|
-
* Enable or disable caching,default is false (disabled)
|
|
8
|
-
*/
|
|
9
|
-
enable: boolean;
|
|
10
|
-
/**
|
|
11
|
-
* The maximum age of the cache in seconds
|
|
12
|
-
*/
|
|
13
|
-
maxAge: number;
|
|
14
|
-
/**
|
|
15
|
-
* The maximum size of the cache in bytes
|
|
16
|
-
* or a string representing a number followed by a unit of measure (e.g. 100k, 10m, 1g)
|
|
17
|
-
*/
|
|
18
|
-
maxSize: number | string;
|
|
19
|
-
/**
|
|
20
|
-
* The maximum size of a file in the cache in bytes
|
|
21
|
-
* or a string representing a number followed by a unit of measure (e.g. 100k, 10m, 1g)
|
|
22
|
-
*/
|
|
23
|
-
maxFileSize: number | string;
|
|
24
|
-
}
|
|
25
|
-
export declare function parseSize(size: number | string): number;
|
|
26
|
-
/**
|
|
27
|
-
* 获取缓存的配置信息
|
|
28
|
-
* @returns
|
|
29
|
-
*/
|
|
30
|
-
export declare function getConfig(): ServerCacheConfig;
|
|
1
|
+
/**
|
|
2
|
+
* 服务器缓存配置
|
|
3
|
+
* Server Cache Configuration
|
|
4
|
+
*/
|
|
5
|
+
export interface ServerCacheConfig {
|
|
6
|
+
/**
|
|
7
|
+
* Enable or disable caching,default is false (disabled)
|
|
8
|
+
*/
|
|
9
|
+
enable: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* The maximum age of the cache in seconds
|
|
12
|
+
*/
|
|
13
|
+
maxAge: number;
|
|
14
|
+
/**
|
|
15
|
+
* The maximum size of the cache in bytes
|
|
16
|
+
* or a string representing a number followed by a unit of measure (e.g. 100k, 10m, 1g)
|
|
17
|
+
*/
|
|
18
|
+
maxSize: number | string;
|
|
19
|
+
/**
|
|
20
|
+
* The maximum size of a file in the cache in bytes
|
|
21
|
+
* or a string representing a number followed by a unit of measure (e.g. 100k, 10m, 1g)
|
|
22
|
+
*/
|
|
23
|
+
maxFileSize: number | string;
|
|
24
|
+
}
|
|
25
|
+
export declare function parseSize(size: number | string): number;
|
|
26
|
+
/**
|
|
27
|
+
* 获取缓存的配置信息
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
export declare function getConfig(): ServerCacheConfig;
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
export interface CacheVal {
|
|
3
|
-
/**
|
|
4
|
-
* 文件内容
|
|
5
|
-
*/
|
|
6
|
-
buffer: Buffer;
|
|
7
|
-
/**
|
|
8
|
-
* 媒体类型
|
|
9
|
-
*/
|
|
10
|
-
mimeType: string;
|
|
11
|
-
/**
|
|
12
|
-
* 修改时间
|
|
13
|
-
*/
|
|
14
|
-
mtime: Date;
|
|
15
|
-
/**
|
|
16
|
-
* 客户端缓存时间
|
|
17
|
-
*/
|
|
18
|
-
cacheAge?: number;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* 文件的服务器缓存
|
|
22
|
-
*/
|
|
23
|
-
export declare class ServerCache {
|
|
24
|
-
private readonly opts;
|
|
25
|
-
/**
|
|
26
|
-
* 当前的缓存内容大小,单位字节
|
|
27
|
-
*/
|
|
28
|
-
private size;
|
|
29
|
-
/**
|
|
30
|
-
* 缓存内容
|
|
31
|
-
*/
|
|
32
|
-
private readonly cacheMap;
|
|
33
|
-
/**
|
|
34
|
-
* promise 表,作用是处理异步并发问题,如果有相同的 key 同时请求,保证异步的 provider 只执行一次
|
|
35
|
-
*/
|
|
36
|
-
private promiseMap;
|
|
37
|
-
constructor(opts: {
|
|
38
|
-
/**
|
|
39
|
-
* 最大缓存大小,超出后将出触发清除缓存操作
|
|
40
|
-
*/
|
|
41
|
-
maxSize: number;
|
|
42
|
-
/**
|
|
43
|
-
* 缓存时长,单位秒
|
|
44
|
-
*/
|
|
45
|
-
maxAge: number;
|
|
46
|
-
});
|
|
47
|
-
/**
|
|
48
|
-
* 获取缓存
|
|
49
|
-
*/
|
|
50
|
-
get(key: string): CacheVal | null;
|
|
51
|
-
/**
|
|
52
|
-
* 设置缓存内容,如果缓存内容超过最大缓存大小,则触发清除缓存操作
|
|
53
|
-
* @param key
|
|
54
|
-
* @param value
|
|
55
|
-
* @returns
|
|
56
|
-
*/
|
|
57
|
-
set(key: string, value: CacheVal): void;
|
|
58
|
-
/**
|
|
59
|
-
* 删除缓存
|
|
60
|
-
*/
|
|
61
|
-
remove(key: string): void;
|
|
62
|
-
/**
|
|
63
|
-
* 如果缓存不存在,则计算缓存内容并放入缓存
|
|
64
|
-
* @param key
|
|
65
|
-
* @param provider 计算函数,返回值将放入缓存,如果返回 null 则表示未能计算出缓存内容,不进行缓存
|
|
66
|
-
*/
|
|
67
|
-
computeIfAbsent(key: string, provider: () => Promise<CacheVal | null>): Promise<CacheVal | null>;
|
|
68
|
-
/**
|
|
69
|
-
* 清理无用的缓存内容
|
|
70
|
-
*/
|
|
71
|
-
private clean;
|
|
72
|
-
/**
|
|
73
|
-
* 清除缓存内容
|
|
74
|
-
*/
|
|
75
|
-
clear(): void;
|
|
76
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export interface CacheVal {
|
|
3
|
+
/**
|
|
4
|
+
* 文件内容
|
|
5
|
+
*/
|
|
6
|
+
buffer: Buffer;
|
|
7
|
+
/**
|
|
8
|
+
* 媒体类型
|
|
9
|
+
*/
|
|
10
|
+
mimeType: string;
|
|
11
|
+
/**
|
|
12
|
+
* 修改时间
|
|
13
|
+
*/
|
|
14
|
+
mtime: Date;
|
|
15
|
+
/**
|
|
16
|
+
* 客户端缓存时间
|
|
17
|
+
*/
|
|
18
|
+
cacheAge?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 文件的服务器缓存
|
|
22
|
+
*/
|
|
23
|
+
export declare class ServerCache {
|
|
24
|
+
private readonly opts;
|
|
25
|
+
/**
|
|
26
|
+
* 当前的缓存内容大小,单位字节
|
|
27
|
+
*/
|
|
28
|
+
private size;
|
|
29
|
+
/**
|
|
30
|
+
* 缓存内容
|
|
31
|
+
*/
|
|
32
|
+
private readonly cacheMap;
|
|
33
|
+
/**
|
|
34
|
+
* promise 表,作用是处理异步并发问题,如果有相同的 key 同时请求,保证异步的 provider 只执行一次
|
|
35
|
+
*/
|
|
36
|
+
private promiseMap;
|
|
37
|
+
constructor(opts: {
|
|
38
|
+
/**
|
|
39
|
+
* 最大缓存大小,超出后将出触发清除缓存操作
|
|
40
|
+
*/
|
|
41
|
+
maxSize: number;
|
|
42
|
+
/**
|
|
43
|
+
* 缓存时长,单位秒
|
|
44
|
+
*/
|
|
45
|
+
maxAge: number;
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* 获取缓存
|
|
49
|
+
*/
|
|
50
|
+
get(key: string): CacheVal | null;
|
|
51
|
+
/**
|
|
52
|
+
* 设置缓存内容,如果缓存内容超过最大缓存大小,则触发清除缓存操作
|
|
53
|
+
* @param key
|
|
54
|
+
* @param value
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
set(key: string, value: CacheVal): void;
|
|
58
|
+
/**
|
|
59
|
+
* 删除缓存
|
|
60
|
+
*/
|
|
61
|
+
remove(key: string): void;
|
|
62
|
+
/**
|
|
63
|
+
* 如果缓存不存在,则计算缓存内容并放入缓存
|
|
64
|
+
* @param key
|
|
65
|
+
* @param provider 计算函数,返回值将放入缓存,如果返回 null 则表示未能计算出缓存内容,不进行缓存
|
|
66
|
+
*/
|
|
67
|
+
computeIfAbsent(key: string, provider: () => Promise<CacheVal | null>): Promise<CacheVal | null>;
|
|
68
|
+
/**
|
|
69
|
+
* 清理无用的缓存内容
|
|
70
|
+
*/
|
|
71
|
+
private clean;
|
|
72
|
+
/**
|
|
73
|
+
* 清除缓存内容
|
|
74
|
+
*/
|
|
75
|
+
clear(): void;
|
|
76
|
+
}
|