@innet/server 2.0.0-alpha.9 → 2.0.0-beta.10
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 +1771 -799
- package/handler/handler.d.ts +26 -18
- package/handler/handler.es6.js +17 -14
- package/handler/handler.js +16 -13
- package/hooks/index.d.ts +26 -20
- package/hooks/index.es6.js +26 -20
- package/hooks/index.js +26 -20
- 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/useEffect/index.d.ts +1 -0
- package/hooks/useEffect/index.es6.js +1 -0
- package/hooks/useEffect/index.js +9 -0
- package/hooks/useEffect/useEffect.d.ts +2 -0
- package/hooks/useEffect/useEffect.es6.js +8 -0
- package/hooks/useEffect/useEffect.js +12 -0
- 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/useHeaders/useHeaders.d.ts +0 -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 +2 -2
- package/hooks/useNewSchema/useNewSchema.js +2 -2
- 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 -5
- 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 -5
- 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 +16 -9
- package/hooks/useSchemaType/useSchemaType.js +16 -9
- package/hooks/useServer/useServer.d.ts +2 -3
- 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.d.ts +2 -2
- package/index.es6.js +91 -82
- package/index.js +208 -184
- package/package.json +16 -16
- package/plugins/handler/serverFn/serverFn.es6.js +2 -2
- package/plugins/handler/serverFn/serverFn.js +2 -6
- package/plugins/index.d.ts +2 -2
- package/plugins/index.es6.js +2 -2
- package/plugins/index.js +2 -2
- package/plugins/main/api/api.d.ts +11 -8
- package/plugins/main/api/api.es6.js +112 -113
- package/plugins/main/api/api.js +112 -117
- package/plugins/main/body/body.d.ts +1 -0
- package/plugins/main/body/body.es6.js +4 -4
- package/plugins/main/body/body.js +4 -8
- package/plugins/main/contact/contact.d.ts +2 -2
- package/plugins/main/endpoint/endpoint.d.ts +21 -15
- package/plugins/main/endpoint/endpoint.es6.js +12 -10
- package/plugins/main/endpoint/endpoint.js +11 -13
- package/plugins/main/host/host.d.ts +5 -5
- package/plugins/main/host/host.es6.js +4 -2
- package/plugins/main/host/host.js +4 -6
- package/plugins/main/index.d.ts +9 -9
- package/plugins/main/index.es6.js +9 -9
- package/plugins/main/index.js +9 -9
- 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 +7 -8
- package/plugins/main/param/param.js +6 -11
- 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/main/preset/preset.js +17 -0
- 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 +29 -13
- package/plugins/main/response/response.js +28 -15
- 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 -6
- package/plugins/main/server/server.es6.js +40 -16
- package/plugins/main/server/server.js +39 -16
- package/plugins/main/tag/index.es6.js +1 -1
- package/plugins/main/tag/index.js +1 -0
- package/plugins/main/tag/tag.d.ts +10 -2
- package/plugins/main/tag/tag.es6.js +25 -6
- package/plugins/main/tag/tag.js +24 -8
- package/plugins/main/variable/variable.d.ts +5 -5
- package/plugins/main/variable/variable.es6.js +4 -3
- package/plugins/main/variable/variable.js +4 -3
- package/plugins/request/cms/cms.d.ts +1 -0
- package/plugins/request/cms/cms.es6.js +4 -5
- package/plugins/request/cms/cms.js +3 -5
- package/plugins/request/cookie/cookie.d.ts +2 -2
- package/plugins/request/cookie/cookie.es6.js +1 -2
- package/plugins/request/cookie/cookie.js +1 -2
- package/plugins/request/error/error.d.ts +41 -40
- package/plugins/request/error/error.es6.js +47 -45
- package/plugins/request/error/error.js +46 -44
- package/plugins/request/file/file.d.ts +1 -0
- package/plugins/request/file/file.es6.js +5 -7
- package/plugins/request/file/file.js +3 -6
- package/plugins/request/header/header.es6.js +1 -1
- package/plugins/request/header/header.js +1 -1
- package/plugins/request/index.d.ts +5 -5
- package/plugins/request/index.es6.js +5 -5
- package/plugins/request/index.js +5 -5
- package/plugins/request/proxy/proxy.d.ts +3 -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 +4 -0
- package/plugins/schema/array/array.es6.js +15 -7
- package/plugins/schema/array/array.js +15 -11
- package/plugins/schema/binary/binary.d.ts +7 -3
- package/plugins/schema/boolean/boolean.d.ts +1 -0
- package/plugins/schema/date/date.d.ts +3 -2
- package/plugins/schema/date/date.es6.js +8 -4
- package/plugins/schema/date/date.js +8 -4
- package/plugins/schema/field/field.d.ts +6 -0
- package/plugins/schema/field/field.es6.js +22 -9
- package/plugins/schema/field/field.js +20 -11
- package/plugins/schema/index.d.ts +8 -7
- package/plugins/schema/index.es6.js +8 -7
- package/plugins/schema/index.js +8 -7
- package/plugins/schema/integer/integer.d.ts +40 -3
- package/plugins/schema/integer/integer.es6.js +29 -9
- package/plugins/schema/integer/integer.js +29 -9
- package/plugins/schema/number/number.d.ts +34 -2
- package/plugins/schema/number/number.es6.js +21 -6
- package/plugins/schema/number/number.js +21 -6
- package/plugins/schema/object/object.d.ts +1 -0
- package/plugins/schema/object/object.es6.js +22 -8
- package/plugins/schema/object/object.js +21 -11
- package/plugins/schema/string/string.d.ts +29 -2
- package/plugins/schema/string/string.es6.js +50 -31
- package/plugins/schema/string/string.js +50 -31
- package/plugins/schema/tuple/tuple.d.ts +1 -0
- package/plugins/schema/tuple/tuple.es6.js +8 -9
- package/plugins/schema/tuple/tuple.js +7 -12
- package/plugins/schema/uuid/uuid.es6.js +5 -3
- package/plugins/schema/uuid/uuid.js +5 -3
- 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 +6 -3
- package/plugins/utils/dts/dts.js +6 -3
- package/plugins/utils/env/env.d.ts +7 -0
- package/plugins/utils/env/env.es6.js +11 -0
- package/plugins/utils/env/env.js +15 -0
- 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 +5 -3
- package/plugins/utils/index.es6.js +5 -3
- package/plugins/utils/index.js +5 -3
- 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.d.ts +1 -0
- package/plugins/utils/swagger/swagger.es6.js +8 -5
- package/plugins/utils/swagger/swagger.js +8 -5
- package/plugins/utils/ui/index.d.ts +1 -0
- package/plugins/utils/ui/index.es6.js +1 -0
- package/plugins/utils/ui/index.js +10 -0
- package/plugins/utils/ui/rapidoc.html.es6.js +3 -0
- package/plugins/utils/ui/rapidoc.html.js +7 -0
- package/plugins/utils/ui/redoc.html.es6.js +3 -0
- package/plugins/utils/ui/redoc.html.js +7 -0
- package/plugins/utils/ui/scalar.html.es6.js +3 -0
- package/plugins/utils/ui/scalar.html.js +7 -0
- package/plugins/utils/ui/swagger.html.es6.js +3 -0
- package/plugins/utils/ui/swagger.html.js +7 -0
- package/plugins/utils/ui/ui.d.ts +13 -0
- package/plugins/utils/ui/ui.es6.js +45 -0
- package/plugins/utils/ui/ui.js +50 -0
- 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 +21 -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 +13 -14
- package/utils/action/Action.es6.js +92 -92
- package/utils/action/Action.js +91 -91
- 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/getSafeSchema/getSafeSchema.d.ts +2 -0
- package/utils/getSafeSchema/getSafeSchema.es6.js +5 -0
- package/utils/getSafeSchema/getSafeSchema.js +9 -0
- package/utils/getSafeSchema/index.d.ts +1 -0
- package/utils/getSafeSchema/index.es6.js +1 -0
- package/utils/getSafeSchema/index.js +9 -0
- 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/index.d.ts +9 -8
- package/utils/index.es6.js +9 -8
- package/utils/index.js +9 -8
- package/utils/parseBody/parseBody.d.ts +0 -1
- package/utils/parseBody/parseBody.es6.js +13 -16
- package/utils/parseBody/parseBody.js +13 -16
- package/utils/parseFormBody/parseFormBody.d.ts +0 -1
- package/utils/parseFormBody/parseFormBody.es6.js +41 -41
- package/utils/parseFormBody/parseFormBody.js +41 -41
- package/utils/parseSearch/parseSearch.es6.js +4 -1
- package/utils/parseSearch/parseSearch.js +4 -1
- package/utils/rules/arrayOf/arrayOf.es6.js +1 -1
- package/utils/rules/arrayOf/arrayOf.js +1 -1
- package/utils/rules/bin/bin.es6.js +4 -1
- package/utils/rules/bin/bin.js +4 -1
- package/utils/rules/binaryAccept/binaryAccept.es6.js +5 -2
- package/utils/rules/binaryAccept/binaryAccept.js +5 -2
- package/utils/rules/dateTo/dateTo.d.ts +1 -1
- package/utils/rules/dateTo/dateTo.es6.js +4 -1
- package/utils/rules/dateTo/dateTo.js +4 -1
- package/utils/rules/helpers.d.ts +1 -1
- package/utils/rules/helpers.es6.js +4 -1
- package/utils/rules/helpers.js +4 -1
- package/utils/rules/index.d.ts +17 -18
- package/utils/rules/index.es6.js +17 -18
- package/utils/rules/index.js +18 -19
- package/utils/rules/int/int.es6.js +17 -4
- package/utils/rules/int/int.js +17 -4
- package/utils/rules/max/max.d.ts +1 -1
- package/utils/rules/max/max.es6.js +10 -4
- package/utils/rules/max/max.js +10 -4
- package/utils/rules/maxBin/maxBin.es6.js +5 -2
- package/utils/rules/maxBin/maxBin.js +5 -2
- package/utils/rules/maxDate/maxDate.es6.js +5 -1
- package/utils/rules/maxDate/maxDate.js +5 -1
- package/utils/rules/maxLength/maxLength.es6.js +5 -2
- package/utils/rules/maxLength/maxLength.js +5 -2
- package/utils/rules/min/min.d.ts +1 -1
- package/utils/rules/min/min.es6.js +10 -4
- package/utils/rules/min/min.js +10 -4
- package/utils/rules/minBin/minBin.es6.js +5 -2
- package/utils/rules/minBin/minBin.js +5 -2
- package/utils/rules/minDate/minDate.es6.js +5 -1
- package/utils/rules/minDate/minDate.js +5 -1
- package/utils/rules/minLength/minLength.es6.js +5 -2
- package/utils/rules/minLength/minLength.js +5 -2
- package/utils/rules/num/num.es6.js +4 -1
- package/utils/rules/num/num.js +4 -1
- package/utils/rules/objectOf/objectOf.d.ts +1 -1
- package/utils/rules/objectOf/objectOf.es6.js +16 -3
- package/utils/rules/objectOf/objectOf.js +16 -3
- package/utils/rules/pattern/pattern.d.ts +1 -1
- package/utils/rules/pattern/pattern.es6.js +6 -1
- package/utils/rules/pattern/pattern.js +6 -1
- package/utils/rules/tupleOf/tupleOf.es6.js +1 -1
- package/utils/rules/tupleOf/tupleOf.js +1 -1
- package/utils/rules/values/values.es6.js +5 -2
- package/utils/rules/values/values.js +5 -2
- package/utils/stringifySearch/stringifySearch.es6.js +4 -1
- package/utils/stringifySearch/stringifySearch.js +4 -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/dev.js +0 -18
- 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/plugins/utils/prod/prod.js +0 -18
- 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,56 +1,58 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { onDestroy } from 'watch-state';
|
|
1
|
+
import { useNewHandler, innet } from 'innet';
|
|
2
|
+
import { useProps } from '@innet/jsx';
|
|
4
3
|
import '../../../hooks/index.es6.js';
|
|
5
4
|
import '../../../utils/index.es6.js';
|
|
6
5
|
import '../../../utils/rules/index.es6.js';
|
|
7
|
-
import {
|
|
6
|
+
import { serverPlugins } from '../../../hooks/useServerPlugins/useServerPlugins.es6.js';
|
|
8
7
|
import { apiContext } from '../../../hooks/useApi/useApi.es6.js';
|
|
9
|
-
import {
|
|
8
|
+
import { useServerPlugin } from '../../../hooks/useServerPlugin/useServerPlugin.es6.js';
|
|
9
|
+
import { useAction, actionContext } from '../../../hooks/useAction/useAction.es6.js';
|
|
10
10
|
import { JSONString } from '../../../utils/JSONString/JSONString.es6.js';
|
|
11
11
|
import { RulesError } from '../../../utils/rules/helpers.es6.js';
|
|
12
|
-
import { responseContext } from '../../../hooks/useResponse/useResponse.es6.js';
|
|
13
|
-
import { requestContext } from '../../../hooks/useRequest/useRequest.es6.js';
|
|
14
12
|
import { paramsContext } from '../../../hooks/useParams/useParams.es6.js';
|
|
15
|
-
import { actionContext } from '../../../hooks/useAction/useAction.es6.js';
|
|
16
13
|
|
|
17
14
|
const api = () => {
|
|
18
|
-
var _a;
|
|
19
15
|
const handler = useNewHandler();
|
|
20
|
-
const
|
|
21
|
-
const {
|
|
22
|
-
const
|
|
23
|
-
const info = Object.assign(Object.assign({}, rest), { version: (_a = rest.version) !== null && _a !== void 0 ? _a : '0.0.0', title });
|
|
16
|
+
const props = useProps();
|
|
17
|
+
const { children, exclude, include, prefix = process.env.INNET_API_PREFIX || '', title = '', version = process.env.INNET_API_VERSION || '0.0.0', ...rest } = props;
|
|
18
|
+
const info = { ...rest, title, version };
|
|
24
19
|
const endpoints = {};
|
|
25
20
|
const docs = {
|
|
26
|
-
openapi: '3.1.0',
|
|
27
21
|
info,
|
|
22
|
+
openapi: '3.1.0',
|
|
28
23
|
paths: {},
|
|
29
24
|
};
|
|
30
|
-
const
|
|
31
|
-
const context = { docs, endpoints, prefix,
|
|
25
|
+
const plugins = new Set();
|
|
26
|
+
const context = { docs, endpoints, prefix, refRules: {} };
|
|
27
|
+
const condition = (action) => {
|
|
28
|
+
const path = action.parsedUrl.path;
|
|
29
|
+
const url = path.endsWith('/') ? path.slice(0, -1) : path;
|
|
30
|
+
if (!url.startsWith(prefix) || (exclude === null || exclude === void 0 ? void 0 : exclude.test(url))) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (include && !include.test(url)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
};
|
|
38
|
+
serverPlugins.set(handler, plugins);
|
|
32
39
|
apiContext.set(handler, context);
|
|
33
|
-
|
|
34
|
-
var _b, _c, _d, _e, _f
|
|
35
|
-
|
|
40
|
+
useServerPlugin(async () => {
|
|
41
|
+
var _a, _b, _c, _d, _e, _f;
|
|
42
|
+
const action = useAction();
|
|
43
|
+
if (!condition(action))
|
|
36
44
|
return;
|
|
37
|
-
const
|
|
45
|
+
const actionHandler = useNewHandler();
|
|
38
46
|
const path = action.parsedUrl.path;
|
|
39
47
|
const url = path.endsWith('/') ? path.slice(0, -1) : path;
|
|
48
|
+
const { req, res, } = action;
|
|
40
49
|
if (url === (prefix || '')) {
|
|
41
50
|
res.setHeader('Content-Type', 'application/json');
|
|
42
51
|
res.write(JSONString(docs));
|
|
43
52
|
res.end();
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (!url.startsWith(prefix)) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
for (const requestPlugin of requestPlugins) {
|
|
50
|
-
if (requestPlugin(action))
|
|
51
|
-
return;
|
|
53
|
+
return null;
|
|
52
54
|
}
|
|
53
|
-
const method = ((
|
|
55
|
+
const method = ((_b = (_a = req.method) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : 'get');
|
|
54
56
|
const rawSplitPath = url.slice(prefix.length).split('/').slice(1);
|
|
55
57
|
const splitPath = rawSplitPath.at(-1) ? rawSplitPath : rawSplitPath.slice(0, -1);
|
|
56
58
|
const endpoint = endpoints[method];
|
|
@@ -59,121 +61,118 @@ const api = () => {
|
|
|
59
61
|
const [deep, currentEndpoint, params] = endpointQueue.shift();
|
|
60
62
|
const key = splitPath[deep];
|
|
61
63
|
if (deep + 1 === splitPath.length) {
|
|
62
|
-
function run(runEndpoint, params) {
|
|
64
|
+
async function run(runEndpoint, params) {
|
|
63
65
|
var _a, _b, _c, _d, _e;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
const pathRules = (_a = runEndpoint.rules) === null || _a === void 0 ? void 0 : _a.path;
|
|
67
|
+
const headerRules = (_b = runEndpoint.rules) === null || _b === void 0 ? void 0 : _b.header;
|
|
68
|
+
const cookieRules = (_c = runEndpoint.rules) === null || _c === void 0 ? void 0 : _c.cookie;
|
|
69
|
+
const searchRules = (_d = runEndpoint.rules) === null || _d === void 0 ? void 0 : _d.search;
|
|
70
|
+
const bodyRules = (_e = runEndpoint.rules) === null || _e === void 0 ? void 0 : _e.body;
|
|
71
|
+
if (pathRules) {
|
|
72
|
+
try {
|
|
73
|
+
Object.assign(params, pathRules(params, { in: 'path' }));
|
|
74
|
+
}
|
|
75
|
+
catch (_f) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function checkActionRules(rules, key = 'search') {
|
|
80
|
+
if (rules) {
|
|
71
81
|
try {
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
catch (_f) {
|
|
75
|
-
return false;
|
|
82
|
+
action[key] = rules(action[key]);
|
|
76
83
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
catch (e) {
|
|
85
|
+
res.setHeader('Content-Type', 'application/json');
|
|
86
|
+
if (e instanceof RulesError) {
|
|
87
|
+
res.statusCode = 400;
|
|
88
|
+
res.write(JSONString({
|
|
89
|
+
data: {
|
|
90
|
+
...e.data,
|
|
91
|
+
in: key,
|
|
92
|
+
},
|
|
93
|
+
error: 'requestValidation',
|
|
94
|
+
}));
|
|
95
|
+
res.end();
|
|
82
96
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
res.end();
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
console.error(e);
|
|
95
|
-
res.statusCode = 500;
|
|
96
|
-
res.write(JSONString({
|
|
97
|
-
error: 'unknown',
|
|
98
|
-
data: { in: key },
|
|
99
|
-
}));
|
|
100
|
-
res.end();
|
|
101
|
-
}
|
|
102
|
-
return true;
|
|
97
|
+
else {
|
|
98
|
+
console.error(e);
|
|
99
|
+
res.statusCode = 500;
|
|
100
|
+
res.write(JSONString({
|
|
101
|
+
data: { in: key },
|
|
102
|
+
error: 'unknown',
|
|
103
|
+
}));
|
|
104
|
+
res.end();
|
|
103
105
|
}
|
|
106
|
+
return true;
|
|
104
107
|
}
|
|
105
|
-
return false;
|
|
106
108
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
if (checkActionRules(headerRules, 'headers'))
|
|
112
|
+
return true;
|
|
113
|
+
if (checkActionRules(cookieRules, 'cookies'))
|
|
114
|
+
return true;
|
|
115
|
+
if (checkActionRules(searchRules, 'search'))
|
|
116
|
+
return true;
|
|
117
|
+
if (bodyRules) {
|
|
118
|
+
await action.parseBody();
|
|
119
|
+
if (!action.body) {
|
|
120
|
+
res.statusCode = 400;
|
|
121
|
+
res.setHeader('Content-Type', 'application/json');
|
|
122
|
+
res.write(JSONString({
|
|
123
|
+
error: 'requestBodyContentType',
|
|
124
|
+
}));
|
|
125
|
+
res.end();
|
|
112
126
|
return true;
|
|
113
|
-
if (bodyRules) {
|
|
114
|
-
yield action.parseBody();
|
|
115
|
-
if (!action.body) {
|
|
116
|
-
res.statusCode = 400;
|
|
117
|
-
res.setHeader('Content-Type', 'application/json');
|
|
118
|
-
res.write(JSONString({
|
|
119
|
-
error: 'requestBodyContentType',
|
|
120
|
-
}));
|
|
121
|
-
res.end();
|
|
122
|
-
return true;
|
|
123
|
-
}
|
|
124
|
-
if (checkActionRules(bodyRules, 'body'))
|
|
125
|
-
return true;
|
|
126
127
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
128
|
+
if (checkActionRules(bodyRules, 'body'))
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
paramsContext.set(actionHandler, params);
|
|
132
|
+
for (const plugin of runEndpoint.plugins) {
|
|
133
|
+
const result = await plugin();
|
|
134
|
+
if (result === undefined)
|
|
135
|
+
continue;
|
|
136
|
+
innet(result, actionHandler);
|
|
133
137
|
return true;
|
|
134
|
-
}
|
|
138
|
+
}
|
|
139
|
+
return true;
|
|
135
140
|
}
|
|
136
|
-
if ((
|
|
137
|
-
if (!
|
|
141
|
+
if ((_d = (_c = currentEndpoint.static) === null || _c === void 0 ? void 0 : _c[key]) === null || _d === void 0 ? void 0 : _d.plugins) {
|
|
142
|
+
if (!await run((_e = currentEndpoint.static) === null || _e === void 0 ? void 0 : _e[key], params))
|
|
138
143
|
continue;
|
|
139
|
-
return;
|
|
144
|
+
return null;
|
|
140
145
|
}
|
|
141
146
|
if (currentEndpoint.dynamic) {
|
|
142
147
|
for (const dynamicEndpoint of currentEndpoint.dynamic) {
|
|
143
|
-
if (dynamicEndpoint.
|
|
144
|
-
if (!
|
|
148
|
+
if (dynamicEndpoint.plugins) {
|
|
149
|
+
if (!await run(dynamicEndpoint, { ...params, [dynamicEndpoint.key.slice(1, -1)]: key }))
|
|
145
150
|
continue;
|
|
146
|
-
return;
|
|
151
|
+
return null;
|
|
147
152
|
}
|
|
148
153
|
}
|
|
149
154
|
}
|
|
150
155
|
break;
|
|
151
156
|
}
|
|
152
|
-
if ((
|
|
157
|
+
if ((_f = currentEndpoint.static) === null || _f === void 0 ? void 0 : _f[key]) {
|
|
153
158
|
endpointQueue.push([deep + 1, currentEndpoint.static[key], params]);
|
|
154
159
|
}
|
|
155
160
|
if (currentEndpoint.dynamic) {
|
|
156
161
|
for (const dynamicEndpoint of currentEndpoint.dynamic) {
|
|
157
|
-
endpointQueue.push([deep + 1, dynamicEndpoint,
|
|
162
|
+
endpointQueue.push([deep + 1, dynamicEndpoint, { ...params, [dynamicEndpoint.key.slice(1, -1)]: key }]);
|
|
158
163
|
}
|
|
159
164
|
}
|
|
160
165
|
}
|
|
161
|
-
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
166
|
+
for (const plugin of plugins) {
|
|
167
|
+
const result = await plugin();
|
|
168
|
+
if (result === undefined)
|
|
169
|
+
continue;
|
|
170
|
+
const newHandler = Object.create(handler);
|
|
165
171
|
actionContext.set(newHandler, action);
|
|
166
|
-
innet(
|
|
167
|
-
|
|
168
|
-
else {
|
|
169
|
-
res.statusCode = 404;
|
|
170
|
-
res.end();
|
|
172
|
+
innet(result, newHandler);
|
|
173
|
+
return null;
|
|
171
174
|
}
|
|
172
175
|
});
|
|
173
|
-
server.on('request', listener);
|
|
174
|
-
onDestroy(() => {
|
|
175
|
-
server.off('request', listener);
|
|
176
|
-
});
|
|
177
176
|
innet(children, handler);
|
|
178
177
|
};
|
|
179
178
|
|
package/plugins/main/api/api.js
CHANGED
|
@@ -2,63 +2,61 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib = require('tslib');
|
|
6
5
|
var innet = require('innet');
|
|
7
|
-
var
|
|
6
|
+
var jsx = require('@innet/jsx');
|
|
8
7
|
require('../../../hooks/index.js');
|
|
9
8
|
require('../../../utils/index.js');
|
|
10
9
|
require('../../../utils/rules/index.js');
|
|
11
|
-
var
|
|
10
|
+
var useServerPlugins = require('../../../hooks/useServerPlugins/useServerPlugins.js');
|
|
12
11
|
var useApi = require('../../../hooks/useApi/useApi.js');
|
|
13
|
-
var
|
|
12
|
+
var useServerPlugin = require('../../../hooks/useServerPlugin/useServerPlugin.js');
|
|
13
|
+
var useAction = require('../../../hooks/useAction/useAction.js');
|
|
14
14
|
var JSONString = require('../../../utils/JSONString/JSONString.js');
|
|
15
15
|
var helpers = require('../../../utils/rules/helpers.js');
|
|
16
|
-
var useResponse = require('../../../hooks/useResponse/useResponse.js');
|
|
17
|
-
var useRequest = require('../../../hooks/useRequest/useRequest.js');
|
|
18
16
|
var useParams = require('../../../hooks/useParams/useParams.js');
|
|
19
|
-
var useAction = require('../../../hooks/useAction/useAction.js');
|
|
20
|
-
|
|
21
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
|
-
|
|
23
|
-
var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
|
|
24
17
|
|
|
25
18
|
const api = () => {
|
|
26
|
-
var _a;
|
|
27
19
|
const handler = innet.useNewHandler();
|
|
28
|
-
const
|
|
29
|
-
const {
|
|
30
|
-
const
|
|
31
|
-
const info = Object.assign(Object.assign({}, rest), { version: (_a = rest.version) !== null && _a !== void 0 ? _a : '0.0.0', title });
|
|
20
|
+
const props = jsx.useProps();
|
|
21
|
+
const { children, exclude, include, prefix = process.env.INNET_API_PREFIX || '', title = '', version = process.env.INNET_API_VERSION || '0.0.0', ...rest } = props;
|
|
22
|
+
const info = { ...rest, title, version };
|
|
32
23
|
const endpoints = {};
|
|
33
24
|
const docs = {
|
|
34
|
-
openapi: '3.1.0',
|
|
35
25
|
info,
|
|
26
|
+
openapi: '3.1.0',
|
|
36
27
|
paths: {},
|
|
37
28
|
};
|
|
38
|
-
const
|
|
39
|
-
const context = { docs, endpoints, prefix,
|
|
29
|
+
const plugins = new Set();
|
|
30
|
+
const context = { docs, endpoints, prefix, refRules: {} };
|
|
31
|
+
const condition = (action) => {
|
|
32
|
+
const path = action.parsedUrl.path;
|
|
33
|
+
const url = path.endsWith('/') ? path.slice(0, -1) : path;
|
|
34
|
+
if (!url.startsWith(prefix) || (exclude === null || exclude === void 0 ? void 0 : exclude.test(url))) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
if (include && !include.test(url)) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
};
|
|
42
|
+
useServerPlugins.serverPlugins.set(handler, plugins);
|
|
40
43
|
useApi.apiContext.set(handler, context);
|
|
41
|
-
|
|
42
|
-
var _b, _c, _d, _e, _f
|
|
43
|
-
|
|
44
|
+
useServerPlugin.useServerPlugin(async () => {
|
|
45
|
+
var _a, _b, _c, _d, _e, _f;
|
|
46
|
+
const action = useAction.useAction();
|
|
47
|
+
if (!condition(action))
|
|
44
48
|
return;
|
|
45
|
-
const
|
|
49
|
+
const actionHandler = innet.useNewHandler();
|
|
46
50
|
const path = action.parsedUrl.path;
|
|
47
51
|
const url = path.endsWith('/') ? path.slice(0, -1) : path;
|
|
52
|
+
const { req, res, } = action;
|
|
48
53
|
if (url === (prefix || '')) {
|
|
49
54
|
res.setHeader('Content-Type', 'application/json');
|
|
50
55
|
res.write(JSONString.JSONString(docs));
|
|
51
56
|
res.end();
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
if (!url.startsWith(prefix)) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
for (const requestPlugin of requestPlugins) {
|
|
58
|
-
if (requestPlugin(action))
|
|
59
|
-
return;
|
|
57
|
+
return null;
|
|
60
58
|
}
|
|
61
|
-
const method = ((
|
|
59
|
+
const method = ((_b = (_a = req.method) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : 'get');
|
|
62
60
|
const rawSplitPath = url.slice(prefix.length).split('/').slice(1);
|
|
63
61
|
const splitPath = rawSplitPath.at(-1) ? rawSplitPath : rawSplitPath.slice(0, -1);
|
|
64
62
|
const endpoint = endpoints[method];
|
|
@@ -67,122 +65,119 @@ const api = () => {
|
|
|
67
65
|
const [deep, currentEndpoint, params] = endpointQueue.shift();
|
|
68
66
|
const key = splitPath[deep];
|
|
69
67
|
if (deep + 1 === splitPath.length) {
|
|
70
|
-
function run(runEndpoint, params) {
|
|
68
|
+
async function run(runEndpoint, params) {
|
|
71
69
|
var _a, _b, _c, _d, _e;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
70
|
+
const pathRules = (_a = runEndpoint.rules) === null || _a === void 0 ? void 0 : _a.path;
|
|
71
|
+
const headerRules = (_b = runEndpoint.rules) === null || _b === void 0 ? void 0 : _b.header;
|
|
72
|
+
const cookieRules = (_c = runEndpoint.rules) === null || _c === void 0 ? void 0 : _c.cookie;
|
|
73
|
+
const searchRules = (_d = runEndpoint.rules) === null || _d === void 0 ? void 0 : _d.search;
|
|
74
|
+
const bodyRules = (_e = runEndpoint.rules) === null || _e === void 0 ? void 0 : _e.body;
|
|
75
|
+
if (pathRules) {
|
|
76
|
+
try {
|
|
77
|
+
Object.assign(params, pathRules(params, { in: 'path' }));
|
|
78
|
+
}
|
|
79
|
+
catch (_f) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function checkActionRules(rules, key = 'search') {
|
|
84
|
+
if (rules) {
|
|
79
85
|
try {
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
catch (_f) {
|
|
83
|
-
return false;
|
|
86
|
+
action[key] = rules(action[key]);
|
|
84
87
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
catch (e) {
|
|
89
|
+
res.setHeader('Content-Type', 'application/json');
|
|
90
|
+
if (e instanceof helpers.RulesError) {
|
|
91
|
+
res.statusCode = 400;
|
|
92
|
+
res.write(JSONString.JSONString({
|
|
93
|
+
data: {
|
|
94
|
+
...e.data,
|
|
95
|
+
in: key,
|
|
96
|
+
},
|
|
97
|
+
error: 'requestValidation',
|
|
98
|
+
}));
|
|
99
|
+
res.end();
|
|
90
100
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
res.end();
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
console.error(e);
|
|
103
|
-
res.statusCode = 500;
|
|
104
|
-
res.write(JSONString.JSONString({
|
|
105
|
-
error: 'unknown',
|
|
106
|
-
data: { in: key },
|
|
107
|
-
}));
|
|
108
|
-
res.end();
|
|
109
|
-
}
|
|
110
|
-
return true;
|
|
101
|
+
else {
|
|
102
|
+
console.error(e);
|
|
103
|
+
res.statusCode = 500;
|
|
104
|
+
res.write(JSONString.JSONString({
|
|
105
|
+
data: { in: key },
|
|
106
|
+
error: 'unknown',
|
|
107
|
+
}));
|
|
108
|
+
res.end();
|
|
111
109
|
}
|
|
110
|
+
return true;
|
|
112
111
|
}
|
|
113
|
-
return false;
|
|
114
112
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
if (checkActionRules(headerRules, 'headers'))
|
|
116
|
+
return true;
|
|
117
|
+
if (checkActionRules(cookieRules, 'cookies'))
|
|
118
|
+
return true;
|
|
119
|
+
if (checkActionRules(searchRules, 'search'))
|
|
120
|
+
return true;
|
|
121
|
+
if (bodyRules) {
|
|
122
|
+
await action.parseBody();
|
|
123
|
+
if (!action.body) {
|
|
124
|
+
res.statusCode = 400;
|
|
125
|
+
res.setHeader('Content-Type', 'application/json');
|
|
126
|
+
res.write(JSONString.JSONString({
|
|
127
|
+
error: 'requestBodyContentType',
|
|
128
|
+
}));
|
|
129
|
+
res.end();
|
|
120
130
|
return true;
|
|
121
|
-
if (bodyRules) {
|
|
122
|
-
yield action.parseBody();
|
|
123
|
-
if (!action.body) {
|
|
124
|
-
res.statusCode = 400;
|
|
125
|
-
res.setHeader('Content-Type', 'application/json');
|
|
126
|
-
res.write(JSONString.JSONString({
|
|
127
|
-
error: 'requestBodyContentType',
|
|
128
|
-
}));
|
|
129
|
-
res.end();
|
|
130
|
-
return true;
|
|
131
|
-
}
|
|
132
|
-
if (checkActionRules(bodyRules, 'body'))
|
|
133
|
-
return true;
|
|
134
131
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
132
|
+
if (checkActionRules(bodyRules, 'body'))
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
useParams.paramsContext.set(actionHandler, params);
|
|
136
|
+
for (const plugin of runEndpoint.plugins) {
|
|
137
|
+
const result = await plugin();
|
|
138
|
+
if (result === undefined)
|
|
139
|
+
continue;
|
|
140
|
+
innet.innet(result, actionHandler);
|
|
141
141
|
return true;
|
|
142
|
-
}
|
|
142
|
+
}
|
|
143
|
+
return true;
|
|
143
144
|
}
|
|
144
|
-
if ((
|
|
145
|
-
if (!
|
|
145
|
+
if ((_d = (_c = currentEndpoint.static) === null || _c === void 0 ? void 0 : _c[key]) === null || _d === void 0 ? void 0 : _d.plugins) {
|
|
146
|
+
if (!await run((_e = currentEndpoint.static) === null || _e === void 0 ? void 0 : _e[key], params))
|
|
146
147
|
continue;
|
|
147
|
-
return;
|
|
148
|
+
return null;
|
|
148
149
|
}
|
|
149
150
|
if (currentEndpoint.dynamic) {
|
|
150
151
|
for (const dynamicEndpoint of currentEndpoint.dynamic) {
|
|
151
|
-
if (dynamicEndpoint.
|
|
152
|
-
if (!
|
|
152
|
+
if (dynamicEndpoint.plugins) {
|
|
153
|
+
if (!await run(dynamicEndpoint, { ...params, [dynamicEndpoint.key.slice(1, -1)]: key }))
|
|
153
154
|
continue;
|
|
154
|
-
return;
|
|
155
|
+
return null;
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
158
|
}
|
|
158
159
|
break;
|
|
159
160
|
}
|
|
160
|
-
if ((
|
|
161
|
+
if ((_f = currentEndpoint.static) === null || _f === void 0 ? void 0 : _f[key]) {
|
|
161
162
|
endpointQueue.push([deep + 1, currentEndpoint.static[key], params]);
|
|
162
163
|
}
|
|
163
164
|
if (currentEndpoint.dynamic) {
|
|
164
165
|
for (const dynamicEndpoint of currentEndpoint.dynamic) {
|
|
165
|
-
endpointQueue.push([deep + 1, dynamicEndpoint,
|
|
166
|
+
endpointQueue.push([deep + 1, dynamicEndpoint, { ...params, [dynamicEndpoint.key.slice(1, -1)]: key }]);
|
|
166
167
|
}
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
|
-
|
|
170
|
-
const
|
|
171
|
-
|
|
172
|
-
|
|
170
|
+
for (const plugin of plugins) {
|
|
171
|
+
const result = await plugin();
|
|
172
|
+
if (result === undefined)
|
|
173
|
+
continue;
|
|
174
|
+
const newHandler = Object.create(handler);
|
|
173
175
|
useAction.actionContext.set(newHandler, action);
|
|
174
|
-
|
|
176
|
+
innet.innet(result, newHandler);
|
|
177
|
+
return null;
|
|
175
178
|
}
|
|
176
|
-
else {
|
|
177
|
-
res.statusCode = 404;
|
|
178
|
-
res.end();
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
server.on('request', listener);
|
|
182
|
-
watchState.onDestroy(() => {
|
|
183
|
-
server.off('request', listener);
|
|
184
179
|
});
|
|
185
|
-
|
|
180
|
+
innet.innet(children, handler);
|
|
186
181
|
};
|
|
187
182
|
|
|
188
183
|
exports.api = api;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useNewHandler, innet } from 'innet';
|
|
2
2
|
import { useContext, useChildren } from '@innet/jsx';
|
|
3
|
-
import { callHandler } from '@innet/utils';
|
|
4
3
|
import { allBodyTypes } from '../../../constants.es6.js';
|
|
5
4
|
import '../../../hooks/index.es6.js';
|
|
6
5
|
import '../../../utils/index.es6.js';
|
|
@@ -9,6 +8,7 @@ import { schemaContext } from '../../../hooks/useSchemaContext/useSchemaContext.
|
|
|
9
8
|
import { getOrAdd } from '../../../utils/getOrAdd/getOrAdd.es6.js';
|
|
10
9
|
import { bodyFileContext } from '../../../hooks/useBodyFile/useBodyFile.es6.js';
|
|
11
10
|
import { ruleContext } from '../../../hooks/useRule/useRule.es6.js';
|
|
11
|
+
import { useEffect } from '../../../hooks/useEffect/useEffect.es6.js';
|
|
12
12
|
|
|
13
13
|
const body = () => {
|
|
14
14
|
const endpoint = useContext(endpointContext);
|
|
@@ -40,7 +40,7 @@ const body = () => {
|
|
|
40
40
|
rules.body = rule;
|
|
41
41
|
});
|
|
42
42
|
innet(children, handler);
|
|
43
|
-
|
|
43
|
+
useEffect(() => {
|
|
44
44
|
if (fileUsed) {
|
|
45
45
|
requestBody.content['multipart/form-data'] = { schema };
|
|
46
46
|
}
|
|
@@ -49,7 +49,7 @@ const body = () => {
|
|
|
49
49
|
requestBody.content[type] = { schema };
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
}
|
|
52
|
+
});
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
export { body };
|