@antelopejs/api 0.0.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/dist/server.js ADDED
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerHandler = registerHandler;
4
+ exports.unregisterHandler = unregisterHandler;
5
+ exports.requestListener = requestListener;
6
+ exports.upgradeListener = upgradeListener;
7
+ const beta_1 = require("@ajs.local/api/beta");
8
+ const http_1 = require("http");
9
+ const ws_1 = require("ws");
10
+ class RouteLevel {
11
+ handlers = [];
12
+ staticRoutes = {};
13
+ dynamicRoutes = {};
14
+ }
15
+ const roots = {
16
+ handler: {},
17
+ prefix: {},
18
+ postfix: {},
19
+ websocket: {},
20
+ };
21
+ function findHandlers(path, depth, level, result, parameters, multi = false) {
22
+ if (multi) {
23
+ result.push(...level.handlers.map((handler) => ({ handler: handler.callback, parameters, priority: handler.priority })));
24
+ }
25
+ if (depth >= path.length) {
26
+ if (!multi && level.handlers.length > 0) {
27
+ result.push({ handler: level.handlers[0].callback, parameters, priority: level.handlers[0].priority });
28
+ }
29
+ return;
30
+ }
31
+ const part = path[depth];
32
+ if (part in level.staticRoutes) {
33
+ findHandlers(path, depth + 1, level.staticRoutes[part], result, parameters, multi);
34
+ if (result.length > 0 && !multi) {
35
+ return;
36
+ }
37
+ }
38
+ for (const { match, sub, mapping } of Object.values(level.dynamicRoutes)) {
39
+ const res = match.exec(part);
40
+ if (res) {
41
+ const newParameters = { ...parameters };
42
+ for (let i = 0; i < mapping.length; ++i) {
43
+ newParameters[mapping[i]] = res[i + 1];
44
+ }
45
+ findHandlers(path, depth + 1, sub, result, newParameters, multi);
46
+ if (result.length > 0 && !multi) {
47
+ return;
48
+ }
49
+ }
50
+ }
51
+ }
52
+ function getHandler(method, path, source, multi = false) {
53
+ const result = [];
54
+ if (method in source) {
55
+ findHandlers(path, 0, source[method], result, {}, multi);
56
+ if (result.length > 0 && !multi) {
57
+ return result[0];
58
+ }
59
+ }
60
+ if ('any' in source) {
61
+ findHandlers(path, 0, source.any, result, {}, multi);
62
+ if (result.length > 0 && !multi) {
63
+ return result[0];
64
+ }
65
+ }
66
+ return multi ? result : undefined;
67
+ }
68
+ function removeHandler(id, source) {
69
+ for (const level of Object.values(source)) {
70
+ const handlerLength = level.handlers.length;
71
+ level.handlers = level.handlers.filter((handler) => handler.id !== id);
72
+ if (handlerLength !== level.handlers.length) {
73
+ return true;
74
+ }
75
+ if (removeHandler(id, level.staticRoutes)) {
76
+ return true;
77
+ }
78
+ if (removeHandler(id, Object.keys(level.dynamicRoutes).reduce((acc, key) => ({ ...acc, [key]: level.dynamicRoutes[key].sub }), {}))) {
79
+ return true;
80
+ }
81
+ }
82
+ return false;
83
+ }
84
+ const special = {
85
+ $: true,
86
+ '-': true,
87
+ _: true,
88
+ '.': true,
89
+ '+': true,
90
+ '!': true,
91
+ ' ': true,
92
+ '*': true,
93
+ "'": true,
94
+ '(': true,
95
+ ')': true,
96
+ ',': true,
97
+ };
98
+ function registerHandler(id, mode, method, location, handler, priority = beta_1.HandlerPriority.NORMAL) {
99
+ const parts = location.split('/').filter((part) => part);
100
+ const source = roots[mode];
101
+ let level = source[method?.toLowerCase() || 'any'];
102
+ if (!level) {
103
+ level = new RouteLevel();
104
+ source[method?.toLowerCase() || 'any'] = level;
105
+ }
106
+ for (const part of parts) {
107
+ if (part.indexOf(':') >= 0) {
108
+ if (!(part in level.dynamicRoutes)) {
109
+ const mapping = [];
110
+ const match = ['^'];
111
+ let word = undefined;
112
+ for (const char of part) {
113
+ if (char in special) {
114
+ if (word) {
115
+ mapping.push(word.join(''));
116
+ match.push(`([^\\${char}]*)`);
117
+ word = undefined;
118
+ }
119
+ match.push('\\' + char);
120
+ }
121
+ else if (char === ':') {
122
+ if (word) {
123
+ throw new Error('Invalid URL parameter');
124
+ }
125
+ word = [];
126
+ }
127
+ else if (char.match(/[a-zA-Z0-9]/)) {
128
+ if (word) {
129
+ word.push(char);
130
+ }
131
+ else {
132
+ match.push(char);
133
+ }
134
+ }
135
+ else {
136
+ throw new Error('Invalid character in URL');
137
+ }
138
+ }
139
+ if (word) {
140
+ mapping.push(word.join(''));
141
+ match.push(`(.*)`);
142
+ }
143
+ match.push('$');
144
+ level.dynamicRoutes[part] = {
145
+ match: new RegExp(match.join('')),
146
+ sub: new RouteLevel(),
147
+ mapping,
148
+ };
149
+ }
150
+ level = level.dynamicRoutes[part].sub;
151
+ }
152
+ else {
153
+ if (!(part in level.staticRoutes)) {
154
+ level.staticRoutes[part] = new RouteLevel();
155
+ }
156
+ level = level.staticRoutes[part];
157
+ }
158
+ }
159
+ level.handlers.push({ id, callback: handler, priority });
160
+ }
161
+ function unregisterHandler(id) {
162
+ for (const source of Object.values(roots)) {
163
+ if (removeHandler(id, source)) {
164
+ return;
165
+ }
166
+ }
167
+ }
168
+ function handleResult(isHeadRequest, response, res) {
169
+ if (isHeadRequest) {
170
+ response.sendHeadResponse(res);
171
+ }
172
+ else {
173
+ response.sendResponse(res);
174
+ }
175
+ }
176
+ async function requestListener(req, res, protocol) {
177
+ const url = new URL(req.url || '', `${protocol}://${req.headers.host || 'localhost'}`);
178
+ const requestContext = {
179
+ rawRequest: req,
180
+ rawResponse: res,
181
+ url,
182
+ routeParameters: {},
183
+ response: new beta_1.HTTPResult(404, 'Not Found'),
184
+ };
185
+ const path = url.pathname.split('/').filter((part) => part);
186
+ const method = req.method?.toLowerCase() || 'get';
187
+ const isHeadRequest = method === 'head';
188
+ try {
189
+ let handler = getHandler(method, path, roots.handler, false);
190
+ if (!handler && method === 'head') {
191
+ handler = getHandler('get', path, roots.handler, false);
192
+ }
193
+ if (!handler && method !== 'options') {
194
+ handleResult(isHeadRequest, requestContext.response, res);
195
+ return;
196
+ }
197
+ const prefixHandler = getHandler(method, path, roots.prefix, true);
198
+ if (prefixHandler && Array.isArray(prefixHandler)) {
199
+ prefixHandler.sort((a, b) => a.priority - b.priority);
200
+ for (const { handler, parameters } of prefixHandler) {
201
+ requestContext.routeParameters = parameters;
202
+ const result = await handler(requestContext);
203
+ if (result) {
204
+ handleResult(isHeadRequest, beta_1.HTTPResult.withHeaders(result, requestContext.response.getHeaders(), 200), res);
205
+ return;
206
+ }
207
+ }
208
+ }
209
+ if (!handler && method === 'options') {
210
+ handleResult(isHeadRequest, requestContext.response, res);
211
+ return;
212
+ }
213
+ if (handler && !Array.isArray(handler)) {
214
+ requestContext.routeParameters = handler.parameters;
215
+ const result = await handler.handler(requestContext);
216
+ if (!requestContext.response.isStream()) {
217
+ if (result) {
218
+ requestContext.response = beta_1.HTTPResult.withHeaders(result, requestContext.response.getHeaders(), 200);
219
+ }
220
+ else {
221
+ requestContext.response = beta_1.HTTPResult.withHeaders('', requestContext.response.getHeaders(), 200);
222
+ }
223
+ }
224
+ }
225
+ const postfixHandler = getHandler(method, path, roots.postfix, true);
226
+ if (postfixHandler && Array.isArray(postfixHandler)) {
227
+ postfixHandler.sort((a, b) => a.priority - b.priority);
228
+ for (const { handler, parameters } of postfixHandler) {
229
+ requestContext.routeParameters = parameters;
230
+ const result = await handler(requestContext);
231
+ if (result) {
232
+ handleResult(isHeadRequest, beta_1.HTTPResult.withHeaders(result, requestContext.response.getHeaders(), 200), res);
233
+ return;
234
+ }
235
+ }
236
+ }
237
+ handleResult(isHeadRequest, requestContext.response, res);
238
+ }
239
+ catch (err) {
240
+ handleResult(isHeadRequest, beta_1.HTTPResult.withHeaders(err.message || err, requestContext.response.getHeaders(), 500), res);
241
+ }
242
+ }
243
+ const wss = new ws_1.WebSocketServer({ noServer: true });
244
+ const upgrader = (req, socket, head) => new Promise((resolve) => wss.handleUpgrade(req, socket, head, resolve));
245
+ async function upgradeListener(req, socket, head, protocol) {
246
+ const res = new http_1.ServerResponse(req);
247
+ const url = new URL(req.url || '', `${protocol}://${req.headers.host || 'localhost'}`);
248
+ const requestContext = {
249
+ rawRequest: req,
250
+ rawResponse: res,
251
+ url,
252
+ routeParameters: {},
253
+ response: new beta_1.HTTPResult(404, 'Not Found'),
254
+ };
255
+ const path = url.pathname.split('/').filter((part) => part);
256
+ const method = req.method?.toLowerCase() || 'get';
257
+ try {
258
+ const handler = getHandler(method, path, roots.websocket, false);
259
+ if (!handler) {
260
+ handleResult(false, requestContext.response, res);
261
+ socket.destroy();
262
+ return;
263
+ }
264
+ const prefixHandler = getHandler(method, path, roots.prefix, true);
265
+ if (prefixHandler && Array.isArray(prefixHandler)) {
266
+ prefixHandler.sort((a, b) => a.priority - b.priority);
267
+ for (const { handler, parameters } of prefixHandler) {
268
+ requestContext.routeParameters = parameters;
269
+ const result = await handler(requestContext);
270
+ if (result) {
271
+ handleResult(false, beta_1.HTTPResult.withHeaders(result, requestContext.response.getHeaders(), 200), res);
272
+ socket.destroy();
273
+ return;
274
+ }
275
+ }
276
+ }
277
+ if (handler && !Array.isArray(handler)) {
278
+ requestContext.connection = await upgrader(req, socket, head);
279
+ requestContext.routeParameters = handler.parameters;
280
+ await handler.handler(requestContext);
281
+ }
282
+ else {
283
+ socket.destroy();
284
+ }
285
+ }
286
+ catch (err) {
287
+ handleResult(false, beta_1.HTTPResult.withHeaders(err, requestContext.response.getHeaders(), 500), res);
288
+ socket.destroy();
289
+ }
290
+ }
291
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { HTTPResult, RequestContext } from '@ajs/api/beta';
2
+ import { PassThrough } from 'stream';
3
+ import WebSocket from 'ws';
4
+ declare const TestRoutingController0_base: import("@ajs/api/beta").ControllerClass<object>;
5
+ export declare class TestRoutingController0 extends TestRoutingController0_base {
6
+ test(): void;
7
+ testPrefixHigh(): void;
8
+ testPrefixLow(): void;
9
+ testPriority(): void;
10
+ testPostfixHigh(): void;
11
+ testPostfixLow(): void;
12
+ testPrefixEarlyReturn(): string;
13
+ testEarlyReturn(): string;
14
+ testOverride(): string;
15
+ testPostfixOverride(): string;
16
+ }
17
+ declare const TestRoutingController1_base: import("@ajs/api/beta").ControllerClass<object>;
18
+ export declare class TestRoutingController1 extends TestRoutingController1_base {
19
+ test(): string;
20
+ testPost(): string;
21
+ testPut(): string;
22
+ testDelete(): string;
23
+ testCustom(): string;
24
+ }
25
+ declare const TestRoutingController2_base: typeof TestRoutingController1;
26
+ export declare class TestRoutingController2 extends TestRoutingController2_base {
27
+ test(): string;
28
+ }
29
+ declare const TestRoutingController3_base: import("@ajs/api/beta").ControllerClass<object>;
30
+ export declare class TestRoutingController3 extends TestRoutingController3_base {
31
+ test(): void;
32
+ }
33
+ declare const TestExecutionController1_base: import("@ajs/api/beta").ControllerClass<object>;
34
+ export declare class TestExecutionController1 extends TestExecutionController1_base {
35
+ prop: string;
36
+ testProperty(): string;
37
+ testParameter(param: string): string;
38
+ }
39
+ declare const TestExecutionController2_base: import("@ajs/api/beta").ControllerClass<object>;
40
+ export declare class TestExecutionController2 extends TestExecutionController2_base {
41
+ testProviderContext(_ctx: RequestContext): void;
42
+ testProviderRawBody(_body: Buffer): void;
43
+ testProviderParameterParam(_param: string): void;
44
+ testProviderParameterHeader(_param: string): void;
45
+ testProviderParameterQuery(_param: string): void;
46
+ testProviderMultiParameterHeader(_params: string[]): void;
47
+ testProviderMultiParameterQuery(_params: string[]): void;
48
+ testProviderWriteStream(param: PassThrough): void;
49
+ testProviderResult(): string;
50
+ testProviderResultPostfix(_res: string): void;
51
+ testModifierTransform(_param: string): void;
52
+ }
53
+ declare const TestExecutionController3_base: import("@ajs/api/beta").ControllerClass<object>;
54
+ export declare class TestExecutionController3 extends TestExecutionController3_base {
55
+ test(): HTTPResult;
56
+ testThrow(): void;
57
+ testStatus(): HTTPResult;
58
+ testHeader(): HTTPResult;
59
+ testBody(): HTTPResult;
60
+ testConsistencyPrefix(res: HTTPResult): void;
61
+ testConsistency(res: HTTPResult): HTTPResult;
62
+ testConsistencyPostfix(res: HTTPResult): void;
63
+ testControllerInstance(ctx: RequestContext): Promise<string>;
64
+ }
65
+ declare const TestWebsocketController1_base: import("@ajs/api/beta").ControllerClass<object>;
66
+ export declare class TestWebsocketController1 extends TestWebsocketController1_base {
67
+ test(connection: WebSocket): void;
68
+ }
69
+ export {};