@furystack/rest-service 9.0.0 → 9.0.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/esm/actions/login.d.ts +0 -1
- package/esm/actions/login.d.ts.map +1 -1
- package/esm/actions/login.js +0 -1
- package/esm/actions/login.js.map +1 -1
- package/esm/add-cors-header.d.ts +14 -0
- package/esm/add-cors-header.d.ts.map +1 -0
- package/esm/add-cors-header.js +23 -0
- package/esm/add-cors-header.js.map +1 -0
- package/esm/add-cors-header.spec.js +7 -8
- package/esm/add-cors-header.spec.js.map +1 -1
- package/esm/api-manager.d.ts.map +1 -1
- package/esm/api-manager.js +4 -5
- package/esm/api-manager.js.map +1 -1
- package/esm/endpoint-generators/create-delete-endpoint.d.ts +0 -1
- package/esm/endpoint-generators/create-delete-endpoint.d.ts.map +1 -1
- package/esm/endpoint-generators/create-delete-endpoint.js +0 -1
- package/esm/endpoint-generators/create-delete-endpoint.js.map +1 -1
- package/esm/endpoint-generators/create-delete-endpoint.spec.js +4 -2
- package/esm/endpoint-generators/create-delete-endpoint.spec.js.map +1 -1
- package/esm/endpoint-generators/create-get-collection-endpoint.d.ts +0 -1
- package/esm/endpoint-generators/create-get-collection-endpoint.d.ts.map +1 -1
- package/esm/endpoint-generators/create-get-collection-endpoint.js +0 -1
- package/esm/endpoint-generators/create-get-collection-endpoint.js.map +1 -1
- package/esm/endpoint-generators/create-get-collection-endpoint.spec.js +16 -10
- package/esm/endpoint-generators/create-get-collection-endpoint.spec.js.map +1 -1
- package/esm/endpoint-generators/create-get-entity-endpoint.d.ts +0 -1
- package/esm/endpoint-generators/create-get-entity-endpoint.d.ts.map +1 -1
- package/esm/endpoint-generators/create-get-entity-endpoint.js +0 -1
- package/esm/endpoint-generators/create-get-entity-endpoint.js.map +1 -1
- package/esm/endpoint-generators/create-get-entity-endpoint.spec.js +10 -6
- package/esm/endpoint-generators/create-get-entity-endpoint.spec.js.map +1 -1
- package/esm/endpoint-generators/create-patch-endpoint.d.ts +0 -1
- package/esm/endpoint-generators/create-patch-endpoint.d.ts.map +1 -1
- package/esm/endpoint-generators/create-patch-endpoint.js +2 -2
- package/esm/endpoint-generators/create-patch-endpoint.js.map +1 -1
- package/esm/endpoint-generators/create-patch-endpoint.spec.js +4 -2
- package/esm/endpoint-generators/create-patch-endpoint.spec.js.map +1 -1
- package/esm/endpoint-generators/create-post-endpoint.d.ts +0 -1
- package/esm/endpoint-generators/create-post-endpoint.d.ts.map +1 -1
- package/esm/endpoint-generators/create-post-endpoint.js +2 -2
- package/esm/endpoint-generators/create-post-endpoint.js.map +1 -1
- package/esm/endpoint-generators/create-post-endpoint.spec.js +4 -2
- package/esm/endpoint-generators/create-post-endpoint.spec.js.map +1 -1
- package/esm/endpoint-generators/utils.d.ts.map +1 -1
- package/esm/endpoint-generators/utils.js +0 -2
- package/esm/endpoint-generators/utils.js.map +1 -1
- package/esm/helpers.d.ts.map +1 -1
- package/esm/helpers.js +1 -1
- package/esm/helpers.js.map +1 -1
- package/esm/http-authentication-settings.d.ts +1 -1
- package/esm/http-authentication-settings.d.ts.map +1 -1
- package/esm/http-authentication-settings.js.map +1 -1
- package/esm/http-user-context.d.ts +7 -6
- package/esm/http-user-context.d.ts.map +1 -1
- package/esm/http-user-context.js +17 -5
- package/esm/http-user-context.js.map +1 -1
- package/esm/http-user-context.spec.js +60 -2
- package/esm/http-user-context.spec.js.map +1 -1
- package/esm/incoming-message-extensions.d.ts +0 -2
- package/esm/incoming-message-extensions.d.ts.map +1 -1
- package/esm/incoming-message-extensions.js +1 -10
- package/esm/incoming-message-extensions.js.map +1 -1
- package/esm/index.d.ts +2 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -2
- package/esm/index.js.map +1 -1
- package/esm/models/default-session.d.ts.map +1 -1
- package/esm/models/default-session.js +0 -8
- package/esm/models/default-session.js.map +1 -1
- package/esm/read-post-body.d.ts +12 -0
- package/esm/read-post-body.d.ts.map +1 -0
- package/esm/read-post-body.js +33 -0
- package/esm/read-post-body.js.map +1 -0
- package/esm/request-action-implementation.d.ts +4 -4
- package/esm/request-action-implementation.d.ts.map +1 -1
- package/esm/rest-service.integration.spec.js +24 -33
- package/esm/rest-service.integration.spec.js.map +1 -1
- package/esm/rest.integration.test.js +1 -1
- package/esm/static-server-manager.d.ts.map +1 -1
- package/esm/static-server-manager.js +0 -1
- package/esm/static-server-manager.js.map +1 -1
- package/esm/static-server-manager.spec.js +2 -15
- package/esm/static-server-manager.spec.js.map +1 -1
- package/esm/validate.d.ts +3 -1
- package/esm/validate.d.ts.map +1 -1
- package/esm/validate.integration.spec.js +6 -2
- package/esm/validate.integration.spec.js.map +1 -1
- package/package.json +13 -13
- package/src/actions/login.ts +0 -1
- package/src/add-cors-header.spec.ts +7 -8
- package/src/add-cors-header.ts +32 -0
- package/src/api-manager.ts +5 -5
- package/src/endpoint-generators/create-delete-endpoint.spec.ts +4 -2
- package/src/endpoint-generators/create-delete-endpoint.ts +0 -1
- package/src/endpoint-generators/create-get-collection-endpoint.spec.ts +16 -10
- package/src/endpoint-generators/create-get-collection-endpoint.ts +0 -1
- package/src/endpoint-generators/create-get-entity-endpoint.spec.ts +10 -6
- package/src/endpoint-generators/create-get-entity-endpoint.ts +0 -1
- package/src/endpoint-generators/create-patch-endpoint.spec.ts +4 -2
- package/src/endpoint-generators/create-patch-endpoint.ts +2 -2
- package/src/endpoint-generators/create-post-endpoint.spec.ts +4 -2
- package/src/endpoint-generators/create-post-endpoint.ts +2 -2
- package/src/endpoint-generators/utils.ts +2 -2
- package/src/helpers.ts +1 -1
- package/src/http-authentication-settings.ts +1 -2
- package/src/http-user-context.spec.ts +79 -2
- package/src/http-user-context.ts +29 -10
- package/src/incoming-message-extensions.ts +0 -15
- package/src/index.ts +2 -2
- package/src/models/default-session.ts +2 -2
- package/src/read-post-body.ts +36 -0
- package/src/rest-service.integration.spec.ts +24 -38
- package/src/rest.integration.test.ts +1 -1
- package/src/static-server-manager.spec.ts +2 -18
- package/src/static-server-manager.ts +1 -1
- package/src/validate.integration.spec.ts +9 -2
- package/esm/incoming-message-extensions.spec.d.ts +0 -2
- package/esm/incoming-message-extensions.spec.d.ts.map +0 -1
- package/esm/incoming-message-extensions.spec.js +0 -38
- package/esm/incoming-message-extensions.spec.js.map +0 -1
- package/esm/utils.d.ts +0 -25
- package/esm/utils.d.ts.map +0 -1
- package/esm/utils.js +0 -70
- package/esm/utils.js.map +0 -1
- package/src/incoming-message-extensions.spec.ts +0 -42
- package/src/utils.ts +0 -68
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-session.d.ts","sourceRoot":"","sources":["../../src/models/default-session.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,cAAc;IACzB;;OAEG;
|
|
1
|
+
{"version":3,"file":"default-session.d.ts","sourceRoot":"","sources":["../../src/models/default-session.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,cAAc;IACzB;;OAEG;IACK,SAAS,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACK,QAAQ,EAAE,MAAM,CAAA;CACzB"}
|
|
@@ -2,13 +2,5 @@
|
|
|
2
2
|
* Model class that defines the default session data
|
|
3
3
|
*/
|
|
4
4
|
export class DefaultSession {
|
|
5
|
-
/**
|
|
6
|
-
* The generated session identifier
|
|
7
|
-
*/
|
|
8
|
-
sessionId;
|
|
9
|
-
/**
|
|
10
|
-
* The user's login name for the session
|
|
11
|
-
*/
|
|
12
|
-
username;
|
|
13
5
|
}
|
|
14
6
|
//# sourceMappingURL=default-session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-session.js","sourceRoot":"","sources":["../../src/models/default-session.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,cAAc;
|
|
1
|
+
{"version":3,"file":"default-session.js","sourceRoot":"","sources":["../../src/models/default-session.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,cAAc;CAU1B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference path="server-response-extensions.d.ts" />
|
|
2
|
+
/// <reference types="node/http.js" />
|
|
3
|
+
import type { IncomingMessage } from 'http';
|
|
4
|
+
import './incoming-message-extensions.js';
|
|
5
|
+
export declare const readPostBodyRaw: (incomingMessage: IncomingMessage) => Promise<string>;
|
|
6
|
+
/**
|
|
7
|
+
* Reads the post's body and returns a promise with a parsed value
|
|
8
|
+
* @param incomingMessage The incoming message instance
|
|
9
|
+
* @returns the parsed object from the post body
|
|
10
|
+
*/
|
|
11
|
+
export declare const readPostBody: <T>(incomingMessage: IncomingMessage) => Promise<T>;
|
|
12
|
+
//# sourceMappingURL=read-post-body.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-post-body.d.ts","sourceRoot":"","sources":["../src/read-post-body.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAC3C,OAAO,kCAAkC,CAAA;AAEzC,eAAO,MAAM,eAAe,oBAA2B,eAAe,oBAqBrE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,uBAA8B,eAAe,KAAG,QAAQ,CAAC,CAIjF,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import './incoming-message-extensions.js';
|
|
2
|
+
export const readPostBodyRaw = async (incomingMessage) => {
|
|
3
|
+
if (!incomingMessage.readable) {
|
|
4
|
+
throw Error('Incoming message is not readable');
|
|
5
|
+
}
|
|
6
|
+
let body = '';
|
|
7
|
+
await new Promise((resolve, reject) => {
|
|
8
|
+
incomingMessage.on('readable', () => {
|
|
9
|
+
const data = incomingMessage.read();
|
|
10
|
+
if (data) {
|
|
11
|
+
body += data;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
incomingMessage.on('end', () => {
|
|
15
|
+
resolve();
|
|
16
|
+
});
|
|
17
|
+
incomingMessage.on('error', (err) => {
|
|
18
|
+
reject(err);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
return body;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Reads the post's body and returns a promise with a parsed value
|
|
25
|
+
* @param incomingMessage The incoming message instance
|
|
26
|
+
* @returns the parsed object from the post body
|
|
27
|
+
*/
|
|
28
|
+
export const readPostBody = async (incomingMessage) => {
|
|
29
|
+
const body = incomingMessage.postBody || JSON.parse(await readPostBodyRaw(incomingMessage));
|
|
30
|
+
incomingMessage.postBody = body;
|
|
31
|
+
return body;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=read-post-body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-post-body.js","sourceRoot":"","sources":["../src/read-post-body.ts"],"names":[],"mappings":"AACA,OAAO,kCAAkC,CAAA;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,eAAgC,EAAE,EAAE;IACxE,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAClC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,CAAA;YACnC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,IAAI,IAAI,CAAA;YACd,CAAC;QACH,CAAC,CAAC,CAAA;QACF,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;QACF,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAClC,MAAM,CAAC,GAAG,CAAC,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAK,eAAgC,EAAc,EAAE;IACpF,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC,CAAA;IAC3F,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAA;IAC/B,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -13,16 +13,16 @@ export interface ActionResult<T> {
|
|
|
13
13
|
}
|
|
14
14
|
export declare const JsonResult: <T extends object>(chunk: T, statusCode?: number, headers?: {
|
|
15
15
|
[K: string]: string;
|
|
16
|
-
}
|
|
16
|
+
}) => ActionResult<T>;
|
|
17
17
|
export declare const PlainTextResult: (text: string, statusCode?: number, headers?: {
|
|
18
18
|
[K: string]: string;
|
|
19
|
-
}
|
|
19
|
+
}) => ActionResult<string>;
|
|
20
20
|
export declare const XmlResult: (text: string, statusCode?: number, headers?: {
|
|
21
21
|
[K: string]: string;
|
|
22
|
-
}
|
|
22
|
+
}) => ActionResult<string>;
|
|
23
23
|
export declare const EmptyResult: (statusCode?: number, headers?: {
|
|
24
24
|
[K: string]: string;
|
|
25
|
-
}
|
|
25
|
+
}) => ActionResult<undefined>;
|
|
26
26
|
export declare const BypassResult: () => ActionResult<"BypassResult">;
|
|
27
27
|
export type RequestActionOptions<T extends {
|
|
28
28
|
result: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-action-implementation.d.ts","sourceRoot":"","sources":["../src/request-action-implementation.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAE3C,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAChC,KAAK,EAAE,CAAC,CAAA;CACT;AAED,eAAO,MAAM,UAAU,4BAA6B,CAAC
|
|
1
|
+
{"version":3,"file":"request-action-implementation.d.ts","sourceRoot":"","sources":["../src/request-action-implementation.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAE3C,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAChC,KAAK,EAAE,CAAC,CAAA;CACT;AAED,eAAO,MAAM,UAAU,4BAA6B,CAAC,iCAA8B;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,oBAQnF,CAAA;AAEvB,eAAO,MAAM,eAAe,SAAU,MAAM,iCAA8B;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,yBAQrE,CAAA;AAE5B,eAAO,MAAM,SAAS,SAAU,MAAM,iCAA8B;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,yBAQ/D,CAAA;AAE5B,eAAO,MAAM,WAAW,kCAAgC;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,4BAMhD,CAAA;AAE/B,eAAO,MAAM,YAAY,oCAGW,CAAA;AAEpC,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,IAAI;IAChE,OAAO,EAAE,eAAe,CAAA;IACxB,QAAQ,EAAE,cAAc,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;CACnB,GAAG,CAAC,CAAC,SAAS;IACb,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,CAAC,CAAA;CACd,GACG;IAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,GAC7B,OAAO,CAAC,GACV,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,GACnF,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,GACjF,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,CAAA;AAE9E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,IAAI,CACzD,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAC7B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -9,23 +9,19 @@ import { useHttpAuthentication, useRestService } from './helpers.js';
|
|
|
9
9
|
import { describe, it, expect } from 'vitest';
|
|
10
10
|
import { serializeValue } from '@furystack/rest';
|
|
11
11
|
import { getPort } from '@furystack/core/port-generator';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
const prepareInjector = async (i) => {
|
|
12
|
+
const createIntegrationApi = async () => {
|
|
13
|
+
const i = new Injector();
|
|
16
14
|
const port = getPort();
|
|
17
|
-
const hostName = 'localhost';
|
|
18
15
|
const root = 'test-api';
|
|
19
16
|
addStore(i, new InMemoryStore({ model: User, primaryKey: 'username' })).addStore(new InMemoryStore({ model: DefaultSession, primaryKey: 'sessionId' }));
|
|
20
17
|
useHttpAuthentication(i, {
|
|
21
|
-
getUserStore: (sm) => sm.getStoreFor(
|
|
18
|
+
getUserStore: (sm) => sm.getStoreFor(User, 'username'),
|
|
22
19
|
getSessionStore: (sm) => sm.getStoreFor(DefaultSession, 'sessionId'),
|
|
23
20
|
});
|
|
24
21
|
await useRestService({
|
|
25
22
|
injector: i,
|
|
26
23
|
root,
|
|
27
|
-
port
|
|
28
|
-
hostName,
|
|
24
|
+
port,
|
|
29
25
|
cors: {
|
|
30
26
|
credentials: true,
|
|
31
27
|
origins: ['http://localhost:8080'],
|
|
@@ -50,21 +46,20 @@ const prepareInjector = async (i) => {
|
|
|
50
46
|
},
|
|
51
47
|
});
|
|
52
48
|
return {
|
|
53
|
-
apiUrl: `http
|
|
49
|
+
apiUrl: `http://127.0.0.1:${port}/${root}`,
|
|
54
50
|
port,
|
|
55
|
-
|
|
51
|
+
dispose: i.dispose.bind(i),
|
|
56
52
|
};
|
|
57
53
|
};
|
|
58
54
|
describe('@furystack/rest-service inregration tests', () => {
|
|
59
55
|
it('Should be started and disposed', async () => {
|
|
60
|
-
await usingAsync(
|
|
61
|
-
await prepareInjector(i);
|
|
62
|
-
});
|
|
56
|
+
await usingAsync(await createIntegrationApi(), async () => { });
|
|
63
57
|
});
|
|
64
58
|
it('Should respond with 404 when a route is not found', async () => {
|
|
65
|
-
await usingAsync(
|
|
66
|
-
const
|
|
67
|
-
|
|
59
|
+
await usingAsync(await createIntegrationApi(), async ({ apiUrl }) => {
|
|
60
|
+
const result = await fetch(PathHelper.joinPaths(apiUrl, 'some-route-that-does-not-exists'), {
|
|
61
|
+
method: 'GET',
|
|
62
|
+
});
|
|
68
63
|
expect(result.ok).toBe(false);
|
|
69
64
|
expect(result.status).toBe(404);
|
|
70
65
|
const responseText = await result.json();
|
|
@@ -72,8 +67,7 @@ describe('@furystack/rest-service inregration tests', () => {
|
|
|
72
67
|
});
|
|
73
68
|
});
|
|
74
69
|
it('Should respond with 401 for unauthorized request errors', async () => {
|
|
75
|
-
await usingAsync(
|
|
76
|
-
const { apiUrl } = await prepareInjector(i);
|
|
70
|
+
await usingAsync(await createIntegrationApi(), async ({ apiUrl }) => {
|
|
77
71
|
const result = await fetch(PathHelper.joinPaths(apiUrl, 'currentUser'));
|
|
78
72
|
expect(result.ok).toBe(false);
|
|
79
73
|
expect(result.status).toBe(401);
|
|
@@ -82,8 +76,7 @@ describe('@furystack/rest-service inregration tests', () => {
|
|
|
82
76
|
});
|
|
83
77
|
});
|
|
84
78
|
it('Should respond with 401 for unauthorized request errors', async () => {
|
|
85
|
-
await usingAsync(
|
|
86
|
-
const { apiUrl } = await prepareInjector(i);
|
|
79
|
+
await usingAsync(await createIntegrationApi(), async ({ apiUrl }) => {
|
|
87
80
|
const result = await fetch(PathHelper.joinPaths(apiUrl, 'currentUser'));
|
|
88
81
|
expect(result.ok).toBe(false);
|
|
89
82
|
expect(result.status).toBe(401);
|
|
@@ -92,8 +85,7 @@ describe('@furystack/rest-service inregration tests', () => {
|
|
|
92
85
|
});
|
|
93
86
|
});
|
|
94
87
|
it('Should respond with the correct result body', async () => {
|
|
95
|
-
await usingAsync(
|
|
96
|
-
const { apiUrl } = await prepareInjector(i);
|
|
88
|
+
await usingAsync(await createIntegrationApi(), async ({ apiUrl }) => {
|
|
97
89
|
const response = await fetch(PathHelper.joinPaths(apiUrl, 'isAuthenticated'));
|
|
98
90
|
expect(response.status).toBe(200);
|
|
99
91
|
const result = await response.json();
|
|
@@ -101,8 +93,8 @@ describe('@furystack/rest-service inregration tests', () => {
|
|
|
101
93
|
});
|
|
102
94
|
});
|
|
103
95
|
it('Should be able to read query parameters', async () => {
|
|
104
|
-
await usingAsync(
|
|
105
|
-
|
|
96
|
+
await usingAsync(await createIntegrationApi(), async ({ apiUrl }) => {
|
|
97
|
+
console.log('apiUrl', apiUrl);
|
|
106
98
|
const response = await fetch(PathHelper.joinPaths(apiUrl, `testQuery?param1=${serializeValue('foo')}`));
|
|
107
99
|
expect(response.status).toBe(200);
|
|
108
100
|
const result = await response.json();
|
|
@@ -110,8 +102,7 @@ describe('@furystack/rest-service inregration tests', () => {
|
|
|
110
102
|
});
|
|
111
103
|
});
|
|
112
104
|
it('Should be able to read url parameters', async () => {
|
|
113
|
-
await usingAsync(
|
|
114
|
-
const { apiUrl } = await prepareInjector(i);
|
|
105
|
+
await usingAsync(await createIntegrationApi(), async ({ apiUrl }) => {
|
|
115
106
|
const response = await fetch(PathHelper.joinPaths(apiUrl, 'testUrlParams/bar'));
|
|
116
107
|
expect(response.status).toBe(200);
|
|
117
108
|
const result = await response.json();
|
|
@@ -119,8 +110,7 @@ describe('@furystack/rest-service inregration tests', () => {
|
|
|
119
110
|
});
|
|
120
111
|
});
|
|
121
112
|
it('Should be able to read post body', async () => {
|
|
122
|
-
await usingAsync(
|
|
123
|
-
const { apiUrl } = await prepareInjector(i);
|
|
113
|
+
await usingAsync(await createIntegrationApi(), async ({ apiUrl }) => {
|
|
124
114
|
const response = await fetch(PathHelper.joinPaths(apiUrl, 'testPostBody'), {
|
|
125
115
|
method: 'POST',
|
|
126
116
|
body: JSON.stringify({ value: 'baz' }),
|
|
@@ -131,18 +121,19 @@ describe('@furystack/rest-service inregration tests', () => {
|
|
|
131
121
|
});
|
|
132
122
|
});
|
|
133
123
|
it('Should respond with OK to OPTIONS requests', async () => {
|
|
134
|
-
await usingAsync(
|
|
135
|
-
const { apiUrl } = await prepareInjector(i);
|
|
124
|
+
await usingAsync(await createIntegrationApi(), async ({ apiUrl }) => {
|
|
136
125
|
const response = await fetch(PathHelper.joinPaths(apiUrl, 'testPostBody'), {
|
|
137
126
|
method: 'OPTIONS',
|
|
127
|
+
}).catch((e) => {
|
|
128
|
+
console.log(e);
|
|
129
|
+
throw e;
|
|
138
130
|
});
|
|
139
131
|
expect(response.status).toBe(200);
|
|
140
132
|
});
|
|
141
133
|
});
|
|
142
134
|
it('Should reject requests outside of the API Root', async () => {
|
|
143
|
-
await usingAsync(
|
|
144
|
-
|
|
145
|
-
await expect(fetch(PathHelper.joinPaths(`http://${hostName}:${port}`, 'not-my-api-root'))).rejects.toThrowError('fetch failed');
|
|
135
|
+
await usingAsync(await createIntegrationApi(), async ({ port }) => {
|
|
136
|
+
await expect(fetch(PathHelper.joinPaths(`http://127.0.0.1:${port}`, 'not-my-api-root'))).rejects.toThrowError('fetch failed');
|
|
146
137
|
});
|
|
147
138
|
});
|
|
148
139
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-service.integration.spec.js","sourceRoot":"","sources":["../src/rest-service.integration.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,WAAW,CAAA;AAClB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAE/F,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"rest-service.integration.spec.js","sourceRoot":"","sources":["../src/rest-service.integration.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-server-manager.d.ts","sourceRoot":"","sources":["../src/static-server-manager.ts"],"names":[],"mappings":";;;;AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAkB,MAAM,MAAM,CAAA;AAKhF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAC9B;AAED,qBACa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"static-server-manager.d.ts","sourceRoot":"","sources":["../src/static-server-manager.ts"],"names":[],"mappings":";;;;AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAkB,MAAM,MAAM,CAAA;AAKhF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAC9B;AAED,qBACa,mBAAmB;IAC9B,iBACyB,aAAa,CAAe;YAEvC,QAAQ;IAwBf,UAAU,YACL,MAAM,eACN;QAAE,GAAG,EAAE,KAAK,eAAe,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAA;KAAE,aAK/C;IAEb,OAAO,CAAC,SAAS,CA0BhB;IAEY,aAAa,CAAC,OAAO,EAAE,mBAAmB;CAQxD"}
|
|
@@ -14,7 +14,6 @@ import { getMimeForFile } from './mime-types.js';
|
|
|
14
14
|
import { join, normalize, sep } from 'path';
|
|
15
15
|
import { ServerManager } from './server-manager.js';
|
|
16
16
|
let StaticServerManager = class StaticServerManager {
|
|
17
|
-
serverManager;
|
|
18
17
|
async sendFile({ fullPath, headers, res, }) {
|
|
19
18
|
const { size } = await stat(fullPath);
|
|
20
19
|
await access(fullPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-server-manager.js","sourceRoot":"","sources":["../src/static-server-manager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAY5C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;
|
|
1
|
+
{"version":3,"file":"static-server-manager.js","sourceRoot":"","sources":["../src/static-server-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,20 +3,7 @@ import { sleepAsync, usingAsync } from '@furystack/utils';
|
|
|
3
3
|
import { ServerManager } from './server-manager.js';
|
|
4
4
|
import { StaticServerManager } from './static-server-manager.js';
|
|
5
5
|
import { describe, it, expect, vi } from 'vitest';
|
|
6
|
-
|
|
7
|
-
* Generator for an incremental port number
|
|
8
|
-
* @param initialPort The initial port number
|
|
9
|
-
* @yields a port for testing
|
|
10
|
-
* @returns The Port number
|
|
11
|
-
*/
|
|
12
|
-
function* portGenerator(initialPort = 17000) {
|
|
13
|
-
let port = initialPort;
|
|
14
|
-
while (true) {
|
|
15
|
-
yield port++;
|
|
16
|
-
}
|
|
17
|
-
return port;
|
|
18
|
-
}
|
|
19
|
-
const getPort = () => portGenerator().next().value;
|
|
6
|
+
import { getPort } from '@furystack/core/port-generator';
|
|
20
7
|
describe('StaticServerManager', () => {
|
|
21
8
|
describe('Top level routing', () => {
|
|
22
9
|
it('Should return a 404 without fallback', async () => {
|
|
@@ -28,7 +15,7 @@ describe('StaticServerManager', () => {
|
|
|
28
15
|
path: '.',
|
|
29
16
|
port,
|
|
30
17
|
});
|
|
31
|
-
const result = await fetch(`http://
|
|
18
|
+
const result = await fetch(`http://127.0.0.1:${port}/not-found.html`);
|
|
32
19
|
expect(result.ok).toBe(false);
|
|
33
20
|
expect(result.status).toBe(404);
|
|
34
21
|
expect(result?.headers.get('content-type')).toBe('text/plain');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-server-manager.spec.js","sourceRoot":"","sources":["../src/static-server-manager.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"static-server-manager.spec.js","sourceRoot":"","sources":["../src/static-server-manager.spec.ts"],"names":[],"mappings":"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"}
|
package/esm/validate.d.ts
CHANGED
package/esm/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,aAAa,EAAwB,MAAM,oCAAoC,CAAA;AAG3G,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,aAAa,EAAwB,MAAM,oCAAoC,CAAA;AAG3G,eAAO,MAAM,QAAQ;iBACa;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG;YAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,GAAG,GAAG,CAAA;KAAE;sBAAuB;IACnG;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAA;CACzC;YACoB,GAAG;WAAY,cAAc,CAAC,CAAC,KAAG,cAAc,CAAC,CA6CrE,CAAA"}
|
|
@@ -7,11 +7,15 @@ import schema from './validate.integration.spec.schema.json' assert { type: 'jso
|
|
|
7
7
|
import { useRestService } from './helpers.js';
|
|
8
8
|
import { describe, it, expect } from 'vitest';
|
|
9
9
|
import { getPort } from '@furystack/core/port-generator';
|
|
10
|
+
import { getStoreManager, InMemoryStore, User } from '@furystack/core';
|
|
11
|
+
import { DefaultSession } from './models/default-session.js';
|
|
10
12
|
// To recreate: yarn ts-json-schema-generator -f tsconfig.json --no-type-check -p packages/rest-service/src/validate.integration.schema.ts -o packages/rest-service/src/validate.integration.spec.schema.json
|
|
11
13
|
const createValidateApi = async () => {
|
|
12
14
|
const injector = new Injector();
|
|
13
15
|
const port = getPort();
|
|
14
|
-
|
|
16
|
+
getStoreManager(injector).addStore(new InMemoryStore({ model: User, primaryKey: 'username' }));
|
|
17
|
+
getStoreManager(injector).addStore(new InMemoryStore({ model: DefaultSession, primaryKey: 'sessionId' }));
|
|
18
|
+
await useRestService({
|
|
15
19
|
injector,
|
|
16
20
|
api: {
|
|
17
21
|
GET: {
|
|
@@ -51,7 +55,7 @@ const createValidateApi = async () => {
|
|
|
51
55
|
root: '/api',
|
|
52
56
|
});
|
|
53
57
|
const client = createClient({
|
|
54
|
-
endpointUrl: `http://
|
|
58
|
+
endpointUrl: `http://127.0.0.1:${port}/api`,
|
|
55
59
|
});
|
|
56
60
|
return {
|
|
57
61
|
dispose: injector.dispose.bind(injector),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.integration.spec.js","sourceRoot":"","sources":["../src/validate.integration.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,MAAM,MAAM,yCAAyC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAA;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"validate.integration.spec.js","sourceRoot":"","sources":["../src/validate.integration.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furystack/rest-service",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.2",
|
|
4
4
|
"description": "Repository implementation for FuryStack",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -37,22 +37,22 @@
|
|
|
37
37
|
},
|
|
38
38
|
"homepage": "https://github.com/furystack/furystack",
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@furystack/core": "^14.0.
|
|
41
|
-
"@furystack/inject": "^
|
|
42
|
-
"@furystack/repository": "^9.0.
|
|
43
|
-
"@furystack/rest": "^7.0.
|
|
44
|
-
"@furystack/security": "^5.0.
|
|
45
|
-
"@furystack/utils": "^
|
|
40
|
+
"@furystack/core": "^14.0.2",
|
|
41
|
+
"@furystack/inject": "^11.0.1",
|
|
42
|
+
"@furystack/repository": "^9.0.2",
|
|
43
|
+
"@furystack/rest": "^7.0.2",
|
|
44
|
+
"@furystack/security": "^5.0.2",
|
|
45
|
+
"@furystack/utils": "^7.0.0",
|
|
46
46
|
"ajv": "^8.12.0",
|
|
47
|
-
"ajv-formats": "^
|
|
48
|
-
"path-to-regexp": "^6.2.
|
|
47
|
+
"ajv-formats": "^3.0.1",
|
|
48
|
+
"path-to-regexp": "^6.2.2",
|
|
49
49
|
"semaphore-async-await": "^1.5.1"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@furystack/rest-client-fetch": "^7.0.
|
|
53
|
-
"@types/node": "^20.
|
|
54
|
-
"typescript": "^5.4.
|
|
55
|
-
"vitest": "^1.
|
|
52
|
+
"@furystack/rest-client-fetch": "^7.0.2",
|
|
53
|
+
"@types/node": "^20.12.7",
|
|
54
|
+
"typescript": "^5.4.5",
|
|
55
|
+
"vitest": "^1.5.0"
|
|
56
56
|
},
|
|
57
57
|
"gitHead": "1045d854bfd8c475b7035471d130d401417a2321"
|
|
58
58
|
}
|
package/src/actions/login.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'http'
|
|
2
|
-
import { Utils } from './utils.js'
|
|
3
2
|
import { describe, it, expect, vi } from 'vitest'
|
|
3
|
+
import { addCorsHeaders } from './add-cors-header.js'
|
|
4
4
|
|
|
5
5
|
describe('AddCorsHeaders', () => {
|
|
6
|
-
const utils = new Utils()
|
|
7
6
|
it('Should NOT add headers for non-cross-site requests', () => {
|
|
8
7
|
const req: IncomingMessage = {
|
|
9
8
|
headers: { origin: 'http://localhost/', host: 'http://localhost' },
|
|
@@ -12,7 +11,7 @@ describe('AddCorsHeaders', () => {
|
|
|
12
11
|
setHeader: vi.fn(),
|
|
13
12
|
} as unknown as ServerResponse
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
addCorsHeaders(
|
|
16
15
|
{
|
|
17
16
|
origins: ['https://google.com'],
|
|
18
17
|
credentials: true,
|
|
@@ -32,7 +31,7 @@ describe('AddCorsHeaders', () => {
|
|
|
32
31
|
setHeader: vi.fn(),
|
|
33
32
|
} as unknown as ServerResponse
|
|
34
33
|
|
|
35
|
-
|
|
34
|
+
addCorsHeaders(
|
|
36
35
|
{
|
|
37
36
|
origins: ['https://github.com'],
|
|
38
37
|
credentials: true,
|
|
@@ -52,7 +51,7 @@ describe('AddCorsHeaders', () => {
|
|
|
52
51
|
setHeader: vi.fn(),
|
|
53
52
|
} as unknown as ServerResponse
|
|
54
53
|
|
|
55
|
-
|
|
54
|
+
addCorsHeaders(
|
|
56
55
|
{
|
|
57
56
|
origins: ['http://localhost/'],
|
|
58
57
|
},
|
|
@@ -71,7 +70,7 @@ describe('AddCorsHeaders', () => {
|
|
|
71
70
|
setHeader: vi.fn(),
|
|
72
71
|
} as unknown as ServerResponse
|
|
73
72
|
|
|
74
|
-
|
|
73
|
+
addCorsHeaders(
|
|
75
74
|
{
|
|
76
75
|
origins: ['http://localhost/'],
|
|
77
76
|
credentials: true,
|
|
@@ -96,7 +95,7 @@ describe('AddCorsHeaders', () => {
|
|
|
96
95
|
setHeader: vi.fn(),
|
|
97
96
|
} as unknown as ServerResponse
|
|
98
97
|
|
|
99
|
-
|
|
98
|
+
addCorsHeaders(
|
|
100
99
|
{
|
|
101
100
|
origins: ['http://localhost/'],
|
|
102
101
|
headers: ['my-custom-header', 'header-2'],
|
|
@@ -119,7 +118,7 @@ describe('AddCorsHeaders', () => {
|
|
|
119
118
|
setHeader: vi.fn(),
|
|
120
119
|
} as unknown as ServerResponse
|
|
121
120
|
|
|
122
|
-
|
|
121
|
+
addCorsHeaders(
|
|
123
122
|
{
|
|
124
123
|
origins: ['http://localhost/'],
|
|
125
124
|
methods: ['DELETE', 'GET', 'POST', 'PUT', 'PATCH'],
|