k99 0.2.0 → 0.3.0-beta.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.
Files changed (154) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +8 -0
  3. package/README.zh.md +8 -0
  4. package/browser/package.json +8 -0
  5. package/browser/types.d.ts +20 -0
  6. package/cli/command/create.js +1 -2
  7. package/cli/command/index.js +1 -2
  8. package/cli/command/init.js +3 -5
  9. package/cli/command/start.js +9 -10
  10. package/cli/index.js +3 -4
  11. package/cli/opt/bind.js +1 -2
  12. package/cli/opt/index.js +1 -2
  13. package/cli/opt/listen.js +1 -2
  14. package/cli/opt/path.js +1 -2
  15. package/cli/opt/port.js +1 -2
  16. package/cli/opt/show-router.js +1 -2
  17. package/dist/k99.browser.js +3110 -0
  18. package/dist/k99.browser.min.js +6 -0
  19. package/dist/k99.esm.js +3082 -0
  20. package/dist/k99.esm.min.js +6 -0
  21. package/dist/k99.js +3104 -0
  22. package/dist/k99.mjs +3082 -0
  23. package/dist/k99Browser.browser.js +490 -0
  24. package/dist/k99Browser.browser.min.js +6 -0
  25. package/dist/k99Browser.esm.js +475 -0
  26. package/dist/k99Browser.esm.min.js +6 -0
  27. package/dist/k99Browser.js +484 -0
  28. package/dist/k99Browser.mjs +475 -0
  29. package/dist/k99Services.browser.js +145 -0
  30. package/dist/k99Services.browser.min.js +6 -0
  31. package/dist/k99Services.esm.js +136 -0
  32. package/dist/k99Services.esm.min.js +6 -0
  33. package/dist/k99Services.js +141 -0
  34. package/dist/k99Services.mjs +136 -0
  35. package/node/index.js +1386 -0
  36. package/node/index.mjs +1350 -0
  37. package/node/package.json +5 -0
  38. package/node/types.d.ts +166 -0
  39. package/package.json +77 -11
  40. package/services/package.json +8 -0
  41. package/services/types.d.ts +22 -0
  42. package/starter.js +0 -1
  43. package/types.d.ts +748 -0
  44. package/Container.d.ts +0 -92
  45. package/Container.js +0 -242
  46. package/Container.js.map +0 -1
  47. package/Controller/index.d.ts +0 -178
  48. package/Controller/index.js +0 -576
  49. package/Controller/index.js.map +0 -1
  50. package/Controller/patch/cookie.d.ts +0 -33
  51. package/Controller/patch/cookie.js +0 -168
  52. package/Controller/patch/cookie.js.map +0 -1
  53. package/Controller/patch/index.d.ts +0 -7
  54. package/Controller/patch/index.js +0 -26
  55. package/Controller/patch/index.js.map +0 -1
  56. package/Controller/patch/render.d.ts +0 -5
  57. package/Controller/patch/render.js +0 -24
  58. package/Controller/patch/render.js.map +0 -1
  59. package/ExitSignal.d.ts +0 -14
  60. package/ExitSignal.js +0 -29
  61. package/ExitSignal.js.map +0 -1
  62. package/Extension.d.ts +0 -56
  63. package/Extension.js +0 -93
  64. package/Extension.js.map +0 -1
  65. package/ExtensionContainer.d.ts +0 -55
  66. package/ExtensionContainer.js +0 -105
  67. package/ExtensionContainer.js.map +0 -1
  68. package/Plugin.d.ts +0 -52
  69. package/Plugin.js +0 -278
  70. package/Plugin.js.map +0 -1
  71. package/Preprocessor.d.ts +0 -86
  72. package/Preprocessor.js +0 -135
  73. package/Preprocessor.js.map +0 -1
  74. package/Router/assets.d.ts +0 -33
  75. package/Router/assets.js +0 -106
  76. package/Router/assets.js.map +0 -1
  77. package/Router/callback.d.ts +0 -9
  78. package/Router/callback.js +0 -152
  79. package/Router/callback.js.map +0 -1
  80. package/Router/extendsInterface.d.ts +0 -8
  81. package/Router/extendsInterface.js +0 -43
  82. package/Router/extendsInterface.js.map +0 -1
  83. package/Router/index.d.ts +0 -184
  84. package/Router/index.js +0 -615
  85. package/Router/index.js.map +0 -1
  86. package/Router/log.d.ts +0 -23
  87. package/Router/log.js +0 -120
  88. package/Router/log.js.map +0 -1
  89. package/Router/order.d.ts +0 -14
  90. package/Router/order.js +0 -71
  91. package/Router/order.js.map +0 -1
  92. package/Router/register.d.ts +0 -9
  93. package/Router/register.js +0 -252
  94. package/Router/register.js.map +0 -1
  95. package/Router/registerManager.d.ts +0 -22
  96. package/Router/registerManager.js +0 -102
  97. package/Router/registerManager.js.map +0 -1
  98. package/Router/scan.d.ts +0 -2
  99. package/Router/scan.js +0 -72
  100. package/Router/scan.js.map +0 -1
  101. package/Router/setHandleItem.d.ts +0 -3
  102. package/Router/setHandleItem.js +0 -94
  103. package/Router/setHandleItem.js.map +0 -1
  104. package/Router/settings.d.ts +0 -12
  105. package/Router/settings.js +0 -74
  106. package/Router/settings.js.map +0 -1
  107. package/Router/start.d.ts +0 -3
  108. package/Router/start.js +0 -270
  109. package/Router/start.js.map +0 -1
  110. package/Router/vars.d.ts +0 -10
  111. package/Router/vars.js +0 -40
  112. package/Router/vars.js.map +0 -1
  113. package/Service.d.ts +0 -12
  114. package/Service.js +0 -20
  115. package/Service.js.map +0 -1
  116. package/cli/command/create.d.ts +0 -7
  117. package/cli/command/create.js.map +0 -1
  118. package/cli/command/index.d.ts +0 -7
  119. package/cli/command/index.js.map +0 -1
  120. package/cli/command/init.d.ts +0 -6
  121. package/cli/command/init.js.map +0 -1
  122. package/cli/command/start.d.ts +0 -6
  123. package/cli/command/start.js.map +0 -1
  124. package/cli/index.d.ts +0 -2
  125. package/cli/index.js.map +0 -1
  126. package/cli/opt/bind.d.ts +0 -3
  127. package/cli/opt/bind.js.map +0 -1
  128. package/cli/opt/index.d.ts +0 -16
  129. package/cli/opt/index.js.map +0 -1
  130. package/cli/opt/listen.d.ts +0 -3
  131. package/cli/opt/listen.js.map +0 -1
  132. package/cli/opt/path.d.ts +0 -3
  133. package/cli/opt/path.js.map +0 -1
  134. package/cli/opt/port.d.ts +0 -3
  135. package/cli/opt/port.js.map +0 -1
  136. package/cli/opt/show-router.d.ts +0 -3
  137. package/cli/opt/show-router.js.map +0 -1
  138. package/index.d.ts +0 -354
  139. package/index.js +0 -155
  140. package/index.js.map +0 -1
  141. package/setOptions.d.ts +0 -12
  142. package/setOptions.js +0 -60
  143. package/setOptions.js.map +0 -1
  144. package/starter.d.ts +0 -2
  145. package/starter.js.map +0 -1
  146. package/symbols.d.ts +0 -13
  147. package/symbols.js +0 -31
  148. package/symbols.js.map +0 -1
  149. package/util/index.d.ts +0 -5
  150. package/util/index.js +0 -92
  151. package/util/index.js.map +0 -1
  152. package/util/stream.d.ts +0 -19
  153. package/util/stream.js +0 -66
  154. package/util/stream.js.map +0 -1
package/Container.d.ts DELETED
@@ -1,92 +0,0 @@
1
- /// <reference types="node" />
2
- import { IClass } from './index';
3
- import Controller, { Class as ControllerClass } from './Controller';
4
- export declare type Params = ConstructorParameters<typeof Container>;
5
- export declare type Class<T extends Container<any, any>> = IClass<T, Params, {}>;
6
- /**
7
- * 控制器容器
8
- * @description 代理部分控制器属性的类
9
- */
10
- declare class Container<C extends Controller, CC extends ControllerClass<C>> {
11
- /**
12
- * @warning 不要重载构造函数或者主动调用创建实例
13
- */
14
- constructor(controller: C);
15
- /** 路由 */
16
- get Router(): import("./Router").default;
17
- get Settings(): import("./Router/settings").default;
18
- get Assets(): import("./Router/assets").default;
19
- get Log(): import("./Router/log").default;
20
- /** 关联的服务 */
21
- get services(): import(".").Services;
22
- /** 相关的配置信息 */
23
- get config(): object | undefined;
24
- /** 处理文件的导出配置 */
25
- get exports(): import(".").Exports<any> | undefined;
26
- /** 请求 */
27
- get file(): import(".").FileInfo | undefined;
28
- /** 请求 */
29
- get request(): import(".").K99Request | import("http").IncomingMessage | import("http2").Http2ServerRequest;
30
- /** 相应 */
31
- get response(): import(".").K99Response | import("http").ServerResponse | import("http2").Http2ServerResponse;
32
- /** 请求流 */
33
- get requestStream(): import("stream").Readable | undefined;
34
- /** 相应流 */
35
- get responseStream(): import("stream").Writable | undefined;
36
- /** 请求头 */
37
- get headers(): Readonly<import("http").IncomingHttpHeaders>;
38
- /** 请求头原始数组 */
39
- get rawHeaders(): readonly string[];
40
- /** 请求方法 */
41
- get method(): "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "OPTIONS" | undefined;
42
- /** 请求 url (不含协议及主机名等) */
43
- get url(): string;
44
- /** 路径参数 */
45
- get params(): Readonly<{
46
- [p: string]: string;
47
- }>;
48
- /** 请求路径 */
49
- get pathname(): string;
50
- /** 查询字符串 */
51
- get search(): string;
52
- /** 查询参数 */
53
- get query(): import("querystring").ParsedUrlQuery;
54
- /** 来源路径 */
55
- get referer(): string;
56
- /** 请求主机 */
57
- get host(): string;
58
- /** 请求主机名 */
59
- get hostname(): string;
60
- /** 请求端口 */
61
- get port(): string;
62
- /** 客户端 UA */
63
- get userAgent(): string;
64
- /** 请求 accept */
65
- get accept(): string[];
66
- /** 请求 accept language */
67
- get acceptLanguage(): string[];
68
- /** 请求 content-type */
69
- get contentType(): string;
70
- /** 状态码 */
71
- get status(): number;
72
- set status(v: number);
73
- /** 判断是否设置里指定的响应头 */
74
- hasHeader(name: string): boolean;
75
- /** 获取设置了的指定的响应头 */
76
- getHeader(name: string): string | number | string[] | undefined;
77
- /** 设置指定的响应头 */
78
- setHeader(name: string, value: string | number | string[]): void;
79
- /** 移除已设置但未发送的指定请求头 */
80
- removeHeader(name: string): void;
81
- getHeaderNames(): string[];
82
- getHeaders(): import("http").OutgoingHttpHeaders;
83
- }
84
- interface Container<C extends Controller, CC extends ControllerClass<C>> {
85
- /** Container 的类自身 */
86
- readonly class: Class<this>;
87
- /** 关联的 Controller 实例 */
88
- readonly controller: C;
89
- /** 关联的 Controller 的类 */
90
- readonly Controller: CC;
91
- }
92
- export default Container;
package/Container.js DELETED
@@ -1,242 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- /**
9
- * 控制器容器
10
- * @description 代理部分控制器属性的类
11
- */
12
- class Container {
13
- /**
14
- * @warning 不要重载构造函数或者主动调用创建实例
15
- */
16
- constructor(controller) {
17
- Reflect.defineProperty(this, 'class', {
18
- value: new.target,
19
- configurable: true,
20
- enumerable: true
21
- });
22
- Reflect.defineProperty(this, 'controller', {
23
- value: controller,
24
- configurable: true,
25
- enumerable: true
26
- });
27
- Reflect.defineProperty(this, 'Controller', {
28
- value: controller.class,
29
- configurable: true,
30
- enumerable: true
31
- });
32
- }
33
- /** 路由 */
34
-
35
-
36
- get Router() {
37
- return this.controller.Router;
38
- }
39
-
40
- get Settings() {
41
- return this.controller.Settings;
42
- }
43
-
44
- get Assets() {
45
- return this.controller.Assets;
46
- }
47
-
48
- get Log() {
49
- return this.controller.Log;
50
- }
51
- /** 关联的服务 */
52
-
53
-
54
- get services() {
55
- return this.controller.services;
56
- }
57
- /** 相关的配置信息 */
58
-
59
-
60
- get config() {
61
- return this.controller.config;
62
- }
63
- /** 处理文件的导出配置 */
64
-
65
-
66
- get exports() {
67
- return this.controller.exports;
68
- }
69
- /** 请求 */
70
-
71
-
72
- get file() {
73
- return this.controller.file;
74
- }
75
- /** 请求 */
76
-
77
-
78
- get request() {
79
- return this.controller.request;
80
- }
81
- /** 相应 */
82
-
83
-
84
- get response() {
85
- return this.controller.response;
86
- }
87
- /** 请求流 */
88
-
89
-
90
- get requestStream() {
91
- return this.controller.requestStream;
92
- }
93
- /** 相应流 */
94
-
95
-
96
- get responseStream() {
97
- return this.controller.responseStream;
98
- }
99
- /** 请求头 */
100
-
101
-
102
- get headers() {
103
- return this.controller.headers;
104
- }
105
- /** 请求头原始数组 */
106
-
107
-
108
- get rawHeaders() {
109
- return this.controller.rawHeaders;
110
- }
111
- /** 请求方法 */
112
-
113
-
114
- get method() {
115
- return this.controller.method;
116
- }
117
- /** 请求 url (不含协议及主机名等) */
118
-
119
-
120
- get url() {
121
- return this.controller.url;
122
- }
123
- /** 路径参数 */
124
-
125
-
126
- get params() {
127
- return this.controller.params;
128
- }
129
- /** 请求路径 */
130
-
131
-
132
- get pathname() {
133
- return this.controller.pathname;
134
- }
135
- /** 查询字符串 */
136
-
137
-
138
- get search() {
139
- return this.controller.search;
140
- }
141
- /** 查询参数 */
142
-
143
-
144
- get query() {
145
- return this.controller.query;
146
- }
147
- /** 来源路径 */
148
-
149
-
150
- get referer() {
151
- return this.controller.referer;
152
- }
153
- /** 请求主机 */
154
-
155
-
156
- get host() {
157
- return this.controller.host;
158
- }
159
- /** 请求主机名 */
160
-
161
-
162
- get hostname() {
163
- return this.controller.hostname;
164
- }
165
- /** 请求端口 */
166
-
167
-
168
- get port() {
169
- return this.controller.port;
170
- }
171
- /** 客户端 UA */
172
-
173
-
174
- get userAgent() {
175
- return this.controller.userAgent;
176
- }
177
- /** 请求 accept */
178
-
179
-
180
- get accept() {
181
- return this.controller.accept;
182
- }
183
- /** 请求 accept language */
184
-
185
-
186
- get acceptLanguage() {
187
- return this.controller.acceptLanguage;
188
- }
189
- /** 请求 content-type */
190
-
191
-
192
- get contentType() {
193
- return this.controller.contentType;
194
- }
195
- /** 状态码 */
196
-
197
-
198
- get status() {
199
- return this.controller.status;
200
- }
201
-
202
- set status(v) {
203
- this.controller.status = v;
204
- }
205
- /** 判断是否设置里指定的响应头 */
206
-
207
-
208
- hasHeader(name) {
209
- return this.response.hasHeader(name);
210
- }
211
- /** 获取设置了的指定的响应头 */
212
-
213
-
214
- getHeader(name) {
215
- return this.response.getHeader(name);
216
- }
217
- /** 设置指定的响应头 */
218
-
219
-
220
- setHeader(name, value) {
221
- return this.response.setHeader(name, value);
222
- }
223
- /** 移除已设置但未发送的指定请求头 */
224
-
225
-
226
- removeHeader(name) {
227
- return this.response.removeHeader(name);
228
- }
229
-
230
- getHeaderNames() {
231
- return this.response.getHeaderNames();
232
- }
233
-
234
- getHeaders() {
235
- return this.response.getHeaders();
236
- }
237
-
238
- }
239
-
240
- var _default = Container;
241
- exports.default = _default;
242
- //# sourceMappingURL=Container.js.map
package/Container.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/k99/Container.ts"],"names":["Container","constructor","controller","Reflect","defineProperty","value","new","target","configurable","enumerable","class","Router","Settings","Assets","Log","services","config","exports","file","request","response","requestStream","responseStream","headers","rawHeaders","method","url","params","pathname","search","query","referer","host","hostname","port","userAgent","accept","acceptLanguage","contentType","status","v","hasHeader","name","getHeader","setHeader","removeHeader","getHeaderNames","getHeaders"],"mappings":"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","sourcesContent":["import { IClass } from './index';\nimport Controller, { Class as ControllerClass } from './Controller';\nexport type Params = ConstructorParameters<typeof Container>;\nexport type Class<T extends Container<any, any>> = IClass<T, Params, {}>;\n/**\n * 控制器容器\n * @description 代理部分控制器属性的类\n */\nclass Container<C extends Controller, CC extends ControllerClass<C>> {\n\t/**\n\t * @warning 不要重载构造函数或者主动调用创建实例\n\t */\n\tconstructor(controller: C) {\n\t\tReflect.defineProperty(this, 'class', { value: new.target, configurable: true, enumerable: true });\n\t\tReflect.defineProperty(this, 'controller', { value: controller, configurable: true, enumerable: true });\n\t\tReflect.defineProperty(this, 'Controller', { value: controller.class, configurable: true, enumerable: true });\n\t}\n\t/** 路由 */\n\tget Router() { return this.controller.Router; }\n\tget Settings() { return this.controller.Settings; }\n\tget Assets() { return this.controller.Assets; }\n\tget Log() { return this.controller.Log; }\n\t/** 关联的服务 */\n\tget services() { return this.controller.services; }\n\t/** 相关的配置信息 */\n\tget config() { return this.controller.config; }\n\t/** 处理文件的导出配置 */\n\tget exports() { return this.controller.exports; }\n\t/** 请求 */\n\tget file() { return this.controller.file; }\n\t/** 请求 */\n\tget request() { return this.controller.request; }\n\t/** 相应 */\n\tget response() { return this.controller.response; }\n\t/** 请求流 */\n\tget requestStream() { return this.controller.requestStream; }\n\t/** 相应流 */\n\tget responseStream() { return this.controller.responseStream; }\n\t/** 请求头 */\n\tget headers() { return this.controller.headers; }\n\t/** 请求头原始数组 */\n\tget rawHeaders() { return this.controller.rawHeaders; }\n\t/** 请求方法 */\n\tget method() { return this.controller.method; }\n\t/** 请求 url (不含协议及主机名等) */\n\tget url() { return this.controller.url; }\n\t/** 路径参数 */\n\tget params() { return this.controller.params; }\n\t/** 请求路径 */\n\tget pathname() { return this.controller.pathname; }\n\t/** 查询字符串 */\n\tget search() { return this.controller.search; }\n\t/** 查询参数 */\n\tget query() { return this.controller.query; }\n\t/** 来源路径 */\n\tget referer() { return this.controller.referer; }\n\t/** 请求主机 */\n\tget host() { return this.controller.host; }\n\t/** 请求主机名 */\n\tget hostname() { return this.controller.hostname; }\n\t/** 请求端口 */\n\tget port() { return this.controller.port; }\n\t/** 客户端 UA */\n\tget userAgent() { return this.controller.userAgent; }\n\t/** 请求 accept */\n\tget accept() { return this.controller.accept; }\n\t/** 请求 accept language */\n\tget acceptLanguage() { return this.controller.acceptLanguage; }\n\t/** 请求 content-type */\n\tget contentType() { return this.controller.contentType; }\n\t/** 状态码 */\n\tget status() { return this.controller.status; }\n\tset status(v) { this.controller.status = v; }\n\t/** 判断是否设置里指定的响应头 */\n\thasHeader(name: string) { return this.response.hasHeader(name); }\n\t/** 获取设置了的指定的响应头 */\n\tgetHeader(name: string) { return this.response.getHeader(name); }\n\t/** 设置指定的响应头 */\n\tsetHeader(name: string, value: string | number | string[]) { return this.response.setHeader(name, value); }\n\t/** 移除已设置但未发送的指定请求头 */\n\tremoveHeader(name: string) { return this.response.removeHeader(name); }\n\tgetHeaderNames() { return this.response.getHeaderNames(); }\n\tgetHeaders() { return this.response.getHeaders(); }\n}\n\ninterface Container<C extends Controller, CC extends ControllerClass<C>> {\n\t/** Container 的类自身 */\n\treadonly class: Class<this>;\n\t/** 关联的 Controller 实例 */\n\treadonly controller: C;\n\t/** 关联的 Controller 的类 */\n\treadonly Controller: CC;\n}\n\nexport default Container;\n"],"file":"Container.js"}
@@ -1,178 +0,0 @@
1
- /// <reference types="node" />
2
- import { Readable, Writable } from 'stream';
3
- import { ServerResponse, IncomingMessage } from 'http';
4
- import { Http2ServerResponse, Http2ServerRequest } from 'http2';
5
- import { Handle, Exports, BaseRequest, FileInfo, K99Response, K99Request, IClass, Services } from '../index';
6
- import Extension, { Class as ExtensionClass } from '../Extension';
7
- import Service, { Class as ServiceClass } from '../Service';
8
- import Router from '../Router';
9
- import { StreamUtil } from '../util';
10
- import * as symbols from '../symbols';
11
- import * as Patch from './patch';
12
- export declare type Param = ConstructorParameters<typeof Controller>;
13
- export interface Base<T extends Controller> {
14
- extensions: Set<ExtensionClass<Extension<any, any>> | string>;
15
- services: {
16
- [key: string]: undefined | ServiceClass<Service<any, any>>;
17
- };
18
- extends(this: Class<T>, E: ExtensionClass<Extension<any, any>> | string): Promise<Class<T>>;
19
- }
20
- export declare type Class<T extends Controller> = IClass<T, Param, Base<T>>;
21
- /**
22
- * 控制器
23
- * @description 处理函数的 this 类型
24
- */
25
- declare class Controller {
26
- static get symbols(): typeof symbols;
27
- /** 实例将会添加的 Extension */
28
- static extensions: Set<ExtensionClass<Extension<any, any>> | string>;
29
- /** 实例用到的服务 */
30
- static services: {
31
- [key: string]: undefined | ServiceClass<Service<any, any>>;
32
- };
33
- /**
34
- * 为实例添加新的 Extension
35
- * @description 仅对新创建的实例生效
36
- * @param E Extension
37
- */
38
- static extends<T extends Controller>(this: Class<T>, E: ExtensionClass<Extension<any, any>>): Promise<Class<T>>;
39
- private _extensions;
40
- /**
41
- * 为当前实例添加扩展
42
- * @param E Extension 获取注册 Id
43
- */
44
- extends(E: ExtensionClass<Extension<any, any>> | string): Promise<void>;
45
- /**
46
- * @warning 不要重载构造函数或者主动调用创建实例
47
- */
48
- constructor(params: Readonly<{
49
- [p: string]: string;
50
- }>, info: BaseRequest, config: object, exports: Exports, file: FileInfo, router: Router, request: K99Request | IncomingMessage | Http2ServerRequest, response: K99Response | ServerResponse | Http2ServerResponse);
51
- get Settings(): import("../Router/settings").default;
52
- get Assets(): import("../Router/assets").default;
53
- get Log(): import("../Router/log").default;
54
- /** 关联的服务 */
55
- get services(): Services;
56
- /** 处理函数的第一个参数 */
57
- get data(): {
58
- [key: string]: any;
59
- };
60
- /** 获取请求头中的 contentType 或设置相应头中的 contentType */
61
- get contentType(): string;
62
- set contentType(v: string);
63
- /** 当前对象是否已经被销毁 */
64
- get destroyed(): boolean;
65
- /** 相应是否已结束 */
66
- get finished(): boolean;
67
- /** 响应头是否已经被发送 */
68
- get headersSent(): boolean;
69
- /** 状态码 */
70
- get status(): number;
71
- set status(v: number);
72
- hasHeader(name: string): boolean;
73
- getHeader(name: string): string | number | string[] | undefined;
74
- setHeader(name: string, value: string | number | string[]): void;
75
- removeHeader(name: string): void;
76
- getHeaderNames(): string[];
77
- getHeaders(): import("http").OutgoingHttpHeaders;
78
- /** 将数据写入相应 */
79
- write(chunk: StreamUtil.WriteType, encoding?: string): Promise<void>;
80
- /**
81
- * 退出执行
82
- * @param status 状态码
83
- */
84
- exit(status?: number): never;
85
- /**
86
- * 302 或 301 跳转
87
- * @param url 要跳转的 url
88
- * @param is301 是否采用 301 跳转
89
- */
90
- transfer(url: string, is301?: boolean): never;
91
- /**
92
- * 执行所有未执行的 Extension
93
- * @description Extension 会在 Controller 创建时实例化
94
- * @description 此方法由 exec 调用
95
- * @description 此函数默认会在 init 前执行
96
- */
97
- [symbols.execExtensions](): Promise<void>;
98
- /**
99
- * 初始化 Controller
100
- * @description 如果有初始化操作,应当在 init 中实现
101
- * @description 此方法由 exec 调用
102
- */
103
- [symbols.init](): void | Promise<void>;
104
- /**
105
- * 处理函数第二个参数开始的附加
106
- * @description 如果需要,则需要在此函数中实现
107
- * @description 此方法由 exec 调用
108
- */
109
- [symbols.argv](): any[] | PromiseLike<any[]>;
110
- /**
111
- * OPTIONS 的默认处理函数
112
- * @description 如果需要,则需要在此函数中实现
113
- * @description 当已 OPTIONS 方法请求资源,且资源对应的路径中没有定义 OPTIONS 方法处理是的处理函数
114
- */
115
- [symbols.options](data: {
116
- [key: string]: any;
117
- }, ...argv: any[]): void | undefined | StreamUtil.WriteType | Promise<void | undefined | StreamUtil.WriteType>;
118
- /**
119
- * 执行
120
- * @description 此方法由路由调用
121
- * @param handle 处理函数,如果为 undefined 则表示 OPTIONS 请求,需要通过
122
- */
123
- [symbols.exec](handle: Handle<any>): Promise<string | void | object | Readable | StreamUtil.BufferViewOrTypeArray | ArrayBuffer | SharedArrayBuffer | Buffer | AsyncIterable<StreamUtil.BaseWriteType> | Iterable<StreamUtil.BaseWriteType> | undefined>;
124
- /**
125
- * 对处理函数的结果进行处理
126
- * @description 如果需要自定义处理,需要重载此方法
127
- * @description 此方法由路由调用
128
- * @param result 处理函数的结果
129
- */
130
- [symbols.return](result: any): void | PromiseLike<void>;
131
- /**
132
- * 处理完成后,实例销毁前,如果有错误未被处理,将回交由此参数处理
133
- * @description 如果需要自定义处理,需要重载此方法
134
- * @description 此方法由路由调用
135
- */
136
- [symbols.catch](e: any): void | PromiseLike<void>;
137
- /**
138
- * 处理完成后,实例即将销毁时的处理函数
139
- * @description 如果有销毁操作,应当在 finally 中通过实现
140
- * @description 此方法由 destroy 调用
141
- */
142
- [symbols.finally](): void | PromiseLike<void>;
143
- /**
144
- * 销毁 Controller
145
- * @warning 不要重载此方法
146
- * @description 此方法由路由调用
147
- */
148
- destroy(): Promise<void>;
149
- }
150
- interface Controller extends BaseRequest, Patch.Interface {
151
- /** 控制器的类自身 */
152
- readonly class: Class<this>;
153
- /** 当前的路由 */
154
- readonly Router: Router;
155
- /** 相关的配置信息 */
156
- readonly config?: object;
157
- /** 处理文件的导出配置 */
158
- readonly exports?: Exports;
159
- /** 处理函数所在的文件信息 */
160
- readonly file?: FileInfo;
161
- /** 原始的请求对象 */
162
- readonly request: K99Request | IncomingMessage | Http2ServerRequest;
163
- /** 原始的相应对象 */
164
- readonly response: K99Response | ServerResponse | Http2ServerResponse;
165
- /** 请求流 */
166
- readonly requestStream?: Readable;
167
- /** 相应流 */
168
- readonly responseStream?: Writable;
169
- /** 路径参数 */
170
- readonly params: Readonly<{
171
- [p: string]: string;
172
- }>;
173
- /** 请求 accept */
174
- readonly accept: string[];
175
- /** 请求 accept language */
176
- readonly acceptLanguage: string[];
177
- }
178
- export default Controller;