@furystack/rest-service 10.0.3 → 10.0.5
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/server-manager.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { EventHub } from '@furystack/utils';
|
|
1
2
|
import type { IncomingMessage, Server, ServerResponse } from 'http';
|
|
2
|
-
import { EventEmitter } from 'stream';
|
|
3
3
|
export interface ServerOptions {
|
|
4
4
|
hostName?: string;
|
|
5
5
|
port: number;
|
|
@@ -16,7 +16,7 @@ export interface ServerRecord {
|
|
|
16
16
|
server: Server;
|
|
17
17
|
apis: ServerApi[];
|
|
18
18
|
}
|
|
19
|
-
export declare class ServerManager extends
|
|
19
|
+
export declare class ServerManager extends EventHub<{
|
|
20
20
|
onRequestFailed: [unknown, IncomingMessage, ServerResponse<IncomingMessage>];
|
|
21
21
|
}> implements AsyncDisposable {
|
|
22
22
|
static DEFAULT_HOST: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-manager.d.ts","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"server-manager.d.ts","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAKnE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,eAAe,CAAA;IACpB,GAAG,EAAE,cAAc,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,CAAA;IAC3C,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,SAAS,EAAE,CAAA;CAClB;AAED,qBACa,aACX,SAAQ,QAAQ,CAAC;IAAE,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC,CAAA;CAAE,CACjG,YAAW,eAAe;IAE1B,OAAc,YAAY,SAAc;IACjC,OAAO,4BAAkC;IAChD,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,UAAU,CAC0D;IAE5E,OAAO,CAAC,YAAY,CAGnB;IACY,CAAC,MAAM,CAAC,YAAY,CAAC;IAmBrB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;CA+BxE"}
|
package/esm/server-manager.js
CHANGED
|
@@ -6,10 +6,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
var ServerManager_1;
|
|
8
8
|
import { Injectable } from '@furystack/inject';
|
|
9
|
+
import { EventHub } from '@furystack/utils';
|
|
9
10
|
import { createServer } from 'http';
|
|
10
11
|
import { Lock } from 'semaphore-async-await';
|
|
11
|
-
|
|
12
|
-
let ServerManager = class ServerManager extends EventEmitter {
|
|
12
|
+
let ServerManager = class ServerManager extends EventHub {
|
|
13
13
|
static { ServerManager_1 = this; }
|
|
14
14
|
static DEFAULT_HOST = 'localhost';
|
|
15
15
|
servers = new Map();
|
|
@@ -46,7 +46,7 @@ let ServerManager = class ServerManager extends EventEmitter {
|
|
|
46
46
|
const apiMatch = apis.find((api) => api.shouldExec({ req, res }));
|
|
47
47
|
if (apiMatch) {
|
|
48
48
|
apiMatch.onRequest({ req, res }).catch((error) => {
|
|
49
|
-
this.emit('onRequestFailed', error, req, res);
|
|
49
|
+
this.emit('onRequestFailed', [error, req, res]);
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"server-manager.js","sourceRoot":"","sources":["../src/server-manager.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": "10.0.
|
|
3
|
+
"version": "10.0.5",
|
|
4
4
|
"description": "Repository implementation for FuryStack",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -37,20 +37,20 @@
|
|
|
37
37
|
},
|
|
38
38
|
"homepage": "https://github.com/furystack/furystack",
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@furystack/core": "^15.0.
|
|
40
|
+
"@furystack/core": "^15.0.4",
|
|
41
41
|
"@furystack/inject": "^12.0.2",
|
|
42
|
-
"@furystack/repository": "^10.0.
|
|
43
|
-
"@furystack/rest": "^8.0.
|
|
44
|
-
"@furystack/security": "^6.0.
|
|
42
|
+
"@furystack/repository": "^10.0.4",
|
|
43
|
+
"@furystack/rest": "^8.0.4",
|
|
44
|
+
"@furystack/security": "^6.0.4",
|
|
45
45
|
"@furystack/utils": "^8.0.2",
|
|
46
46
|
"ajv": "^8.17.1",
|
|
47
47
|
"ajv-formats": "^3.0.1",
|
|
48
|
-
"path-to-regexp": "^
|
|
48
|
+
"path-to-regexp": "^8.0.0",
|
|
49
49
|
"semaphore-async-await": "^1.5.1"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@furystack/rest-client-fetch": "^8.0.
|
|
53
|
-
"@types/node": "^22.
|
|
52
|
+
"@furystack/rest-client-fetch": "^8.0.4",
|
|
53
|
+
"@types/node": "^22.5.2",
|
|
54
54
|
"typescript": "^5.5.4",
|
|
55
55
|
"vitest": "^2.0.5"
|
|
56
56
|
},
|
package/src/server-manager.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Injectable } from '@furystack/inject'
|
|
2
|
+
import { EventHub } from '@furystack/utils'
|
|
2
3
|
import type { IncomingMessage, Server, ServerResponse } from 'http'
|
|
3
4
|
import { createServer } from 'http'
|
|
4
5
|
import type { Socket } from 'net'
|
|
5
6
|
import { Lock } from 'semaphore-async-await'
|
|
6
|
-
import { EventEmitter } from 'stream'
|
|
7
7
|
|
|
8
8
|
export interface ServerOptions {
|
|
9
9
|
hostName?: string
|
|
@@ -27,7 +27,7 @@ export interface ServerRecord {
|
|
|
27
27
|
|
|
28
28
|
@Injectable({ lifetime: 'singleton' })
|
|
29
29
|
export class ServerManager
|
|
30
|
-
extends
|
|
30
|
+
extends EventHub<{ onRequestFailed: [unknown, IncomingMessage, ServerResponse<IncomingMessage>] }>
|
|
31
31
|
implements AsyncDisposable
|
|
32
32
|
{
|
|
33
33
|
public static DEFAULT_HOST = 'localhost'
|
|
@@ -72,7 +72,7 @@ export class ServerManager
|
|
|
72
72
|
const apiMatch = apis.find((api) => api.shouldExec({ req, res }))
|
|
73
73
|
if (apiMatch) {
|
|
74
74
|
apiMatch.onRequest({ req, res }).catch((error) => {
|
|
75
|
-
this.emit('onRequestFailed', error, req, res)
|
|
75
|
+
this.emit('onRequestFailed', [error, req, res])
|
|
76
76
|
})
|
|
77
77
|
} else {
|
|
78
78
|
res.destroy()
|