@opra/core 0.33.13 → 1.0.0-alpha.2
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/cjs/augmentation/18n.augmentation.js +17 -4
- package/cjs/augmentation/http-controller.augmentation.js +25 -0
- package/cjs/constants.js +5 -0
- package/cjs/execution-context.js +25 -12
- package/cjs/{services → helpers}/logger.js +1 -2
- package/cjs/{services/api-service.js → helpers/service-base.js} +8 -8
- package/cjs/http/express-adapter.js +164 -0
- package/cjs/http/http-adapter.js +27 -0
- package/cjs/http/http-context.js +116 -0
- package/cjs/http/impl/asset-cache.js +21 -0
- package/cjs/http/impl/http-handler.js +575 -0
- package/cjs/http/{http-server-request.js → impl/http-incoming.host.js} +21 -46
- package/cjs/http/{http-server-response.js → impl/http-outgoing.host.js} +7 -26
- package/cjs/http/{helpers/multipart-helper.js → impl/multipart-reader.js} +24 -22
- package/cjs/http/impl/{http-incoming-message.host.js → node-incoming-message.host.js} +13 -54
- package/cjs/http/impl/{http-outgoing-message.host.js → node-outgoing-message.host.js} +11 -14
- package/cjs/http/interfaces/http-incoming.interface.js +25 -0
- package/cjs/http/interfaces/http-outgoing.interface.js +22 -0
- package/cjs/http/interfaces/node-incoming-message.interface.js +63 -0
- package/cjs/http/interfaces/node-outgoing-message.interface.js +15 -0
- package/cjs/http/utils/body-reader.js +215 -0
- package/cjs/http/{helpers → utils}/convert-to-raw-headers.js +1 -2
- package/cjs/http/{helpers → utils}/match-known-fields.js +11 -9
- package/cjs/http/utils/wrap-exception.js +34 -0
- package/cjs/index.js +25 -25
- package/cjs/platform-adapter.js +21 -0
- package/cjs/type-guards.js +23 -0
- package/esm/augmentation/18n.augmentation.js +20 -7
- package/esm/augmentation/http-controller.augmentation.js +23 -0
- package/esm/constants.js +2 -0
- package/esm/execution-context.js +25 -13
- package/esm/{services → helpers}/logger.js +1 -2
- package/esm/{services/api-service.js → helpers/service-base.js} +6 -6
- package/esm/http/express-adapter.js +159 -0
- package/esm/http/http-adapter.js +23 -0
- package/esm/http/http-context.js +111 -0
- package/esm/http/impl/asset-cache.js +17 -0
- package/esm/http/impl/http-handler.js +570 -0
- package/esm/http/{http-server-request.js → impl/http-incoming.host.js} +17 -43
- package/esm/http/{http-server-response.js → impl/http-outgoing.host.js} +6 -26
- package/esm/http/{helpers/multipart-helper.js → impl/multipart-reader.js} +22 -20
- package/esm/http/impl/{http-incoming-message.host.js → node-incoming-message.host.js} +11 -52
- package/esm/http/impl/{http-outgoing-message.host.js → node-outgoing-message.host.js} +9 -12
- package/esm/http/interfaces/http-incoming.interface.js +22 -0
- package/esm/http/interfaces/http-outgoing.interface.js +19 -0
- package/esm/http/interfaces/node-incoming-message.interface.js +60 -0
- package/esm/http/interfaces/node-outgoing-message.interface.js +12 -0
- package/esm/http/utils/body-reader.js +210 -0
- package/esm/http/{helpers → utils}/convert-to-headers.js +1 -1
- package/esm/http/{helpers → utils}/convert-to-raw-headers.js +2 -3
- package/esm/http/{helpers → utils}/match-known-fields.js +11 -9
- package/esm/http/utils/wrap-exception.js +30 -0
- package/esm/index.js +25 -26
- package/esm/platform-adapter.js +19 -1
- package/esm/type-guards.js +16 -0
- package/package.json +22 -10
- package/types/augmentation/18n.augmentation.d.ts +32 -2
- package/types/augmentation/http-controller.augmentation.d.ts +21 -0
- package/types/constants.d.ts +2 -0
- package/types/execution-context.d.ts +24 -26
- package/types/helpers/service-base.d.ts +10 -0
- package/types/http/express-adapter.d.ts +13 -0
- package/types/http/http-adapter.d.ts +27 -0
- package/types/http/http-context.d.ts +44 -0
- package/types/http/impl/asset-cache.d.ts +5 -0
- package/types/http/impl/http-handler.d.ts +73 -0
- package/types/http/impl/http-incoming.host.d.ts +23 -0
- package/types/http/impl/http-outgoing.host.d.ts +17 -0
- package/types/http/{helpers/multipart-helper.d.ts → impl/multipart-reader.d.ts} +8 -6
- package/types/http/impl/{http-incoming-message.host.d.ts → node-incoming-message.host.d.ts} +9 -22
- package/types/http/impl/{http-outgoing-message.host.d.ts → node-outgoing-message.host.d.ts} +11 -27
- package/types/http/{http-server-request.d.ts → interfaces/http-incoming.interface.d.ts} +28 -17
- package/types/http/{http-server-response.d.ts → interfaces/http-outgoing.interface.d.ts} +17 -10
- package/types/http/interfaces/node-incoming-message.interface.d.ts +38 -0
- package/types/http/interfaces/node-outgoing-message.interface.d.ts +29 -0
- package/types/http/utils/body-reader.d.ts +41 -0
- package/types/http/utils/wrap-exception.d.ts +2 -0
- package/types/index.d.ts +24 -26
- package/types/platform-adapter.d.ts +20 -48
- package/types/type-guards.d.ts +8 -0
- package/cjs/augmentation/collection.augmentation.js +0 -2
- package/cjs/augmentation/container.augmentation.js +0 -2
- package/cjs/augmentation/resource.augmentation.js +0 -26
- package/cjs/augmentation/singleton.augmentation.js +0 -2
- package/cjs/augmentation/storage.augmentation.js +0 -2
- package/cjs/execution-context.host.js +0 -46
- package/cjs/http/adapters/express-adapter.host.js +0 -34
- package/cjs/http/adapters/express-adapter.js +0 -14
- package/cjs/http/adapters/node-http-adapter.host.js +0 -70
- package/cjs/http/adapters/node-http-adapter.js +0 -14
- package/cjs/http/helpers/json-body-loader.js +0 -29
- package/cjs/http/helpers/query-parsers.js +0 -16
- package/cjs/http/http-adapter-host.js +0 -715
- package/cjs/interfaces/interceptor.interface.js +0 -2
- package/cjs/interfaces/request-handler.interface.js +0 -2
- package/cjs/platform-adapter.host.js +0 -154
- package/cjs/request-context.js +0 -25
- package/cjs/request.host.js +0 -24
- package/cjs/request.js +0 -2
- package/cjs/response.host.js +0 -22
- package/cjs/response.js +0 -2
- package/esm/augmentation/collection.augmentation.js +0 -1
- package/esm/augmentation/container.augmentation.js +0 -1
- package/esm/augmentation/resource.augmentation.js +0 -24
- package/esm/augmentation/singleton.augmentation.js +0 -1
- package/esm/augmentation/storage.augmentation.js +0 -1
- package/esm/execution-context.host.js +0 -42
- package/esm/http/adapters/express-adapter.host.js +0 -30
- package/esm/http/adapters/express-adapter.js +0 -11
- package/esm/http/adapters/node-http-adapter.host.js +0 -65
- package/esm/http/adapters/node-http-adapter.js +0 -11
- package/esm/http/helpers/json-body-loader.js +0 -24
- package/esm/http/helpers/query-parsers.js +0 -12
- package/esm/http/http-adapter-host.js +0 -710
- package/esm/interfaces/interceptor.interface.js +0 -1
- package/esm/interfaces/request-handler.interface.js +0 -1
- package/esm/platform-adapter.host.js +0 -149
- package/esm/request-context.js +0 -22
- package/esm/request.host.js +0 -20
- package/esm/request.js +0 -1
- package/esm/response.host.js +0 -18
- package/esm/response.js +0 -1
- package/i18n/i18n/en/error.json +0 -21
- package/types/augmentation/collection.augmentation.d.ts +0 -146
- package/types/augmentation/container.augmentation.d.ts +0 -14
- package/types/augmentation/resource.augmentation.d.ts +0 -38
- package/types/augmentation/singleton.augmentation.d.ts +0 -83
- package/types/augmentation/storage.augmentation.d.ts +0 -50
- package/types/execution-context.host.d.ts +0 -25
- package/types/http/adapters/express-adapter.d.ts +0 -15
- package/types/http/adapters/express-adapter.host.d.ts +0 -12
- package/types/http/adapters/node-http-adapter.d.ts +0 -17
- package/types/http/adapters/node-http-adapter.host.d.ts +0 -19
- package/types/http/helpers/json-body-loader.d.ts +0 -5
- package/types/http/helpers/query-parsers.d.ts +0 -1
- package/types/http/http-adapter-host.d.ts +0 -34
- package/types/interfaces/interceptor.interface.d.ts +0 -2
- package/types/interfaces/request-handler.interface.d.ts +0 -4
- package/types/platform-adapter.host.d.ts +0 -43
- package/types/request-context.d.ts +0 -13
- package/types/request.d.ts +0 -14
- package/types/request.host.d.ts +0 -27
- package/types/response.d.ts +0 -22
- package/types/response.host.d.ts +0 -22
- package/types/services/api-service.d.ts +0 -10
- /package/cjs/http/{helpers → utils}/common.js +0 -0
- /package/cjs/http/{helpers → utils}/concat-readable.js +0 -0
- /package/cjs/http/{helpers → utils}/convert-to-headers.js +0 -0
- /package/esm/http/{helpers → utils}/common.js +0 -0
- /package/esm/http/{helpers → utils}/concat-readable.js +0 -0
- /package/types/{services → helpers}/logger.d.ts +0 -0
- /package/types/http/{helpers → utils}/common.d.ts +0 -0
- /package/types/http/{helpers → utils}/concat-readable.d.ts +0 -0
- /package/types/http/{helpers → utils}/convert-to-headers.d.ts +0 -0
- /package/types/http/{helpers → utils}/convert-to-raw-headers.d.ts +0 -0
- /package/types/http/{helpers → utils}/match-known-fields.d.ts +0 -0
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExpressAdapter = void 0;
|
|
4
|
-
const express_adapter_host_js_1 = require("./express-adapter.host.js");
|
|
5
|
-
/**
|
|
6
|
-
* @namespace
|
|
7
|
-
*/
|
|
8
|
-
var ExpressAdapter;
|
|
9
|
-
(function (ExpressAdapter) {
|
|
10
|
-
async function create(app, api, options) {
|
|
11
|
-
return express_adapter_host_js_1.ExpressAdapterHost.create(app, api, options);
|
|
12
|
-
}
|
|
13
|
-
ExpressAdapter.create = create;
|
|
14
|
-
})(ExpressAdapter || (exports.ExpressAdapter = ExpressAdapter = {}));
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NodeHttpAdapterHost = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const http_1 = tslib_1.__importDefault(require("http"));
|
|
6
|
-
const common_1 = require("@opra/common");
|
|
7
|
-
const http_adapter_host_js_1 = require("../http-adapter-host.js");
|
|
8
|
-
const http_server_request_js_1 = require("../http-server-request.js");
|
|
9
|
-
const http_server_response_js_1 = require("../http-server-response.js");
|
|
10
|
-
/**
|
|
11
|
-
* @class NodeHttpAdapterHost
|
|
12
|
-
*/
|
|
13
|
-
class NodeHttpAdapterHost extends http_adapter_host_js_1.HttpAdapterHost {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
this._platform = 'http';
|
|
17
|
-
}
|
|
18
|
-
get basePath() {
|
|
19
|
-
return this._basePath;
|
|
20
|
-
}
|
|
21
|
-
get server() {
|
|
22
|
-
return this._server;
|
|
23
|
-
}
|
|
24
|
-
async close() {
|
|
25
|
-
await super.close();
|
|
26
|
-
if (this.server.listening)
|
|
27
|
-
await new Promise((resolve, reject) => {
|
|
28
|
-
this.server.close((err) => {
|
|
29
|
-
if (err)
|
|
30
|
-
return reject(err);
|
|
31
|
-
resolve();
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
async init(api, options) {
|
|
36
|
-
await super.init(api, options);
|
|
37
|
-
this._basePath = new common_1.OpraURLPath(options?.basePath);
|
|
38
|
-
this._server = http_1.default.createServer((incomingMessage, serverResponse) => this._serverListener(incomingMessage, serverResponse));
|
|
39
|
-
}
|
|
40
|
-
_serverListener(incomingMessage, serverResponse) {
|
|
41
|
-
const originalUrl = incomingMessage.url;
|
|
42
|
-
const parsedUrl = new common_1.OpraURL(originalUrl);
|
|
43
|
-
const relativePath = common_1.OpraURLPath.relative(parsedUrl.path, this.basePath);
|
|
44
|
-
if (!relativePath) {
|
|
45
|
-
serverResponse.statusCode = common_1.HttpStatusCode.NOT_FOUND;
|
|
46
|
-
serverResponse.statusMessage = common_1.HttpStatusMessages[common_1.HttpStatusCode.NOT_FOUND];
|
|
47
|
-
serverResponse.end();
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
parsedUrl.path = relativePath;
|
|
51
|
-
incomingMessage.originalUrl = originalUrl;
|
|
52
|
-
incomingMessage.baseUrl = this.basePath.toString();
|
|
53
|
-
incomingMessage.parsedUrl = parsedUrl;
|
|
54
|
-
Object.defineProperty(incomingMessage, 'searchParams', {
|
|
55
|
-
get() {
|
|
56
|
-
return incomingMessage.parsedUrl.searchParams;
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
const req = http_server_request_js_1.HttpServerRequest.from(incomingMessage);
|
|
60
|
-
const res = http_server_response_js_1.HttpServerResponse.from(serverResponse);
|
|
61
|
-
this.handleHttp(req, res)
|
|
62
|
-
.catch((e) => this._logger.fatal(e));
|
|
63
|
-
}
|
|
64
|
-
static async create(api, options) {
|
|
65
|
-
const adapter = new NodeHttpAdapterHost();
|
|
66
|
-
await adapter.init(api, options);
|
|
67
|
-
return adapter;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.NodeHttpAdapterHost = NodeHttpAdapterHost;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NodeHttpAdapter = void 0;
|
|
4
|
-
const node_http_adapter_host_js_1 = require("./node-http-adapter.host.js");
|
|
5
|
-
/**
|
|
6
|
-
* @namespace NodeHttpAdapter
|
|
7
|
-
*/
|
|
8
|
-
var NodeHttpAdapter;
|
|
9
|
-
(function (NodeHttpAdapter) {
|
|
10
|
-
async function create(api, options) {
|
|
11
|
-
return node_http_adapter_host_js_1.NodeHttpAdapterHost.create(api, options);
|
|
12
|
-
}
|
|
13
|
-
NodeHttpAdapter.create = create;
|
|
14
|
-
})(NodeHttpAdapter || (exports.NodeHttpAdapter = NodeHttpAdapter = {}));
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.jsonBodyLoader = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const body_parser_1 = tslib_1.__importDefault(require("body-parser"));
|
|
6
|
-
const bodyLoaderCache = new WeakMap();
|
|
7
|
-
function jsonBodyLoader(options, cachePoint) {
|
|
8
|
-
let bodyLoader = cachePoint ? bodyLoaderCache.get(cachePoint) : undefined;
|
|
9
|
-
if (bodyLoader)
|
|
10
|
-
return bodyLoader;
|
|
11
|
-
const parser = body_parser_1.default.json({
|
|
12
|
-
...options,
|
|
13
|
-
type: 'json'
|
|
14
|
-
});
|
|
15
|
-
bodyLoader = (incoming) => {
|
|
16
|
-
return new Promise((resolve, reject) => {
|
|
17
|
-
const next = (error) => {
|
|
18
|
-
if (error)
|
|
19
|
-
return reject(error);
|
|
20
|
-
resolve(incoming.body);
|
|
21
|
-
};
|
|
22
|
-
parser(incoming, {}, next);
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
if (cachePoint)
|
|
26
|
-
bodyLoaderCache.set(cachePoint, bodyLoader);
|
|
27
|
-
return bodyLoader;
|
|
28
|
-
}
|
|
29
|
-
exports.jsonBodyLoader = jsonBodyLoader;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseArrayParam = void 0;
|
|
4
|
-
const fast_tokenizer_1 = require("fast-tokenizer");
|
|
5
|
-
function parseArrayParam(v) {
|
|
6
|
-
if (!v)
|
|
7
|
-
return;
|
|
8
|
-
return (0, fast_tokenizer_1.splitString)(v, {
|
|
9
|
-
delimiters: ',',
|
|
10
|
-
quotes: true,
|
|
11
|
-
brackets: true,
|
|
12
|
-
keepBrackets: true,
|
|
13
|
-
keepQuotes: true
|
|
14
|
-
}).map(x => x.trim());
|
|
15
|
-
}
|
|
16
|
-
exports.parseArrayParam = parseArrayParam;
|