@innet/server 2.0.0-alpha.9 → 2.0.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.
- package/README.md +1041 -445
- package/_virtual/_rollup-plugin-process-env.es6.js +10 -0
- package/_virtual/_rollup-plugin-process-env.js +12 -0
- package/handler/handler.d.ts +25 -14
- package/handler/handler.es6.js +15 -11
- package/handler/handler.js +15 -11
- package/hooks/index.d.ts +6 -1
- package/hooks/index.es6.js +6 -1
- package/hooks/index.js +6 -1
- package/hooks/useAction/useAction.es6.js +1 -1
- package/hooks/useAction/useAction.js +1 -1
- package/hooks/useApi/useApi.d.ts +1 -3
- package/hooks/useClientIp/useClientIp.d.ts +1 -1
- package/hooks/useEndpoint/useEndpoint.d.ts +1 -1
- package/hooks/useEndpoint/useEndpoint.es6.js +3 -1
- package/hooks/useEndpoint/useEndpoint.js +3 -1
- package/hooks/useIsServerHttps/index.d.ts +1 -0
- package/hooks/useIsServerHttps/index.es6.js +1 -0
- package/hooks/useIsServerHttps/index.js +10 -0
- package/hooks/useIsServerHttps/useIsServerHttps.d.ts +3 -0
- package/hooks/useIsServerHttps/useIsServerHttps.es6.js +14 -0
- package/hooks/useIsServerHttps/useIsServerHttps.js +19 -0
- package/hooks/useNewSchema/useNewSchema.es6.js +1 -1
- package/hooks/useNewSchema/useNewSchema.js +1 -1
- package/hooks/useObjectSchemaContext/index.d.ts +1 -0
- package/hooks/useObjectSchemaContext/index.es6.js +1 -0
- package/hooks/useObjectSchemaContext/index.js +10 -0
- package/hooks/useObjectSchemaContext/useObjectSchemaContext.d.ts +3 -0
- package/hooks/useObjectSchemaContext/useObjectSchemaContext.es6.js +14 -0
- package/hooks/useObjectSchemaContext/useObjectSchemaContext.js +19 -0
- package/hooks/useRequest/index.es6.js +1 -1
- package/hooks/useRequest/index.js +0 -1
- package/hooks/useRequest/useRequest.d.ts +1 -4
- package/hooks/useRequest/useRequest.es6.js +4 -4
- package/hooks/useRequest/useRequest.js +3 -4
- package/hooks/useRequestHandler/index.d.ts +1 -0
- package/hooks/useRequestHandler/index.es6.js +1 -0
- package/hooks/useRequestHandler/index.js +10 -0
- package/hooks/useRequestHandler/useRequestHandler.d.ts +4 -0
- package/hooks/useRequestHandler/useRequestHandler.es6.js +14 -0
- package/hooks/useRequestHandler/useRequestHandler.js +19 -0
- package/hooks/useResponse/index.es6.js +1 -1
- package/hooks/useResponse/index.js +0 -1
- package/hooks/useResponse/useResponse.d.ts +1 -4
- package/hooks/useResponse/useResponse.es6.js +4 -4
- package/hooks/useResponse/useResponse.js +3 -4
- package/hooks/useSchemaType/useSchemaType.d.ts +3 -2
- package/hooks/useSchemaType/useSchemaType.es6.js +5 -6
- package/hooks/useSchemaType/useSchemaType.js +5 -6
- package/hooks/useServer/useServer.d.ts +2 -1
- package/hooks/useServer/useServer.es6.js +3 -1
- package/hooks/useServer/useServer.js +3 -1
- package/hooks/useServerPlugin/index.d.ts +1 -0
- package/hooks/useServerPlugin/index.es6.js +1 -0
- package/hooks/useServerPlugin/index.js +9 -0
- package/hooks/useServerPlugin/useServerPlugin.d.ts +2 -0
- package/hooks/useServerPlugin/useServerPlugin.es6.js +13 -0
- package/hooks/useServerPlugin/useServerPlugin.js +17 -0
- package/hooks/useServerPlugins/index.d.ts +1 -0
- package/hooks/useServerPlugins/index.es6.js +1 -0
- package/hooks/useServerPlugins/index.js +10 -0
- package/hooks/useServerPlugins/useServerPlugins.d.ts +4 -0
- package/hooks/useServerPlugins/useServerPlugins.es6.js +14 -0
- package/hooks/useServerPlugins/useServerPlugins.js +19 -0
- package/hooks/useServerPort/index.d.ts +1 -0
- package/hooks/useServerPort/index.es6.js +1 -0
- package/hooks/useServerPort/index.js +10 -0
- package/hooks/useServerPort/useServerPort.d.ts +3 -0
- package/hooks/useServerPort/useServerPort.es6.js +14 -0
- package/hooks/useServerPort/useServerPort.js +19 -0
- package/index.es6.js +16 -9
- package/index.js +31 -14
- package/package.json +2 -3
- package/plugins/main/api/api.d.ts +11 -8
- package/plugins/main/api/api.es6.js +55 -56
- package/plugins/main/api/api.js +54 -55
- package/plugins/main/body/body.d.ts +1 -0
- package/plugins/main/contact/contact.d.ts +2 -2
- package/plugins/main/endpoint/endpoint.d.ts +16 -15
- package/plugins/main/endpoint/endpoint.es6.js +8 -6
- package/plugins/main/endpoint/endpoint.js +7 -5
- package/plugins/main/host/host.d.ts +5 -5
- package/plugins/main/index.d.ts +2 -2
- package/plugins/main/index.es6.js +2 -2
- package/plugins/main/index.js +2 -2
- package/plugins/main/license/license.d.ts +5 -5
- package/plugins/main/param/param.d.ts +12 -11
- package/plugins/main/param/param.es6.js +6 -6
- package/plugins/main/param/param.js +5 -5
- package/plugins/main/preset/index.d.ts +1 -0
- package/plugins/main/preset/index.es6.js +1 -0
- package/plugins/{utils/prod → main/preset}/index.js +2 -2
- package/plugins/main/preset/preset.d.ts +3 -0
- package/plugins/main/preset/preset.es6.js +13 -0
- package/plugins/{utils/dev/dev.js → main/preset/preset.js} +9 -6
- package/plugins/main/response/index.es6.js +1 -1
- package/plugins/main/response/index.js +1 -0
- package/plugins/main/response/response.d.ts +6 -1
- package/plugins/main/response/response.es6.js +22 -13
- package/plugins/main/response/response.js +21 -11
- package/plugins/main/return/index.d.ts +1 -0
- package/plugins/main/return/index.es6.js +1 -0
- package/plugins/main/return/index.js +9 -0
- package/plugins/main/return/return.d.ts +4 -0
- package/plugins/main/return/return.es6.js +10 -0
- package/plugins/main/return/return.js +14 -0
- package/plugins/main/server/server.d.ts +6 -5
- package/plugins/main/server/server.es6.js +43 -16
- package/plugins/main/server/server.js +42 -15
- package/plugins/main/tag/tag.d.ts +3 -2
- package/plugins/main/tag/tag.es6.js +6 -4
- package/plugins/main/tag/tag.js +5 -3
- package/plugins/main/variable/variable.d.ts +5 -5
- package/plugins/main/variable/variable.es6.js +3 -1
- package/plugins/main/variable/variable.js +3 -1
- package/plugins/request/cms/cms.d.ts +1 -0
- package/plugins/request/cms/cms.es6.js +3 -4
- package/plugins/request/cms/cms.js +2 -3
- package/plugins/request/error/error.d.ts +41 -40
- package/plugins/request/error/error.es6.js +48 -45
- package/plugins/request/error/error.js +47 -44
- package/plugins/request/file/file.d.ts +1 -0
- package/plugins/request/file/file.es6.js +5 -6
- package/plugins/request/file/file.js +4 -5
- package/plugins/request/header/header.es6.js +1 -1
- package/plugins/request/header/header.js +1 -1
- package/plugins/request/proxy/proxy.d.ts +4 -1
- package/plugins/request/proxy/proxy.es6.js +5 -2
- package/plugins/request/proxy/proxy.js +5 -2
- package/plugins/request/redirect/redirect.d.ts +8 -7
- package/plugins/request/redirect/redirect.es6.js +7 -7
- package/plugins/request/redirect/redirect.js +7 -7
- package/plugins/request/success/success.d.ts +8 -6
- package/plugins/request/success/success.es6.js +21 -11
- package/plugins/request/success/success.js +20 -10
- package/plugins/schema/any/any.d.ts +5 -0
- package/plugins/schema/any/any.es6.js +27 -0
- package/plugins/schema/any/any.js +31 -0
- package/plugins/schema/array/array.d.ts +1 -0
- package/plugins/schema/array/array.es6.js +3 -3
- package/plugins/schema/array/array.js +2 -2
- package/plugins/schema/binary/binary.d.ts +3 -3
- package/plugins/schema/date/date.d.ts +1 -1
- package/plugins/schema/date/date.es6.js +3 -3
- package/plugins/schema/date/date.js +3 -3
- package/plugins/schema/field/field.d.ts +2 -0
- package/plugins/schema/field/field.es6.js +8 -8
- package/plugins/schema/field/field.js +6 -6
- package/plugins/schema/index.d.ts +1 -0
- package/plugins/schema/index.es6.js +1 -0
- package/plugins/schema/index.js +1 -0
- package/plugins/schema/integer/integer.d.ts +3 -3
- package/plugins/schema/integer/integer.es6.js +1 -1
- package/plugins/schema/integer/integer.js +1 -1
- package/plugins/schema/number/number.d.ts +2 -2
- package/plugins/schema/number/number.es6.js +1 -1
- package/plugins/schema/number/number.js +1 -1
- package/plugins/schema/object/object.d.ts +1 -0
- package/plugins/schema/object/object.es6.js +20 -7
- package/plugins/schema/object/object.js +19 -6
- package/plugins/schema/string/string.d.ts +2 -2
- package/plugins/schema/string/string.es6.js +44 -30
- package/plugins/schema/string/string.js +44 -30
- package/plugins/schema/tuple/tuple.d.ts +1 -0
- package/plugins/schema/tuple/tuple.es6.js +5 -5
- package/plugins/schema/tuple/tuple.js +4 -4
- package/plugins/schema/uuid/uuid.es6.js +1 -1
- package/plugins/schema/uuid/uuid.js +1 -1
- package/plugins/utils/blacklist/blacklist.d.ts +5 -0
- package/plugins/utils/blacklist/blacklist.es6.js +17 -0
- package/plugins/utils/blacklist/blacklist.js +21 -0
- package/plugins/utils/blacklist/index.d.ts +1 -0
- package/plugins/utils/blacklist/index.es6.js +1 -0
- package/plugins/utils/blacklist/index.js +9 -0
- package/plugins/utils/dts/dts.d.ts +2 -1
- package/plugins/utils/dts/dts.es6.js +2 -2
- package/plugins/utils/dts/dts.js +2 -2
- package/plugins/utils/env/env.d.ts +7 -0
- package/plugins/utils/env/env.es6.js +11 -0
- package/plugins/utils/{prod/prod.js → env/env.js} +5 -4
- package/plugins/utils/env/index.d.ts +1 -0
- package/plugins/utils/env/index.es6.js +1 -0
- package/plugins/utils/{dev → env}/index.js +2 -2
- package/plugins/utils/index.d.ts +3 -2
- package/plugins/utils/index.es6.js +3 -2
- package/plugins/utils/index.js +3 -2
- package/plugins/utils/protection/protection.d.ts +4 -4
- package/plugins/utils/protection/protection.es6.js +13 -16
- package/plugins/utils/protection/protection.js +13 -16
- package/plugins/utils/swagger/swagger.es6.js +7 -5
- package/plugins/utils/swagger/swagger.js +7 -5
- package/plugins/utils/whitelist/index.d.ts +1 -0
- package/plugins/utils/whitelist/index.es6.js +1 -0
- package/plugins/utils/whitelist/index.js +9 -0
- package/plugins/utils/whitelist/whitelist.d.ts +5 -0
- package/plugins/utils/whitelist/whitelist.es6.js +19 -0
- package/plugins/utils/whitelist/whitelist.js +23 -0
- package/types.d.ts +15 -22
- package/utils/FileData/Bin.d.ts +13 -13
- package/utils/FileData/Bin.es6.js +2 -2
- package/utils/FileData/Bin.js +2 -2
- package/utils/action/Action.d.ts +12 -12
- package/utils/action/Action.es6.js +84 -82
- package/utils/action/Action.js +83 -81
- package/utils/dateFormat/dateFormat.d.ts +1 -1
- package/utils/dateFormat/dateFormat.es6.js +1 -1
- package/utils/dateFormat/dateFormat.js +1 -1
- package/utils/decorators/once/once.es6.js +1 -1
- package/utils/decorators/once/once.js +1 -1
- package/utils/generateTypes/generateTypes.d.ts +2 -2
- package/utils/generateTypes/generateTypes.es6.js +85 -25
- package/utils/generateTypes/generateTypes.js +85 -25
- package/utils/getEndpoint/getEndpoint.es6.js +2 -2
- package/utils/getEndpoint/getEndpoint.js +2 -2
- package/utils/getOrAdd/getOrAdd.d.ts +1 -1
- package/utils/httpOnStart/httpOnStart.d.ts +1 -1
- package/utils/httpOnStart/httpOnStart.es6.js +1 -1
- package/utils/httpOnStart/httpOnStart.js +1 -1
- package/utils/rules/binaryAccept/binaryAccept.es6.js +2 -2
- package/utils/rules/binaryAccept/binaryAccept.js +2 -2
- package/utils/rules/dateTo/dateTo.d.ts +1 -1
- package/utils/rules/helpers.d.ts +1 -1
- package/utils/rules/index.d.ts +0 -1
- package/utils/rules/index.es6.js +0 -1
- package/utils/rules/index.js +0 -1
- package/utils/rules/int/int.es6.js +2 -2
- package/utils/rules/int/int.js +2 -2
- package/utils/rules/max/max.d.ts +1 -1
- package/utils/rules/max/max.es6.js +3 -3
- package/utils/rules/max/max.js +3 -3
- package/utils/rules/maxBin/maxBin.es6.js +2 -2
- package/utils/rules/maxBin/maxBin.js +2 -2
- package/utils/rules/maxDate/maxDate.es6.js +1 -1
- package/utils/rules/maxDate/maxDate.js +1 -1
- package/utils/rules/maxLength/maxLength.es6.js +2 -2
- package/utils/rules/maxLength/maxLength.js +2 -2
- package/utils/rules/min/min.d.ts +1 -1
- package/utils/rules/min/min.es6.js +3 -3
- package/utils/rules/min/min.js +3 -3
- package/utils/rules/minBin/minBin.es6.js +2 -2
- package/utils/rules/minBin/minBin.js +2 -2
- package/utils/rules/minDate/minDate.es6.js +1 -1
- package/utils/rules/minDate/minDate.js +1 -1
- package/utils/rules/minLength/minLength.es6.js +2 -2
- package/utils/rules/minLength/minLength.js +2 -2
- package/utils/rules/objectOf/objectOf.d.ts +1 -1
- package/utils/rules/objectOf/objectOf.es6.js +11 -1
- package/utils/rules/objectOf/objectOf.js +11 -1
- package/utils/rules/pattern/pattern.d.ts +1 -1
- package/utils/rules/pattern/pattern.es6.js +2 -1
- package/utils/rules/pattern/pattern.js +2 -1
- package/example/app/App/App.d.ts +0 -1
- package/example/app/App/index.d.ts +0 -1
- package/example/index.d.ts +0 -1
- package/example/requests/index.d.ts +0 -1
- package/example/requests/todo/AddTodo/AddTodo.d.ts +0 -1
- package/example/requests/todo/AddTodo/index.d.ts +0 -1
- package/example/requests/todo/DeleteTodo/DeleteTodo.d.ts +0 -1
- package/example/requests/todo/DeleteTodo/index.d.ts +0 -1
- package/example/requests/todo/EditTodo/EditTodo.d.ts +0 -1
- package/example/requests/todo/EditTodo/index.d.ts +0 -1
- package/example/requests/todo/GetTodo/GetTodo.d.ts +0 -1
- package/example/requests/todo/GetTodo/index.d.ts +0 -1
- package/example/requests/todo/GetTodos/GetTodos.d.ts +0 -1
- package/example/requests/todo/GetTodos/index.d.ts +0 -1
- package/example/requests/todo/index.d.ts +0 -5
- package/example/requests/todo/todos.d.ts +0 -1
- package/example/schemas/app/ListQueryParams/ListQueryParams.d.ts +0 -1
- package/example/schemas/app/ListQueryParams/index.d.ts +0 -1
- package/example/schemas/app/ListSchema/ListSchema.d.ts +0 -4
- package/example/schemas/app/ListSchema/index.d.ts +0 -1
- package/example/schemas/app/index.d.ts +0 -2
- package/example/schemas/index.d.ts +0 -2
- package/example/schemas/todo/TodoSchema/TodoSchema.d.ts +0 -4
- package/example/schemas/todo/TodoSchema/index.d.ts +0 -1
- package/example/schemas/todo/index.d.ts +0 -1
- package/example/tags/Todo/Todo.d.ts +0 -1
- package/example/tags/Todo/index.d.ts +0 -1
- package/example/tags/index.d.ts +0 -1
- package/hooks/useRequestPlugin/index.d.ts +0 -1
- package/hooks/useRequestPlugin/index.es6.js +0 -1
- package/hooks/useRequestPlugin/index.js +0 -9
- package/hooks/useRequestPlugin/useRequestPlugin.d.ts +0 -2
- package/hooks/useRequestPlugin/useRequestPlugin.es6.js +0 -13
- package/hooks/useRequestPlugin/useRequestPlugin.js +0 -17
- package/openApi.test.d.ts +0 -1
- package/plugins/main/fallback/fallback.d.ts +0 -4
- package/plugins/main/fallback/fallback.es6.js +0 -19
- package/plugins/main/fallback/fallback.js +0 -23
- package/plugins/main/fallback/index.d.ts +0 -1
- package/plugins/main/fallback/index.es6.js +0 -1
- package/plugins/main/fallback/index.js +0 -9
- package/plugins/main/request/index.d.ts +0 -1
- package/plugins/main/request/index.es6.js +0 -1
- package/plugins/main/request/index.js +0 -9
- package/plugins/main/request/request.d.ts +0 -4
- package/plugins/main/request/request.es6.js +0 -21
- package/plugins/main/request/request.js +0 -25
- package/plugins/utils/dev/dev.d.ts +0 -4
- package/plugins/utils/dev/dev.es6.js +0 -10
- package/plugins/utils/dev/index.d.ts +0 -1
- package/plugins/utils/dev/index.es6.js +0 -1
- package/plugins/utils/prod/index.d.ts +0 -1
- package/plugins/utils/prod/index.es6.js +0 -1
- package/plugins/utils/prod/prod.d.ts +0 -4
- package/plugins/utils/prod/prod.es6.js +0 -10
- package/utils/decorators/once/once.test.d.ts +0 -1
- package/utils/generateTypes/generateTypes.test.d.ts +0 -1
- package/utils/parseSearch/parseSearch.test.d.ts +0 -1
- package/utils/rules/any/any.d.ts +0 -1
- package/utils/rules/any/any.es6.js +0 -5
- package/utils/rules/any/any.js +0 -9
- /package/{utils/rules → plugins/schema}/any/index.d.ts +0 -0
- /package/{utils/rules → plugins/schema}/any/index.es6.js +0 -0
- /package/{utils/rules → plugins/schema}/any/index.js +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { type HandlerPlugin } from 'innet';
|
|
2
2
|
export interface LicenseProps {
|
|
3
|
-
/**
|
|
4
|
-
* The license name used for the API.
|
|
5
|
-
* @example: Apache 2.0
|
|
6
|
-
* */
|
|
7
|
-
name: string;
|
|
8
3
|
/**
|
|
9
4
|
* An [SPDX](https://spdx.org/spdx-specification-21-web-version#h.jxpfx0ykyb60) license expression for the API.
|
|
10
5
|
* The `identifier` field is mutually exclusive of the `url` field.
|
|
11
6
|
* @example: Apache-2.0
|
|
12
7
|
* */
|
|
13
8
|
identifier?: string;
|
|
9
|
+
/**
|
|
10
|
+
* The license name used for the API.
|
|
11
|
+
* @example: Apache 2.0
|
|
12
|
+
* */
|
|
13
|
+
name: string;
|
|
14
14
|
/**
|
|
15
15
|
* A URL to the license used for the API.
|
|
16
16
|
* This MUST be in the form of a URL.
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { type HandlerPlugin } from 'innet';
|
|
2
2
|
import { type InParam } from '../../../types';
|
|
3
3
|
export interface ParamProps {
|
|
4
|
+
children?: any;
|
|
5
|
+
/**
|
|
6
|
+
* Specifies that a parameter is deprecated and SHOULD be transitioned out of usage.
|
|
7
|
+
* Default value is `false`.
|
|
8
|
+
* */
|
|
9
|
+
deprecated?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* A brief description of the parameter.
|
|
12
|
+
* This could contain examples of use.
|
|
13
|
+
* [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
|
|
14
|
+
* */
|
|
15
|
+
description?: string;
|
|
4
16
|
/**
|
|
5
17
|
* The location of the parameter.
|
|
6
18
|
* Possible values are "query", "header", "path" or "cookie".
|
|
@@ -14,22 +26,11 @@ export interface ParamProps {
|
|
|
14
26
|
* - For all other cases, the `name` corresponds to the parameter name used by the `in` property.
|
|
15
27
|
* */
|
|
16
28
|
name: string;
|
|
17
|
-
/**
|
|
18
|
-
* A brief description of the parameter.
|
|
19
|
-
* This could contain examples of use.
|
|
20
|
-
* [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
|
|
21
|
-
* */
|
|
22
|
-
description?: string;
|
|
23
29
|
/**
|
|
24
30
|
* Determines whether this parameter is mandatory.
|
|
25
31
|
* If the parameter location is "path", this property is `true` and its value MUST be `true`.
|
|
26
32
|
* Otherwise, the property MAY be included and its default value is `false`.
|
|
27
33
|
* */
|
|
28
34
|
required?: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Specifies that a parameter is deprecated and SHOULD be transitioned out of usage.
|
|
31
|
-
* Default value is `false`.
|
|
32
|
-
* */
|
|
33
|
-
deprecated?: boolean;
|
|
34
35
|
}
|
|
35
36
|
export declare const param: HandlerPlugin;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
1
2
|
import innet, { useNewHandler } from 'innet';
|
|
2
|
-
import {
|
|
3
|
+
import { useProps } from '@innet/jsx';
|
|
3
4
|
import '../../../hooks/index.es6.js';
|
|
4
5
|
import '../../../utils/index.es6.js';
|
|
5
6
|
import '../../../utils/rules/index.es6.js';
|
|
@@ -13,19 +14,18 @@ import { required } from '../../../utils/rules/required/required.es6.js';
|
|
|
13
14
|
import { oneOf } from '../../../utils/rules/oneOf/oneOf.es6.js';
|
|
14
15
|
|
|
15
16
|
const inMap = {
|
|
16
|
-
query: 'search',
|
|
17
|
-
path: 'path',
|
|
18
17
|
cookie: 'cookie',
|
|
19
18
|
header: 'header',
|
|
19
|
+
path: 'path',
|
|
20
|
+
query: 'search',
|
|
20
21
|
};
|
|
21
22
|
const param = () => {
|
|
22
23
|
var _a;
|
|
23
|
-
const { operation,
|
|
24
|
+
const { endpoint, operation, } = useEndpoint();
|
|
24
25
|
if (!operation.parameters) {
|
|
25
26
|
operation.parameters = [];
|
|
26
27
|
}
|
|
27
|
-
const children =
|
|
28
|
-
const props = useProps();
|
|
28
|
+
const _b = useProps(), { children } = _b, props = __rest(_b, ["children"]);
|
|
29
29
|
const params = Object.assign({}, props);
|
|
30
30
|
if (props.in === 'path') {
|
|
31
31
|
params.required = (_a = params.required) !== null && _a !== void 0 ? _a : true;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var tslib = require('tslib');
|
|
5
6
|
var innet = require('innet');
|
|
6
7
|
var jsx = require('@innet/jsx');
|
|
7
8
|
require('../../../hooks/index.js');
|
|
@@ -21,19 +22,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
21
22
|
var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
|
|
22
23
|
|
|
23
24
|
const inMap = {
|
|
24
|
-
query: 'search',
|
|
25
|
-
path: 'path',
|
|
26
25
|
cookie: 'cookie',
|
|
27
26
|
header: 'header',
|
|
27
|
+
path: 'path',
|
|
28
|
+
query: 'search',
|
|
28
29
|
};
|
|
29
30
|
const param = () => {
|
|
30
31
|
var _a;
|
|
31
|
-
const { operation,
|
|
32
|
+
const { endpoint, operation, } = useEndpoint.useEndpoint();
|
|
32
33
|
if (!operation.parameters) {
|
|
33
34
|
operation.parameters = [];
|
|
34
35
|
}
|
|
35
|
-
const
|
|
36
|
-
const props = jsx.useProps();
|
|
36
|
+
const _b = jsx.useProps(), { children } = _b, props = tslib.__rest(_b, ["children"]);
|
|
37
37
|
const params = Object.assign({}, props);
|
|
38
38
|
if (props.in === 'path') {
|
|
39
39
|
params.required = (_a = params.required) !== null && _a !== void 0 ? _a : true;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './preset';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { preset } from './preset.es6.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import innet, { useHandler } from 'innet';
|
|
2
|
+
import { useChildren } from '@innet/jsx';
|
|
3
|
+
import '../../../hooks/index.es6.js';
|
|
4
|
+
import { useServerPlugin } from '../../../hooks/useServerPlugin/useServerPlugin.es6.js';
|
|
5
|
+
|
|
6
|
+
function preset() {
|
|
7
|
+
const children = useChildren();
|
|
8
|
+
useServerPlugin(() => {
|
|
9
|
+
innet(children, useHandler());
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { preset };
|
|
@@ -4,15 +4,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var innet = require('innet');
|
|
6
6
|
var jsx = require('@innet/jsx');
|
|
7
|
+
require('../../../hooks/index.js');
|
|
8
|
+
var useServerPlugin = require('../../../hooks/useServerPlugin/useServerPlugin.js');
|
|
7
9
|
|
|
8
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
11
|
|
|
10
12
|
var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
};
|
|
14
|
+
function preset() {
|
|
15
|
+
const children = jsx.useChildren();
|
|
16
|
+
useServerPlugin.useServerPlugin(() => {
|
|
17
|
+
innet__default["default"](children, innet.useHandler());
|
|
18
|
+
});
|
|
19
|
+
}
|
|
17
20
|
|
|
18
|
-
exports.
|
|
21
|
+
exports.preset = preset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { response } from './response.es6.js';
|
|
1
|
+
export { response, statuses } from './response.es6.js';
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type HandlerPlugin } from 'innet';
|
|
2
|
+
import { type ErrorStatuses, type RedirectStatuses, type SuccessStatuses } from '../../request';
|
|
3
|
+
export type StatusKey = ErrorStatuses | RedirectStatuses | SuccessStatuses;
|
|
2
4
|
export interface ResponseProps {
|
|
5
|
+
children?: any;
|
|
3
6
|
/**
|
|
4
7
|
* A description of the response.
|
|
5
8
|
* [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
|
|
@@ -11,6 +14,8 @@ export interface ResponseProps {
|
|
|
11
14
|
* For example, 2XX represents all response codes between [200-299].
|
|
12
15
|
* Only the following range definitions are allowed: 1XX, 2XX, 3XX, 4XX, and 5XX.
|
|
13
16
|
* */
|
|
14
|
-
status?:
|
|
17
|
+
status?: 'default' | `${1 | 2 | 3 | 4 | 5}XX` | StatusKey | number;
|
|
18
|
+
type?: string;
|
|
15
19
|
}
|
|
20
|
+
export declare const statuses: Record<StatusKey, number>;
|
|
16
21
|
export declare const response: HandlerPlugin;
|
|
@@ -1,37 +1,46 @@
|
|
|
1
1
|
import innet, { useNewHandler } from 'innet';
|
|
2
|
-
import { useProps,
|
|
2
|
+
import { useProps, useContext } from '@innet/jsx';
|
|
3
3
|
import '../../../hooks/index.es6.js';
|
|
4
4
|
import '../../../utils/index.es6.js';
|
|
5
|
+
import '../../request/index.es6.js';
|
|
6
|
+
import { errorStatuses } from '../../request/error/error.es6.js';
|
|
7
|
+
import { redirectStatuses } from '../../request/redirect/redirect.es6.js';
|
|
8
|
+
import { successStatuses } from '../../request/success/success.es6.js';
|
|
5
9
|
import { useEndpoint, endpointContext } from '../../../hooks/useEndpoint/useEndpoint.es6.js';
|
|
6
10
|
import { useThrow } from '../../../hooks/useThrow/useThrow.es6.js';
|
|
7
11
|
import { schemaContext } from '../../../hooks/useSchemaContext/useSchemaContext.es6.js';
|
|
8
12
|
import { getOrAdd } from '../../../utils/getOrAdd/getOrAdd.es6.js';
|
|
9
13
|
import { ruleContext } from '../../../hooks/useRule/useRule.es6.js';
|
|
10
14
|
|
|
15
|
+
const statuses = Object.assign(Object.assign(Object.assign({}, errorStatuses), redirectStatuses), successStatuses);
|
|
11
16
|
const response = () => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
17
|
+
var _a;
|
|
18
|
+
let { children, description = '', status = 'default', type = 'application/json', } = useProps() || {};
|
|
19
|
+
const { operation, props: { path }, } = useEndpoint();
|
|
15
20
|
const handler = useNewHandler();
|
|
16
21
|
const endpoint = useContext(endpointContext);
|
|
22
|
+
if (status in statuses) {
|
|
23
|
+
status = statuses[status];
|
|
24
|
+
}
|
|
17
25
|
if (!endpoint) {
|
|
18
26
|
useThrow('<{type}> MUST be placed in <endpoint> element');
|
|
19
27
|
}
|
|
20
28
|
if (!operation.responses) {
|
|
21
29
|
operation.responses = {};
|
|
22
30
|
}
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
const defaultResponse = operation.responses[status];
|
|
32
|
+
if ((_a = defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content) === null || _a === void 0 ? void 0 : _a[type]) {
|
|
33
|
+
throw Error(`status ${status} and type ${type} for '${path}' already used`);
|
|
25
34
|
}
|
|
26
|
-
const schema = {};
|
|
35
|
+
const schema = status === 204 || !children ? undefined : {};
|
|
27
36
|
const response = {
|
|
28
37
|
description,
|
|
29
|
-
content: {
|
|
30
|
-
'application/json': {
|
|
31
|
-
schema,
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
38
|
};
|
|
39
|
+
if (schema) {
|
|
40
|
+
response.content = Object.assign(Object.assign({}, defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content), { [type]: {
|
|
41
|
+
schema,
|
|
42
|
+
} });
|
|
43
|
+
}
|
|
35
44
|
operation.responses[status] = response;
|
|
36
45
|
schemaContext.set(handler, schema);
|
|
37
46
|
const rules = getOrAdd(endpoint, 'endpoint.rules', [{}, {}]);
|
|
@@ -41,4 +50,4 @@ const response = () => {
|
|
|
41
50
|
innet(children, handler);
|
|
42
51
|
};
|
|
43
52
|
|
|
44
|
-
export { response };
|
|
53
|
+
export { response, statuses };
|
|
@@ -6,6 +6,10 @@ var innet = require('innet');
|
|
|
6
6
|
var jsx = require('@innet/jsx');
|
|
7
7
|
require('../../../hooks/index.js');
|
|
8
8
|
require('../../../utils/index.js');
|
|
9
|
+
require('../../request/index.js');
|
|
10
|
+
var error = require('../../request/error/error.js');
|
|
11
|
+
var redirect = require('../../request/redirect/redirect.js');
|
|
12
|
+
var success = require('../../request/success/success.js');
|
|
9
13
|
var useEndpoint = require('../../../hooks/useEndpoint/useEndpoint.js');
|
|
10
14
|
var useThrow = require('../../../hooks/useThrow/useThrow.js');
|
|
11
15
|
var useSchemaContext = require('../../../hooks/useSchemaContext/useSchemaContext.js');
|
|
@@ -16,30 +20,35 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
16
20
|
|
|
17
21
|
var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
|
|
18
22
|
|
|
23
|
+
const statuses = Object.assign(Object.assign(Object.assign({}, error.errorStatuses), redirect.redirectStatuses), success.successStatuses);
|
|
19
24
|
const response = () => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
25
|
+
var _a;
|
|
26
|
+
let { children, description = '', status = 'default', type = 'application/json', } = jsx.useProps() || {};
|
|
27
|
+
const { operation, props: { path }, } = useEndpoint.useEndpoint();
|
|
23
28
|
const handler = innet.useNewHandler();
|
|
24
29
|
const endpoint = jsx.useContext(useEndpoint.endpointContext);
|
|
30
|
+
if (status in statuses) {
|
|
31
|
+
status = statuses[status];
|
|
32
|
+
}
|
|
25
33
|
if (!endpoint) {
|
|
26
34
|
useThrow.useThrow('<{type}> MUST be placed in <endpoint> element');
|
|
27
35
|
}
|
|
28
36
|
if (!operation.responses) {
|
|
29
37
|
operation.responses = {};
|
|
30
38
|
}
|
|
31
|
-
|
|
32
|
-
|
|
39
|
+
const defaultResponse = operation.responses[status];
|
|
40
|
+
if ((_a = defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content) === null || _a === void 0 ? void 0 : _a[type]) {
|
|
41
|
+
throw Error(`status ${status} and type ${type} for '${path}' already used`);
|
|
33
42
|
}
|
|
34
|
-
const schema = {};
|
|
43
|
+
const schema = status === 204 || !children ? undefined : {};
|
|
35
44
|
const response = {
|
|
36
45
|
description,
|
|
37
|
-
content: {
|
|
38
|
-
'application/json': {
|
|
39
|
-
schema,
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
46
|
};
|
|
47
|
+
if (schema) {
|
|
48
|
+
response.content = Object.assign(Object.assign({}, defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content), { [type]: {
|
|
49
|
+
schema,
|
|
50
|
+
} });
|
|
51
|
+
}
|
|
43
52
|
operation.responses[status] = response;
|
|
44
53
|
useSchemaContext.schemaContext.set(handler, schema);
|
|
45
54
|
const rules = getOrAdd.getOrAdd(endpoint, 'endpoint.rules', [{}, {}]);
|
|
@@ -50,3 +59,4 @@ const response = () => {
|
|
|
50
59
|
};
|
|
51
60
|
|
|
52
61
|
exports.response = response;
|
|
62
|
+
exports.statuses = statuses;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './return';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { returnPlugin } from './return.es6.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useChildren } from '@innet/jsx';
|
|
2
|
+
import '../../../hooks/index.es6.js';
|
|
3
|
+
import { useServerPlugin } from '../../../hooks/useServerPlugin/useServerPlugin.es6.js';
|
|
4
|
+
|
|
5
|
+
const returnPlugin = () => {
|
|
6
|
+
const children = useChildren();
|
|
7
|
+
useServerPlugin(() => children);
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { returnPlugin };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsx = require('@innet/jsx');
|
|
6
|
+
require('../../../hooks/index.js');
|
|
7
|
+
var useServerPlugin = require('../../../hooks/useServerPlugin/useServerPlugin.js');
|
|
8
|
+
|
|
9
|
+
const returnPlugin = () => {
|
|
10
|
+
const children = jsx.useChildren();
|
|
11
|
+
useServerPlugin.useServerPlugin(() => children);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.returnPlugin = returnPlugin;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { type HandlerPlugin } from 'innet';
|
|
3
|
-
import { type ServerResponse } from 'http';
|
|
3
|
+
import { type IncomingMessage, type ServerResponse } from 'http';
|
|
4
4
|
import { type ServerStartParams, type SSL } from '../../../types';
|
|
5
5
|
export interface ServerProps {
|
|
6
|
+
children?: any;
|
|
7
|
+
onClose?: () => any;
|
|
8
|
+
onError?: (e: Error) => any;
|
|
9
|
+
onRequest?: (req: IncomingMessage, res: ServerResponse) => any;
|
|
10
|
+
onStart?: (params: ServerStartParams) => any;
|
|
6
11
|
port?: number;
|
|
7
12
|
ssl?: SSL;
|
|
8
|
-
onStart?: (params: ServerStartParams) => any;
|
|
9
|
-
onRequest?: (req: Request, res: ServerResponse) => any;
|
|
10
|
-
onError?: (e: Error) => any;
|
|
11
|
-
onDestroy?: () => any;
|
|
12
13
|
}
|
|
13
14
|
export declare const server: HandlerPlugin;
|
|
@@ -1,24 +1,31 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { __awaiter } from 'tslib';
|
|
2
|
+
import innet, { useNewHandler } from 'innet';
|
|
3
|
+
import { useProps } from '@innet/jsx';
|
|
2
4
|
import fs from 'node:fs';
|
|
3
5
|
import http from 'node:http';
|
|
4
6
|
import http2 from 'node:https';
|
|
5
7
|
import { onDestroy } from 'watch-state';
|
|
6
8
|
import '../../../hooks/index.es6.js';
|
|
9
|
+
import '../../../utils/index.es6.js';
|
|
7
10
|
import { serverContext } from '../../../hooks/useServer/useServer.es6.js';
|
|
11
|
+
import { serverPlugins } from '../../../hooks/useServerPlugins/useServerPlugins.es6.js';
|
|
12
|
+
import { serverPortContext } from '../../../hooks/useServerPort/useServerPort.es6.js';
|
|
13
|
+
import { serverHttpsContext } from '../../../hooks/useIsServerHttps/useIsServerHttps.es6.js';
|
|
14
|
+
import { Action } from '../../../utils/action/Action.es6.js';
|
|
15
|
+
import { actionContext } from '../../../hooks/useAction/useAction.es6.js';
|
|
16
|
+
import { requestHandlerContext } from '../../../hooks/useRequestHandler/useRequestHandler.es6.js';
|
|
8
17
|
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
10
|
-
const isInvalidPath = require('is-invalid-path');
|
|
11
18
|
const server = () => {
|
|
12
19
|
var _a, _b, _c;
|
|
13
20
|
const handler = useNewHandler();
|
|
14
|
-
const
|
|
21
|
+
const props = useProps();
|
|
15
22
|
const { env } = process;
|
|
16
|
-
let { ssl: {
|
|
23
|
+
let { ssl: { cert = (_a = env.INNET_SSL_CRT) !== null && _a !== void 0 ? _a : 'localhost.crt', key = (_b = env.INNET_SSL_KEY) !== null && _b !== void 0 ? _b : 'localhost.key', } = {}, } = props;
|
|
17
24
|
try {
|
|
18
|
-
if (!
|
|
25
|
+
if (!key.startsWith('-----BEGIN PRIVATE KEY-----')) {
|
|
19
26
|
key = fs.readFileSync(key).toString();
|
|
20
27
|
}
|
|
21
|
-
if (!
|
|
28
|
+
if (!cert.startsWith('-----BEGIN CERTIFICATE-----')) {
|
|
22
29
|
cert = fs.readFileSync(cert).toString();
|
|
23
30
|
}
|
|
24
31
|
}
|
|
@@ -27,23 +34,43 @@ const server = () => {
|
|
|
27
34
|
cert = '';
|
|
28
35
|
}
|
|
29
36
|
const https = Boolean(key && cert);
|
|
30
|
-
const { port = Number((_c = env.
|
|
31
|
-
const
|
|
32
|
-
|
|
37
|
+
const { onClose, onError, onRequest, onStart, port = Number((_c = env.INNET_PORT) !== null && _c !== void 0 ? _c : (https ? 443 : 80)), } = props;
|
|
38
|
+
const plugins = new Set();
|
|
39
|
+
const server = https ? http2.createServer({ cert, key }) : http.createServer();
|
|
40
|
+
serverContext.set(handler, { port, server });
|
|
41
|
+
serverPlugins.set(handler, plugins);
|
|
42
|
+
serverPortContext.set(handler, port);
|
|
43
|
+
serverHttpsContext.set(handler, https);
|
|
33
44
|
onDestroy(() => {
|
|
34
|
-
var _a;
|
|
35
|
-
(_a = props.onDestroy) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
36
45
|
server.close();
|
|
37
46
|
});
|
|
38
47
|
if (onError) {
|
|
39
48
|
server.on('error', onError);
|
|
40
49
|
}
|
|
41
|
-
if (
|
|
42
|
-
server.
|
|
50
|
+
if (onClose) {
|
|
51
|
+
server.addListener('close', onClose);
|
|
43
52
|
}
|
|
44
|
-
|
|
53
|
+
server.on('request', (req, res) => {
|
|
54
|
+
onRequest === null || onRequest === void 0 ? void 0 : onRequest(req, res);
|
|
55
|
+
const action = new Action(req, res);
|
|
56
|
+
const requestHandler = Object.create(handler);
|
|
57
|
+
actionContext.set(requestHandler, action);
|
|
58
|
+
requestHandlerContext.set(requestHandler, requestHandler);
|
|
59
|
+
function server() {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
for (const plugin of plugins) {
|
|
62
|
+
const result = yield plugin();
|
|
63
|
+
if (result !== undefined) {
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
innet({ props, type: server }, requestHandler);
|
|
70
|
+
});
|
|
71
|
+
innet(props.children, handler);
|
|
45
72
|
server.listen(port, () => {
|
|
46
|
-
onStart === null || onStart === void 0 ? void 0 : onStart({
|
|
73
|
+
onStart === null || onStart === void 0 ? void 0 : onStart({ https, port });
|
|
47
74
|
});
|
|
48
75
|
};
|
|
49
76
|
|
|
@@ -2,13 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var tslib = require('tslib');
|
|
5
6
|
var innet = require('innet');
|
|
7
|
+
var jsx = require('@innet/jsx');
|
|
6
8
|
var fs = require('node:fs');
|
|
7
9
|
var http = require('node:http');
|
|
8
10
|
var http2 = require('node:https');
|
|
9
11
|
var watchState = require('watch-state');
|
|
10
12
|
require('../../../hooks/index.js');
|
|
13
|
+
require('../../../utils/index.js');
|
|
11
14
|
var useServer = require('../../../hooks/useServer/useServer.js');
|
|
15
|
+
var useServerPlugins = require('../../../hooks/useServerPlugins/useServerPlugins.js');
|
|
16
|
+
var useServerPort = require('../../../hooks/useServerPort/useServerPort.js');
|
|
17
|
+
var useIsServerHttps = require('../../../hooks/useIsServerHttps/useIsServerHttps.js');
|
|
18
|
+
var Action = require('../../../utils/action/Action.js');
|
|
19
|
+
var useAction = require('../../../hooks/useAction/useAction.js');
|
|
20
|
+
var useRequestHandler = require('../../../hooks/useRequestHandler/useRequestHandler.js');
|
|
12
21
|
|
|
13
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
23
|
|
|
@@ -17,19 +26,17 @@ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
|
17
26
|
var http__default = /*#__PURE__*/_interopDefaultLegacy(http);
|
|
18
27
|
var http2__default = /*#__PURE__*/_interopDefaultLegacy(http2);
|
|
19
28
|
|
|
20
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
21
|
-
const isInvalidPath = require('is-invalid-path');
|
|
22
29
|
const server = () => {
|
|
23
30
|
var _a, _b, _c;
|
|
24
31
|
const handler = innet.useNewHandler();
|
|
25
|
-
const
|
|
32
|
+
const props = jsx.useProps();
|
|
26
33
|
const { env } = process;
|
|
27
|
-
let { ssl: {
|
|
34
|
+
let { ssl: { cert = (_a = env.INNET_SSL_CRT) !== null && _a !== void 0 ? _a : 'localhost.crt', key = (_b = env.INNET_SSL_KEY) !== null && _b !== void 0 ? _b : 'localhost.key', } = {}, } = props;
|
|
28
35
|
try {
|
|
29
|
-
if (!
|
|
36
|
+
if (!key.startsWith('-----BEGIN PRIVATE KEY-----')) {
|
|
30
37
|
key = fs__default["default"].readFileSync(key).toString();
|
|
31
38
|
}
|
|
32
|
-
if (!
|
|
39
|
+
if (!cert.startsWith('-----BEGIN CERTIFICATE-----')) {
|
|
33
40
|
cert = fs__default["default"].readFileSync(cert).toString();
|
|
34
41
|
}
|
|
35
42
|
}
|
|
@@ -38,23 +45,43 @@ const server = () => {
|
|
|
38
45
|
cert = '';
|
|
39
46
|
}
|
|
40
47
|
const https = Boolean(key && cert);
|
|
41
|
-
const { port = Number((_c = env.
|
|
42
|
-
const
|
|
43
|
-
|
|
48
|
+
const { onClose, onError, onRequest, onStart, port = Number((_c = env.INNET_PORT) !== null && _c !== void 0 ? _c : (https ? 443 : 80)), } = props;
|
|
49
|
+
const plugins = new Set();
|
|
50
|
+
const server = https ? http2__default["default"].createServer({ cert, key }) : http__default["default"].createServer();
|
|
51
|
+
useServer.serverContext.set(handler, { port, server });
|
|
52
|
+
useServerPlugins.serverPlugins.set(handler, plugins);
|
|
53
|
+
useServerPort.serverPortContext.set(handler, port);
|
|
54
|
+
useIsServerHttps.serverHttpsContext.set(handler, https);
|
|
44
55
|
watchState.onDestroy(() => {
|
|
45
|
-
var _a;
|
|
46
|
-
(_a = props.onDestroy) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
47
56
|
server.close();
|
|
48
57
|
});
|
|
49
58
|
if (onError) {
|
|
50
59
|
server.on('error', onError);
|
|
51
60
|
}
|
|
52
|
-
if (
|
|
53
|
-
server.
|
|
61
|
+
if (onClose) {
|
|
62
|
+
server.addListener('close', onClose);
|
|
54
63
|
}
|
|
55
|
-
|
|
64
|
+
server.on('request', (req, res) => {
|
|
65
|
+
onRequest === null || onRequest === void 0 ? void 0 : onRequest(req, res);
|
|
66
|
+
const action = new Action.Action(req, res);
|
|
67
|
+
const requestHandler = Object.create(handler);
|
|
68
|
+
useAction.actionContext.set(requestHandler, action);
|
|
69
|
+
useRequestHandler.requestHandlerContext.set(requestHandler, requestHandler);
|
|
70
|
+
function server() {
|
|
71
|
+
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
for (const plugin of plugins) {
|
|
73
|
+
const result = yield plugin();
|
|
74
|
+
if (result !== undefined) {
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
innet__default["default"]({ props, type: server }, requestHandler);
|
|
81
|
+
});
|
|
82
|
+
innet__default["default"](props.children, handler);
|
|
56
83
|
server.listen(port, () => {
|
|
57
|
-
onStart === null || onStart === void 0 ? void 0 : onStart({
|
|
84
|
+
onStart === null || onStart === void 0 ? void 0 : onStart({ https, port });
|
|
58
85
|
});
|
|
59
86
|
};
|
|
60
87
|
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type HandlerPlugin } from 'innet';
|
|
2
2
|
export interface TagProps {
|
|
3
|
-
|
|
4
|
-
name: string;
|
|
3
|
+
children?: any;
|
|
5
4
|
/**
|
|
6
5
|
* A description for the tag.
|
|
7
6
|
* [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
|
|
8
7
|
* */
|
|
9
8
|
description?: string;
|
|
9
|
+
/** The name of the tag. */
|
|
10
|
+
name: string;
|
|
10
11
|
}
|
|
11
12
|
export declare const tag: HandlerPlugin;
|