wok-server 0.5.0 → 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 -35
- package/dist/log/date.js +21 -21
- package/dist/log/file.js +198 -198
- package/dist/log/index.js +135 -135
- package/dist/log/level.js +33 -33
- package/dist/log/log.js +56 -56
- package/dist/log/store.js +19 -19
- 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 -239
- 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 -169
- 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 -103
- 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/mvc.md +66 -24
- 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 -35
- package/types/log/date.d.ts +2 -2
- package/types/log/file.d.ts +13 -13
- package/types/log/index.d.ts +53 -53
- package/types/log/level.d.ts +14 -14
- package/types/log/log.d.ts +40 -40
- package/types/log/store.d.ts +19 -19
- 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 -165
- 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 -86
- 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 -36
- 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,77 +1,77 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
import { IncomingMessage, ServerResponse } from 'http';
|
|
4
|
-
/**
|
|
5
|
-
* 静态资源的映射规则
|
|
6
|
-
*/
|
|
7
|
-
export type ServerStaticRules = Record<
|
|
8
|
-
/**
|
|
9
|
-
* 要映射的路径
|
|
10
|
-
*/
|
|
11
|
-
string, {
|
|
12
|
-
/**
|
|
13
|
-
* 文件目录
|
|
14
|
-
*/
|
|
15
|
-
dir: string;
|
|
16
|
-
/**
|
|
17
|
-
* 客户端缓存时长,单位秒,根据设定生成消息头 Cache-Control: max-age=时长,设置为小于等于0可关闭
|
|
18
|
-
*/
|
|
19
|
-
cacheAge?: number;
|
|
20
|
-
}>;
|
|
21
|
-
export declare class StaticHandler {
|
|
22
|
-
private readonly DEFAULT_CONTENT_TYPE;
|
|
23
|
-
private readonly maxFileSize;
|
|
24
|
-
private cache?;
|
|
25
|
-
private rules;
|
|
26
|
-
/**
|
|
27
|
-
* 静态处理器。规则说明:
|
|
28
|
-
* 请求路径仅支持前缀匹配,不支持通配符,比如 /a/demo.html 可以匹配 /a 路径,响应配置的文件目录下的 demo.html 文件。
|
|
29
|
-
* 路径配置是有优先级的,如果访问 /a/b/music.mp3 则会匹配到 /a/b 的配置,而不是 /a ,因为 /a/b 的配置更详细,优先级也更高,
|
|
30
|
-
* 并且如果从 /a/b 配置的目录下没有找到文件,也不会再尝试 /a 的配置。
|
|
31
|
-
*
|
|
32
|
-
* 静态文件同时也支持主页自动映射,比如访问 /a/b/c ,会匹配到 /a/b 的配置,然后在配置的文件目录下寻找文件 c ,
|
|
33
|
-
* 如果找不到则尝试寻找目录 c 下的 index.html 文件。
|
|
34
|
-
* @param rules 规则设置
|
|
35
|
-
*/
|
|
36
|
-
constructor(rules: ServerStaticRules);
|
|
37
|
-
/**
|
|
38
|
-
* 处理静态文件 get 请求
|
|
39
|
-
* @param request
|
|
40
|
-
* @param response
|
|
41
|
-
* @param path
|
|
42
|
-
* @returns 是否能够处理,如果因为找不到文件或其它原因无法处理则返回 false ,由后续流程继续处理
|
|
43
|
-
*/
|
|
44
|
-
handleGet(request: IncomingMessage, response: ServerResponse, path: string): Promise<boolean>;
|
|
45
|
-
/**
|
|
46
|
-
* 处理 head 请求,不响应正文内容,如果文件可以被找到,仅仅响应以下的消息头:
|
|
47
|
-
* Content-Length
|
|
48
|
-
* Content-Type
|
|
49
|
-
* Last-Modified
|
|
50
|
-
* Cache-Control
|
|
51
|
-
*
|
|
52
|
-
* @param path 请求路径
|
|
53
|
-
* @param response
|
|
54
|
-
* @returns 是否成功处理
|
|
55
|
-
*/
|
|
56
|
-
handleHead(path: string, response: ServerResponse): Promise<boolean>;
|
|
57
|
-
endRespWithBuffer(response: ServerResponse, buffer: Buffer): Promise<void>;
|
|
58
|
-
/**
|
|
59
|
-
* 构建响应文件
|
|
60
|
-
*
|
|
61
|
-
* @param path
|
|
62
|
-
* @param headers
|
|
63
|
-
* @returns
|
|
64
|
-
*/
|
|
65
|
-
private buildRespFile;
|
|
66
|
-
/**
|
|
67
|
-
* 根据路径查找文件
|
|
68
|
-
* @param path 访问路径
|
|
69
|
-
* @returns 返回被查询到的文件信息,如果找不到则返回 null
|
|
70
|
-
*/
|
|
71
|
-
private findFile;
|
|
72
|
-
/**
|
|
73
|
-
* 删除服务器端静态资源缓存
|
|
74
|
-
* @param path
|
|
75
|
-
*/
|
|
76
|
-
removeServerCache(path: string): void;
|
|
77
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { IncomingMessage, ServerResponse } from 'http';
|
|
4
|
+
/**
|
|
5
|
+
* 静态资源的映射规则
|
|
6
|
+
*/
|
|
7
|
+
export type ServerStaticRules = Record<
|
|
8
|
+
/**
|
|
9
|
+
* 要映射的路径
|
|
10
|
+
*/
|
|
11
|
+
string, {
|
|
12
|
+
/**
|
|
13
|
+
* 文件目录
|
|
14
|
+
*/
|
|
15
|
+
dir: string;
|
|
16
|
+
/**
|
|
17
|
+
* 客户端缓存时长,单位秒,根据设定生成消息头 Cache-Control: max-age=时长,设置为小于等于0可关闭
|
|
18
|
+
*/
|
|
19
|
+
cacheAge?: number;
|
|
20
|
+
}>;
|
|
21
|
+
export declare class StaticHandler {
|
|
22
|
+
private readonly DEFAULT_CONTENT_TYPE;
|
|
23
|
+
private readonly maxFileSize;
|
|
24
|
+
private cache?;
|
|
25
|
+
private rules;
|
|
26
|
+
/**
|
|
27
|
+
* 静态处理器。规则说明:
|
|
28
|
+
* 请求路径仅支持前缀匹配,不支持通配符,比如 /a/demo.html 可以匹配 /a 路径,响应配置的文件目录下的 demo.html 文件。
|
|
29
|
+
* 路径配置是有优先级的,如果访问 /a/b/music.mp3 则会匹配到 /a/b 的配置,而不是 /a ,因为 /a/b 的配置更详细,优先级也更高,
|
|
30
|
+
* 并且如果从 /a/b 配置的目录下没有找到文件,也不会再尝试 /a 的配置。
|
|
31
|
+
*
|
|
32
|
+
* 静态文件同时也支持主页自动映射,比如访问 /a/b/c ,会匹配到 /a/b 的配置,然后在配置的文件目录下寻找文件 c ,
|
|
33
|
+
* 如果找不到则尝试寻找目录 c 下的 index.html 文件。
|
|
34
|
+
* @param rules 规则设置
|
|
35
|
+
*/
|
|
36
|
+
constructor(rules: ServerStaticRules);
|
|
37
|
+
/**
|
|
38
|
+
* 处理静态文件 get 请求
|
|
39
|
+
* @param request
|
|
40
|
+
* @param response
|
|
41
|
+
* @param path
|
|
42
|
+
* @returns 是否能够处理,如果因为找不到文件或其它原因无法处理则返回 false ,由后续流程继续处理
|
|
43
|
+
*/
|
|
44
|
+
handleGet(request: IncomingMessage, response: ServerResponse, path: string): Promise<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* 处理 head 请求,不响应正文内容,如果文件可以被找到,仅仅响应以下的消息头:
|
|
47
|
+
* Content-Length
|
|
48
|
+
* Content-Type
|
|
49
|
+
* Last-Modified
|
|
50
|
+
* Cache-Control
|
|
51
|
+
*
|
|
52
|
+
* @param path 请求路径
|
|
53
|
+
* @param response
|
|
54
|
+
* @returns 是否成功处理
|
|
55
|
+
*/
|
|
56
|
+
handleHead(path: string, response: ServerResponse): Promise<boolean>;
|
|
57
|
+
endRespWithBuffer(response: ServerResponse, buffer: Buffer): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* 构建响应文件
|
|
60
|
+
*
|
|
61
|
+
* @param path
|
|
62
|
+
* @param headers
|
|
63
|
+
* @returns
|
|
64
|
+
*/
|
|
65
|
+
private buildRespFile;
|
|
66
|
+
/**
|
|
67
|
+
* 根据路径查找文件
|
|
68
|
+
* @param path 访问路径
|
|
69
|
+
* @returns 返回被查询到的文件信息,如果找不到则返回 null
|
|
70
|
+
*/
|
|
71
|
+
private findFile;
|
|
72
|
+
/**
|
|
73
|
+
* 删除服务器端静态资源缓存
|
|
74
|
+
* @param path
|
|
75
|
+
*/
|
|
76
|
+
removeServerCache(path: string): void;
|
|
77
|
+
}
|
package/types/mysql/config.d.ts
CHANGED
|
@@ -1,90 +1,90 @@
|
|
|
1
|
-
import { ValidationOpts } from '../validation';
|
|
2
|
-
/**
|
|
3
|
-
* mysql 配置.
|
|
4
|
-
*/
|
|
5
|
-
export interface MysqlConfig {
|
|
6
|
-
/**
|
|
7
|
-
* 主机名.
|
|
8
|
-
*/
|
|
9
|
-
host: string;
|
|
10
|
-
/**
|
|
11
|
-
* 端口号
|
|
12
|
-
*/
|
|
13
|
-
port: number;
|
|
14
|
-
/**
|
|
15
|
-
* 用户名
|
|
16
|
-
*/
|
|
17
|
-
user: string;
|
|
18
|
-
/**
|
|
19
|
-
* 密码
|
|
20
|
-
*/
|
|
21
|
-
password: string;
|
|
22
|
-
/**
|
|
23
|
-
* 字符集,默认 utf8mb4
|
|
24
|
-
*/
|
|
25
|
-
charset: string;
|
|
26
|
-
/**
|
|
27
|
-
* 库
|
|
28
|
-
*/
|
|
29
|
-
database: string;
|
|
30
|
-
/**
|
|
31
|
-
* 版本控制开启.
|
|
32
|
-
*/
|
|
33
|
-
versionControlEnabled: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* 版本控制的文件目录,默认 db_migration.
|
|
36
|
-
*/
|
|
37
|
-
versionControlDir: string;
|
|
38
|
-
/**
|
|
39
|
-
* 时区,默认 +08:00
|
|
40
|
-
*/
|
|
41
|
-
timezone: string;
|
|
42
|
-
/**
|
|
43
|
-
* 超时时间,单位毫秒,默认 10秒
|
|
44
|
-
*/
|
|
45
|
-
connectTimeout: number;
|
|
46
|
-
/**
|
|
47
|
-
* 调试模式
|
|
48
|
-
*/
|
|
49
|
-
debug: boolean;
|
|
50
|
-
/**
|
|
51
|
-
* 最大连接数
|
|
52
|
-
*/
|
|
53
|
-
connectionLimit: number;
|
|
54
|
-
/**
|
|
55
|
-
* 最大闲置数
|
|
56
|
-
*/
|
|
57
|
-
maxIdle: number;
|
|
58
|
-
/**
|
|
59
|
-
* 闲置的超时时间,也即多久不用算闲置,单位毫秒
|
|
60
|
-
*/
|
|
61
|
-
idleTimeout: number;
|
|
62
|
-
/**
|
|
63
|
-
* 慢 sql 警告,启用后如果一个查询过慢,就会输出警告日志。
|
|
64
|
-
*/
|
|
65
|
-
slowSqlWarn: boolean;
|
|
66
|
-
/**
|
|
67
|
-
* 慢 sql 毫秒数,执行时间超过设定值的 sql 会被认为是慢 sql ,默认 200
|
|
68
|
-
*/
|
|
69
|
-
slowSqlMs: number;
|
|
70
|
-
/**
|
|
71
|
-
* 事务超时时间,单位毫秒,默认 5000,设置为小于等于 0 的值表示不限制
|
|
72
|
-
*/
|
|
73
|
-
transactionTimeout: number;
|
|
74
|
-
/**
|
|
75
|
-
* 事务严格模式
|
|
76
|
-
*/
|
|
77
|
-
transactionStrict: boolean;
|
|
78
|
-
/**
|
|
79
|
-
* 在严格事务中可进行的最大操作次数
|
|
80
|
-
*/
|
|
81
|
-
maxOpsInStrictTx: number;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* 默认配置.
|
|
85
|
-
*/
|
|
86
|
-
export declare const defaultConfig: MysqlConfig;
|
|
87
|
-
/**
|
|
88
|
-
* 配置校验规则.
|
|
89
|
-
*/
|
|
90
|
-
export declare const configValidation: ValidationOpts<MysqlConfig>;
|
|
1
|
+
import { ValidationOpts } from '../validation';
|
|
2
|
+
/**
|
|
3
|
+
* mysql 配置.
|
|
4
|
+
*/
|
|
5
|
+
export interface MysqlConfig {
|
|
6
|
+
/**
|
|
7
|
+
* 主机名.
|
|
8
|
+
*/
|
|
9
|
+
host: string;
|
|
10
|
+
/**
|
|
11
|
+
* 端口号
|
|
12
|
+
*/
|
|
13
|
+
port: number;
|
|
14
|
+
/**
|
|
15
|
+
* 用户名
|
|
16
|
+
*/
|
|
17
|
+
user: string;
|
|
18
|
+
/**
|
|
19
|
+
* 密码
|
|
20
|
+
*/
|
|
21
|
+
password: string;
|
|
22
|
+
/**
|
|
23
|
+
* 字符集,默认 utf8mb4
|
|
24
|
+
*/
|
|
25
|
+
charset: string;
|
|
26
|
+
/**
|
|
27
|
+
* 库
|
|
28
|
+
*/
|
|
29
|
+
database: string;
|
|
30
|
+
/**
|
|
31
|
+
* 版本控制开启.
|
|
32
|
+
*/
|
|
33
|
+
versionControlEnabled: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* 版本控制的文件目录,默认 db_migration.
|
|
36
|
+
*/
|
|
37
|
+
versionControlDir: string;
|
|
38
|
+
/**
|
|
39
|
+
* 时区,默认 +08:00
|
|
40
|
+
*/
|
|
41
|
+
timezone: string;
|
|
42
|
+
/**
|
|
43
|
+
* 超时时间,单位毫秒,默认 10秒
|
|
44
|
+
*/
|
|
45
|
+
connectTimeout: number;
|
|
46
|
+
/**
|
|
47
|
+
* 调试模式
|
|
48
|
+
*/
|
|
49
|
+
debug: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* 最大连接数
|
|
52
|
+
*/
|
|
53
|
+
connectionLimit: number;
|
|
54
|
+
/**
|
|
55
|
+
* 最大闲置数
|
|
56
|
+
*/
|
|
57
|
+
maxIdle: number;
|
|
58
|
+
/**
|
|
59
|
+
* 闲置的超时时间,也即多久不用算闲置,单位毫秒
|
|
60
|
+
*/
|
|
61
|
+
idleTimeout: number;
|
|
62
|
+
/**
|
|
63
|
+
* 慢 sql 警告,启用后如果一个查询过慢,就会输出警告日志。
|
|
64
|
+
*/
|
|
65
|
+
slowSqlWarn: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* 慢 sql 毫秒数,执行时间超过设定值的 sql 会被认为是慢 sql ,默认 200
|
|
68
|
+
*/
|
|
69
|
+
slowSqlMs: number;
|
|
70
|
+
/**
|
|
71
|
+
* 事务超时时间,单位毫秒,默认 5000,设置为小于等于 0 的值表示不限制
|
|
72
|
+
*/
|
|
73
|
+
transactionTimeout: number;
|
|
74
|
+
/**
|
|
75
|
+
* 事务严格模式
|
|
76
|
+
*/
|
|
77
|
+
transactionStrict: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* 在严格事务中可进行的最大操作次数
|
|
80
|
+
*/
|
|
81
|
+
maxOpsInStrictTx: number;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* 默认配置.
|
|
85
|
+
*/
|
|
86
|
+
export declare const defaultConfig: MysqlConfig;
|
|
87
|
+
/**
|
|
88
|
+
* 配置校验规则.
|
|
89
|
+
*/
|
|
90
|
+
export declare const configValidation: ValidationOpts<MysqlConfig>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* mysql 异常.
|
|
3
|
-
*/
|
|
4
|
-
export declare class MysqlException extends Error {
|
|
5
|
-
readonly message: string;
|
|
6
|
-
constructor(message: string);
|
|
7
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* mysql 异常.
|
|
3
|
+
*/
|
|
4
|
+
export declare class MysqlException extends Error {
|
|
5
|
+
readonly message: string;
|
|
6
|
+
constructor(message: string);
|
|
7
|
+
}
|
package/types/mysql/index.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { MysqlException } from './exception';
|
|
2
|
-
import { MysqlManager } from './manager';
|
|
3
|
-
import { MysqlCriteria } from './manager/ops/criteria';
|
|
4
|
-
import { Table } from './table-info';
|
|
5
|
-
/**
|
|
6
|
-
* 启用mysql
|
|
7
|
-
* @param name 配置名称,同时也是环境变量配置的前缀,英文开头,由英文数字和下划线成.
|
|
8
|
-
*/
|
|
9
|
-
export declare function enableMysql(name?: string): Promise<void>;
|
|
10
|
-
/**
|
|
11
|
-
* 获取管理器.
|
|
12
|
-
* @param name 配置名称,如果调用 enableMysql 时填写了,那么这里也要填写并保持一致
|
|
13
|
-
*/
|
|
14
|
-
export declare function getMysqlManager(name?: string): MysqlManager;
|
|
15
|
-
export * from './manager';
|
|
16
|
-
export { MysqlCriteria, MysqlException, Table };
|
|
1
|
+
import { MysqlException } from './exception';
|
|
2
|
+
import { MysqlManager } from './manager';
|
|
3
|
+
import { MysqlCriteria } from './manager/ops/criteria';
|
|
4
|
+
import { Table } from './table-info';
|
|
5
|
+
/**
|
|
6
|
+
* 启用mysql
|
|
7
|
+
* @param name 配置名称,同时也是环境变量配置的前缀,英文开头,由英文数字和下划线成.
|
|
8
|
+
*/
|
|
9
|
+
export declare function enableMysql(name?: string): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* 获取管理器.
|
|
12
|
+
* @param name 配置名称,如果调用 enableMysql 时填写了,那么这里也要填写并保持一致
|
|
13
|
+
*/
|
|
14
|
+
export declare function getMysqlManager(name?: string): MysqlManager;
|
|
15
|
+
export * from './manager';
|
|
16
|
+
export { MysqlCriteria, MysqlException, Table };
|