@inversifyjs/http-uwebsockets 4.4.0 → 4.6.0
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/CHANGELOG.md +22 -0
- package/lib/cjs/actions/pipeKnownSizeStreamOverResponse.d.ts +26 -0
- package/lib/cjs/actions/pipeKnownSizeStreamOverResponse.d.ts.map +1 -0
- package/lib/cjs/actions/pipeKnownSizeStreamOverResponse.js +95 -0
- package/lib/cjs/actions/pipeKnownSizeStreamOverResponse.js.map +1 -0
- package/lib/cjs/actions/pipeKnownSizeStreamOverResponse.spec.d.ts +2 -0
- package/lib/cjs/actions/pipeKnownSizeStreamOverResponse.spec.d.ts.map +1 -0
- package/lib/cjs/actions/pipeStreamOverResponse.d.ts +2 -4
- package/lib/cjs/actions/pipeStreamOverResponse.d.ts.map +1 -1
- package/lib/cjs/actions/pipeStreamOverResponse.js +9 -14
- package/lib/cjs/actions/pipeStreamOverResponse.js.map +1 -1
- package/lib/cjs/adapter/InversifyUwebSocketsHttpAdapter.d.ts +7 -3
- package/lib/cjs/adapter/InversifyUwebSocketsHttpAdapter.d.ts.map +1 -1
- package/lib/cjs/adapter/InversifyUwebSocketsHttpAdapter.js +10 -0
- package/lib/cjs/adapter/InversifyUwebSocketsHttpAdapter.js.map +1 -1
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +3 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/index.d.ts +33 -5
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @inversifyjs/http-uwebsockets
|
|
2
2
|
|
|
3
|
+
## 4.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Added `pipeKnownSizeStreamOverResponse`
|
|
8
|
+
- Updated HTTP adapter with `_sendBodySeparator`
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
Add support for custom native parameter decorators
|
|
13
|
+
|
|
14
|
+
- Updated `InversifyUwebSocketsHttpAdapter` to no longer send wrong content lengths on stream responses
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
- @inversifyjs/http-core@4.6.0
|
|
17
|
+
|
|
18
|
+
## 4.5.0
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- Updated dependencies
|
|
23
|
+
- @inversifyjs/http-core@4.5.0
|
|
24
|
+
|
|
3
25
|
## 4.4.0
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Readable } from 'node:stream';
|
|
2
|
+
import { type Logger } from '@inversifyjs/logger';
|
|
3
|
+
import { HttpResponse } from 'uWebSockets.js';
|
|
4
|
+
/**
|
|
5
|
+
* Pipes a Node.js Readable stream over a uWebSockets.js HTTP response with proper
|
|
6
|
+
* backpressure handling and error management.
|
|
7
|
+
*
|
|
8
|
+
* This function handles:
|
|
9
|
+
* - Backpressure: Pauses the stream when the socket buffer is full
|
|
10
|
+
* - Abort handling: Cleans up resources when the client disconnects
|
|
11
|
+
* - Error handling: Catches stream errors and sends appropriate error responses
|
|
12
|
+
*
|
|
13
|
+
* @param response - The uWebSockets.js HTTP response object
|
|
14
|
+
* @param readableStream - The Node.js Readable stream to pipe (must not be in object mode)
|
|
15
|
+
* @param totalSize - The total size of the stream data in bytes
|
|
16
|
+
* @param logger - Optional logger for error logging
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const fileStream = fs.createReadStream('./video.mp4');
|
|
21
|
+
* const totalSize = fs.statSync('./video.mp4').size;
|
|
22
|
+
* pipeKnownSizeStreamOverResponse(response, fileStream, totalSize, undefined);
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function pipeKnownSizeStreamOverResponse(response: HttpResponse, readableStream: Readable, totalSize: number, logger: Logger | undefined): void;
|
|
26
|
+
//# sourceMappingURL=pipeKnownSizeStreamOverResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeKnownSizeStreamOverResponse.d.ts","sourceRoot":"","sources":["../../../src/actions/pipeKnownSizeStreamOverResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,QAAQ,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,IAAI,CAwFN"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pipeKnownSizeStreamOverResponse = pipeKnownSizeStreamOverResponse;
|
|
4
|
+
const toArrayBuffer_1 = require("../calculations/toArrayBuffer");
|
|
5
|
+
const abortedSymbol_1 = require("../data/abortedSymbol");
|
|
6
|
+
/**
|
|
7
|
+
* Pipes a Node.js Readable stream over a uWebSockets.js HTTP response with proper
|
|
8
|
+
* backpressure handling and error management.
|
|
9
|
+
*
|
|
10
|
+
* This function handles:
|
|
11
|
+
* - Backpressure: Pauses the stream when the socket buffer is full
|
|
12
|
+
* - Abort handling: Cleans up resources when the client disconnects
|
|
13
|
+
* - Error handling: Catches stream errors and sends appropriate error responses
|
|
14
|
+
*
|
|
15
|
+
* @param response - The uWebSockets.js HTTP response object
|
|
16
|
+
* @param readableStream - The Node.js Readable stream to pipe (must not be in object mode)
|
|
17
|
+
* @param totalSize - The total size of the stream data in bytes
|
|
18
|
+
* @param logger - Optional logger for error logging
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const fileStream = fs.createReadStream('./video.mp4');
|
|
23
|
+
* const totalSize = fs.statSync('./video.mp4').size;
|
|
24
|
+
* pipeKnownSizeStreamOverResponse(response, fileStream, totalSize, undefined);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
function pipeKnownSizeStreamOverResponse(response, readableStream, totalSize, logger) {
|
|
28
|
+
let isStreamClosed = false;
|
|
29
|
+
let storedBuffer;
|
|
30
|
+
let storedOffset;
|
|
31
|
+
/**
|
|
32
|
+
* Clean up function called when the stream is aborted or finished
|
|
33
|
+
*/
|
|
34
|
+
const cleanup = () => {
|
|
35
|
+
if (!isStreamClosed) {
|
|
36
|
+
isStreamClosed = true;
|
|
37
|
+
readableStream.destroy();
|
|
38
|
+
storedBuffer = undefined;
|
|
39
|
+
storedOffset = undefined;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
// Handle response abortion (client disconnected)
|
|
43
|
+
response.onAborted(() => {
|
|
44
|
+
cleanup();
|
|
45
|
+
});
|
|
46
|
+
// Handle stream data chunks
|
|
47
|
+
readableStream.on('data', (chunk) => {
|
|
48
|
+
if (response[abortedSymbol_1.abortedSymbol] === true) {
|
|
49
|
+
cleanup();
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const arrayBuffer = (0, toArrayBuffer_1.toArrayBuffer)(chunk);
|
|
53
|
+
const lastOffset = response.getWriteOffset();
|
|
54
|
+
const [ok, done] = response.tryEnd(arrayBuffer, totalSize);
|
|
55
|
+
if (done) {
|
|
56
|
+
cleanup();
|
|
57
|
+
}
|
|
58
|
+
else if (!ok) {
|
|
59
|
+
readableStream.pause();
|
|
60
|
+
storedBuffer = arrayBuffer;
|
|
61
|
+
storedOffset = lastOffset;
|
|
62
|
+
response.onWritable((offset) => {
|
|
63
|
+
if (response[abortedSymbol_1.abortedSymbol] === true) {
|
|
64
|
+
cleanup();
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
if (storedBuffer === undefined || storedOffset === undefined) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
const [retryOk, retryDone] = response.tryEnd(storedBuffer.slice(offset - storedOffset), totalSize);
|
|
71
|
+
if (retryDone) {
|
|
72
|
+
cleanup();
|
|
73
|
+
}
|
|
74
|
+
else if (retryOk) {
|
|
75
|
+
readableStream.resume();
|
|
76
|
+
}
|
|
77
|
+
return retryOk;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
readableStream.on('error', (error) => {
|
|
82
|
+
logger?.error(error.stack ?? error.message);
|
|
83
|
+
cleanup();
|
|
84
|
+
if (response[abortedSymbol_1.abortedSymbol] !== true) {
|
|
85
|
+
response.cork(() => {
|
|
86
|
+
response.writeStatus('500');
|
|
87
|
+
response.end('Stream error occurred');
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
readableStream.on('end', () => {
|
|
92
|
+
cleanup();
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=pipeKnownSizeStreamOverResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeKnownSizeStreamOverResponse.js","sourceRoot":"","sources":["../../../src/actions/pipeKnownSizeStreamOverResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeKnownSizeStreamOverResponse.spec.d.ts","sourceRoot":"","sources":["../../../src/actions/pipeKnownSizeStreamOverResponse.spec.ts"],"names":[],"mappings":""}
|
|
@@ -9,17 +9,15 @@ import { HttpResponse } from 'uWebSockets.js';
|
|
|
9
9
|
* - Backpressure: Pauses the stream when the socket buffer is full
|
|
10
10
|
* - Abort handling: Cleans up resources when the client disconnects
|
|
11
11
|
* - Error handling: Catches stream errors and sends appropriate error responses
|
|
12
|
-
* - Object mode detection: Throws an error if the stream is in object mode
|
|
13
12
|
*
|
|
14
13
|
* @param response - The uWebSockets.js HTTP response object
|
|
15
14
|
* @param readableStream - The Node.js Readable stream to pipe (must not be in object mode)
|
|
16
|
-
* @param
|
|
17
|
-
* @throws {Error} If the stream is in object mode
|
|
15
|
+
* @param logger - Optional logger for error logging
|
|
18
16
|
*
|
|
19
17
|
* @example
|
|
20
18
|
* ```typescript
|
|
21
19
|
* const fileStream = fs.createReadStream('./video.mp4');
|
|
22
|
-
* pipeStreamOverResponse(response, fileStream,
|
|
20
|
+
* pipeStreamOverResponse(response, fileStream, undefined);
|
|
23
21
|
* ```
|
|
24
22
|
*/
|
|
25
23
|
export declare function pipeStreamOverResponse(response: HttpResponse, readableStream: Readable, logger: Logger | undefined): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeStreamOverResponse.d.ts","sourceRoot":"","sources":["../../../src/actions/pipeStreamOverResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C
|
|
1
|
+
{"version":3,"file":"pipeStreamOverResponse.d.ts","sourceRoot":"","sources":["../../../src/actions/pipeStreamOverResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,QAAQ,EACxB,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,IAAI,CAqFN"}
|
|
@@ -11,17 +11,15 @@ const abortedSymbol_1 = require("../data/abortedSymbol");
|
|
|
11
11
|
* - Backpressure: Pauses the stream when the socket buffer is full
|
|
12
12
|
* - Abort handling: Cleans up resources when the client disconnects
|
|
13
13
|
* - Error handling: Catches stream errors and sends appropriate error responses
|
|
14
|
-
* - Object mode detection: Throws an error if the stream is in object mode
|
|
15
14
|
*
|
|
16
15
|
* @param response - The uWebSockets.js HTTP response object
|
|
17
16
|
* @param readableStream - The Node.js Readable stream to pipe (must not be in object mode)
|
|
18
|
-
* @param
|
|
19
|
-
* @throws {Error} If the stream is in object mode
|
|
17
|
+
* @param logger - Optional logger for error logging
|
|
20
18
|
*
|
|
21
19
|
* @example
|
|
22
20
|
* ```typescript
|
|
23
21
|
* const fileStream = fs.createReadStream('./video.mp4');
|
|
24
|
-
* pipeStreamOverResponse(response, fileStream,
|
|
22
|
+
* pipeStreamOverResponse(response, fileStream, undefined);
|
|
25
23
|
* ```
|
|
26
24
|
*/
|
|
27
25
|
function pipeStreamOverResponse(response, readableStream, logger) {
|
|
@@ -51,11 +49,8 @@ function pipeStreamOverResponse(response, readableStream, logger) {
|
|
|
51
49
|
}
|
|
52
50
|
const arrayBuffer = (0, toArrayBuffer_1.toArrayBuffer)(chunk);
|
|
53
51
|
const lastOffset = response.getWriteOffset();
|
|
54
|
-
const
|
|
55
|
-
if (
|
|
56
|
-
cleanup();
|
|
57
|
-
}
|
|
58
|
-
else if (!ok) {
|
|
52
|
+
const ok = response.write(arrayBuffer);
|
|
53
|
+
if (!ok) {
|
|
59
54
|
readableStream.pause();
|
|
60
55
|
storedBuffer = arrayBuffer;
|
|
61
56
|
storedOffset = lastOffset;
|
|
@@ -67,11 +62,8 @@ function pipeStreamOverResponse(response, readableStream, logger) {
|
|
|
67
62
|
if (storedBuffer === undefined || storedOffset === undefined) {
|
|
68
63
|
return false;
|
|
69
64
|
}
|
|
70
|
-
const
|
|
71
|
-
if (
|
|
72
|
-
cleanup();
|
|
73
|
-
}
|
|
74
|
-
else if (retryOk) {
|
|
65
|
+
const retryOk = response.write(storedBuffer.slice(offset - storedOffset));
|
|
66
|
+
if (retryOk) {
|
|
75
67
|
readableStream.resume();
|
|
76
68
|
}
|
|
77
69
|
return retryOk;
|
|
@@ -90,6 +82,9 @@ function pipeStreamOverResponse(response, readableStream, logger) {
|
|
|
90
82
|
});
|
|
91
83
|
readableStream.on('end', () => {
|
|
92
84
|
cleanup();
|
|
85
|
+
if (response[abortedSymbol_1.abortedSymbol] !== true) {
|
|
86
|
+
response.end();
|
|
87
|
+
}
|
|
93
88
|
});
|
|
94
89
|
}
|
|
95
90
|
//# sourceMappingURL=pipeStreamOverResponse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeStreamOverResponse.js","sourceRoot":"","sources":["../../../src/actions/pipeStreamOverResponse.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pipeStreamOverResponse.js","sourceRoot":"","sources":["../../../src/actions/pipeStreamOverResponse.ts"],"names":[],"mappings":";;AA4BA,wDAyFC;AAhHD,iEAA8D;AAC9D,yDAAsD;AAGtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,sBAAsB,CACpC,QAAsB,EACtB,cAAwB,EACxB,MAA0B;IAE1B,IAAI,cAAc,GAAY,KAAK,CAAC;IACpC,IAAI,YAAqC,CAAC;IAC1C,IAAI,YAAgC,CAAC;IAErC;;OAEG;IACH,MAAM,OAAO,GAAe,GAAS,EAAE;QACrC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,GAAG,IAAI,CAAC;YACtB,cAAc,CAAC,OAAO,EAAE,CAAC;YACzB,YAAY,GAAG,SAAS,CAAC;YACzB,YAAY,GAAG,SAAS,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,iDAAiD;IACjD,QAAQ,CAAC,SAAS,CAAC,GAAS,EAAE;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAc,EAAQ,EAAE;QACjD,IAAK,QAA+B,CAAC,6BAAa,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7D,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAgB,IAAA,6BAAa,EAAC,KAAK,CAAC,CAAC;QAEtD,MAAM,UAAU,GAAW,QAAQ,CAAC,cAAc,EAAE,CAAC;QAErD,MAAM,EAAE,GAAY,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAEhD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,cAAc,CAAC,KAAK,EAAE,CAAC;YAEvB,YAAY,GAAG,WAAW,CAAC;YAC3B,YAAY,GAAG,UAAU,CAAC;YAE1B,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAc,EAAW,EAAE;gBAC9C,IAAK,QAA+B,CAAC,6BAAa,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC7D,OAAO,EAAE,CAAC;oBAEV,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC7D,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,MAAM,OAAO,GAAY,QAAQ,CAAC,KAAK,CACrC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,CAC1C,CAAC;gBAEF,IAAI,OAAO,EAAE,CAAC;oBACZ,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC1B,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAQ,EAAE;QAChD,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAE5C,OAAO,EAAE,CAAC;QAEV,IAAK,QAA+B,CAAC,6BAAa,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7D,QAAQ,CAAC,IAAI,CAAC,GAAS,EAAE;gBACvB,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5B,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,GAAS,EAAE;QAClC,OAAO,EAAE,CAAC;QAEV,IAAK,QAA+B,CAAC,6BAAa,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7D,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -11,12 +11,16 @@ export declare class InversifyUwebSocketsHttpAdapter extends InversifyHttpAdapte
|
|
|
11
11
|
protected _replyJson(_request: HttpRequest, response: HttpResponse, value?: object): void;
|
|
12
12
|
protected _replyText(_request: HttpRequest, response: HttpResponse, value?: string): void;
|
|
13
13
|
protected _replyStream(_request: HttpRequest, response: HttpResponse, stream: Readable): void;
|
|
14
|
+
protected _sendBodySeparator(_request: HttpRequest, _response: HttpResponse): void;
|
|
14
15
|
protected _setStatus(_request: HttpRequest, response: HttpResponse, statusCode: HttpStatusCode): void;
|
|
15
16
|
protected _setHeader(_request: HttpRequest, response: HttpResponse, key: string, value: string): void;
|
|
16
17
|
protected _getBody(request: HttpRequest, response: HttpResponse, parameterName?: string): Promise<unknown>;
|
|
17
|
-
protected _getParams(request: HttpRequest,
|
|
18
|
-
protected
|
|
19
|
-
protected
|
|
18
|
+
protected _getParams(request: HttpRequest): Record<string, string>;
|
|
19
|
+
protected _getParams(request: HttpRequest, parameterName: string): string | undefined;
|
|
20
|
+
protected _getQuery(request: HttpRequest): Record<string, unknown>;
|
|
21
|
+
protected _getQuery(request: HttpRequest, parameterName: string): unknown;
|
|
22
|
+
protected _getHeaders(request: HttpRequest): Record<string, string | string[] | undefined>;
|
|
23
|
+
protected _getHeaders(request: HttpRequest, parameterName: string): string | string[] | undefined;
|
|
20
24
|
protected _getCookies(request: HttpRequest, _response: HttpResponse, parameterName?: string): unknown;
|
|
21
25
|
}
|
|
22
26
|
//# sourceMappingURL=InversifyUwebSocketsHttpAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InversifyUwebSocketsHttpAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapter/InversifyUwebSocketsHttpAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAGL,cAAc,EACd,oBAAoB,EAIpB,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAGL,WAAW,EACX,YAAY,EAEZ,YAAY,EACb,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAExF,qBAAa,+BAAgC,SAAQ,oBAAoB,CACvE,WAAW,EACX,YAAY,EACZ,MAAM,IAAI,EACV,IAAI,EACJ,6BAA6B,CAC9B;;gBAIG,SAAS,EAAE,SAAS,EACpB,kBAAkB,CAAC,EAAE,6BAA6B,EAClD,SAAS,CAAC,EAAE,YAAY;IAcb,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;IAM3C,SAAS,CAAC,YAAY,CACpB,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,IAAI,EAAE,IAAI,CAAC,GACtE,IAAI;IAoCP,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAQP,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAQP,SAAS,CAAC,YAAY,CACpB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,QAAQ,GACf,IAAI;IAQP,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,cAAc,GACzB,IAAI;IAMP,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,IAAI;cAMS,QAAQ,CACtB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,YAAY,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC;IAgBnB,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"InversifyUwebSocketsHttpAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapter/InversifyUwebSocketsHttpAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAGL,cAAc,EACd,oBAAoB,EAIpB,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAGL,WAAW,EACX,YAAY,EAEZ,YAAY,EACb,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAExF,qBAAa,+BAAgC,SAAQ,oBAAoB,CACvE,WAAW,EACX,YAAY,EACZ,MAAM,IAAI,EACV,IAAI,EACJ,6BAA6B,CAC9B;;gBAIG,SAAS,EAAE,SAAS,EACpB,kBAAkB,CAAC,EAAE,6BAA6B,EAClD,SAAS,CAAC,EAAE,YAAY;IAcb,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;IAM3C,SAAS,CAAC,YAAY,CACpB,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,IAAI,EAAE,IAAI,CAAC,GACtE,IAAI;IAoCP,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAQP,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAQP,SAAS,CAAC,YAAY,CACpB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,QAAQ,GACf,IAAI;IAQP,SAAS,CAAC,kBAAkB,CAC1B,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAE,YAAY,GACtB,IAAI;IAaP,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,cAAc,GACzB,IAAI;IAMP,SAAS,CAAC,UAAU,CAClB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,IAAI;cAMS,QAAQ,CACtB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,YAAY,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC;IAgBnB,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAClE,SAAS,CAAC,UAAU,CAClB,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS;IAcrB,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO;IAOzE,SAAS,CAAC,WAAW,CACnB,OAAO,EAAE,WAAW,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,WAAW,CACnB,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAchC,SAAS,CAAC,WAAW,CACnB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,YAAY,EACvB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO;CA+KX"}
|
|
@@ -52,6 +52,16 @@ class InversifyUwebSocketsHttpAdapter extends http_core_1.InversifyHttpAdapter {
|
|
|
52
52
|
_replyStream(_request, response, stream) {
|
|
53
53
|
(0, pipeStreamOverResponse_1.pipeStreamOverResponse)(response, stream, this.httpAdapterOptions.logger === false ? undefined : this._logger);
|
|
54
54
|
}
|
|
55
|
+
_sendBodySeparator(_request, _response) {
|
|
56
|
+
/*
|
|
57
|
+
* Once https://github.com/uNetworking/uWebSockets/pull/1897 is merged and released,
|
|
58
|
+
* we can implement this method to use `response.beginWrite()`.
|
|
59
|
+
* For now, we log a warning if logger is enabled.
|
|
60
|
+
*/
|
|
61
|
+
if (this.httpAdapterOptions.logger !== false) {
|
|
62
|
+
this._logger.warn('Unable to send body separator, raw response is not defined. Headers will be delivered with the first chunk of the body.');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
55
65
|
_setStatus(_request, response, statusCode) {
|
|
56
66
|
response.cork(() => {
|
|
57
67
|
response.writeStatus(statusCode.toString());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InversifyUwebSocketsHttpAdapter.js","sourceRoot":"","sources":["../../../src/adapter/InversifyUwebSocketsHttpAdapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"InversifyUwebSocketsHttpAdapter.js","sourceRoot":"","sources":["../../../src/adapter/InversifyUwebSocketsHttpAdapter.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { pipeKnownSizeStreamOverResponse } from './actions/pipeKnownSizeStreamOverResponse';
|
|
1
2
|
export { InversifyUwebSocketsHttpAdapter } from './adapter/InversifyUwebSocketsHttpAdapter';
|
|
2
3
|
export type { UwebSocketsErrorFilter } from './models/UwebSocketsErrorFilter';
|
|
3
4
|
export type { UwebSocketsGuard } from './models/UwebSocketsGuard';
|
package/lib/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AAC5F,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAE5F,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AAC5F,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InversifyUwebSocketsHttpAdapter = void 0;
|
|
3
|
+
exports.InversifyUwebSocketsHttpAdapter = exports.pipeKnownSizeStreamOverResponse = void 0;
|
|
4
|
+
var pipeKnownSizeStreamOverResponse_1 = require("./actions/pipeKnownSizeStreamOverResponse");
|
|
5
|
+
Object.defineProperty(exports, "pipeKnownSizeStreamOverResponse", { enumerable: true, get: function () { return pipeKnownSizeStreamOverResponse_1.pipeKnownSizeStreamOverResponse; } });
|
|
4
6
|
var InversifyUwebSocketsHttpAdapter_1 = require("./adapter/InversifyUwebSocketsHttpAdapter");
|
|
5
7
|
Object.defineProperty(exports, "InversifyUwebSocketsHttpAdapter", { enumerable: true, get: function () { return InversifyUwebSocketsHttpAdapter_1.InversifyUwebSocketsHttpAdapter; } });
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6FAA4F;AAAnF,kJAAA,+BAA+B,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6FAA4F;AAAnF,kJAAA,+BAA+B,OAAA;AACxC,6FAA4F;AAAnF,kJAAA,+BAA+B,OAAA"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
import { Readable } from 'node:stream';
|
|
2
|
+
import { Logger } from '@inversifyjs/logger';
|
|
3
|
+
import { HttpResponse, HttpRequest, TemplatedApp } from 'uWebSockets.js';
|
|
2
4
|
import { HttpAdapterOptions, InversifyHttpAdapter, RouterParams, HttpStatusCode, ErrorFilter, Guard, Interceptor, Middleware } from '@inversifyjs/http-core';
|
|
3
5
|
import { Container } from 'inversify';
|
|
4
|
-
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Pipes a Node.js Readable stream over a uWebSockets.js HTTP response with proper
|
|
9
|
+
* backpressure handling and error management.
|
|
10
|
+
*
|
|
11
|
+
* This function handles:
|
|
12
|
+
* - Backpressure: Pauses the stream when the socket buffer is full
|
|
13
|
+
* - Abort handling: Cleans up resources when the client disconnects
|
|
14
|
+
* - Error handling: Catches stream errors and sends appropriate error responses
|
|
15
|
+
*
|
|
16
|
+
* @param response - The uWebSockets.js HTTP response object
|
|
17
|
+
* @param readableStream - The Node.js Readable stream to pipe (must not be in object mode)
|
|
18
|
+
* @param totalSize - The total size of the stream data in bytes
|
|
19
|
+
* @param logger - Optional logger for error logging
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const fileStream = fs.createReadStream('./video.mp4');
|
|
24
|
+
* const totalSize = fs.statSync('./video.mp4').size;
|
|
25
|
+
* pipeKnownSizeStreamOverResponse(response, fileStream, totalSize, undefined);
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
declare function pipeKnownSizeStreamOverResponse(response: HttpResponse, readableStream: Readable, totalSize: number, logger: Logger | undefined): void;
|
|
5
29
|
|
|
6
30
|
type UwebSocketsHttpAdapterOptions = HttpAdapterOptions;
|
|
7
31
|
|
|
@@ -13,12 +37,16 @@ declare class InversifyUwebSocketsHttpAdapter extends InversifyHttpAdapter<HttpR
|
|
|
13
37
|
protected _replyJson(_request: HttpRequest, response: HttpResponse, value?: object): void;
|
|
14
38
|
protected _replyText(_request: HttpRequest, response: HttpResponse, value?: string): void;
|
|
15
39
|
protected _replyStream(_request: HttpRequest, response: HttpResponse, stream: Readable): void;
|
|
40
|
+
protected _sendBodySeparator(_request: HttpRequest, _response: HttpResponse): void;
|
|
16
41
|
protected _setStatus(_request: HttpRequest, response: HttpResponse, statusCode: HttpStatusCode): void;
|
|
17
42
|
protected _setHeader(_request: HttpRequest, response: HttpResponse, key: string, value: string): void;
|
|
18
43
|
protected _getBody(request: HttpRequest, response: HttpResponse, parameterName?: string): Promise<unknown>;
|
|
19
|
-
protected _getParams(request: HttpRequest,
|
|
20
|
-
protected
|
|
21
|
-
protected
|
|
44
|
+
protected _getParams(request: HttpRequest): Record<string, string>;
|
|
45
|
+
protected _getParams(request: HttpRequest, parameterName: string): string | undefined;
|
|
46
|
+
protected _getQuery(request: HttpRequest): Record<string, unknown>;
|
|
47
|
+
protected _getQuery(request: HttpRequest, parameterName: string): unknown;
|
|
48
|
+
protected _getHeaders(request: HttpRequest): Record<string, string | string[] | undefined>;
|
|
49
|
+
protected _getHeaders(request: HttpRequest, parameterName: string): string | string[] | undefined;
|
|
22
50
|
protected _getCookies(request: HttpRequest, _response: HttpResponse, parameterName?: string): unknown;
|
|
23
51
|
}
|
|
24
52
|
|
|
@@ -30,5 +58,5 @@ type UwebSocketsInterceptor = Interceptor<HttpRequest, HttpResponse>;
|
|
|
30
58
|
|
|
31
59
|
type UwebSocketsMiddleware = Middleware<HttpRequest, HttpResponse, () => void, void>;
|
|
32
60
|
|
|
33
|
-
export { InversifyUwebSocketsHttpAdapter };
|
|
61
|
+
export { InversifyUwebSocketsHttpAdapter, pipeKnownSizeStreamOverResponse };
|
|
34
62
|
export type { UwebSocketsErrorFilter, UwebSocketsGuard, UwebSocketsHttpAdapterOptions, UwebSocketsInterceptor, UwebSocketsMiddleware };
|
package/lib/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AAC5F,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAE5F,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AAC5F,YAAY,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{InversifyHttpAdapter as
|
|
1
|
+
import{Buffer as e}from"node:buffer";import{InversifyHttpAdapter as r,RequestMethodParameterType as t,buildNormalizedPath as o,handleMiddlewareList as s,RequestMethodType as n}from"@inversifyjs/http-core";import{App as i,getParts as a}from"uWebSockets.js";function d(r){const t="string"==typeof r?e.from(r):e.isBuffer(r)?r:e.from(r.toString()),o=t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);if(o instanceof SharedArrayBuffer){const e=new ArrayBuffer(o.byteLength);return new Uint8Array(e).set(new Uint8Array(o)),e}return o}const p=Symbol.for("aborted");function u(e,r,t,o){let s,n,i=!1;const a=()=>{i||(i=!0,r.destroy(),s=void 0,n=void 0)};e.onAborted(()=>{a()}),r.on("data",o=>{if(!0===e[p])return void a();const i=d(o),u=e.getWriteOffset(),[c,f]=e.tryEnd(i,t);f?a():c||(r.pause(),s=i,n=u,e.onWritable(o=>{if(!0===e[p])return a(),!1;if(void 0===s||void 0===n)return!1;const[i,d]=e.tryEnd(s.slice(o-n),t);return d?a():i&&r.resume(),i}))}),r.on("error",r=>{o?.error(r.stack??r.message),a(),!0!==e[p]&&e.cork(()=>{e.writeStatus("500"),e.end("Stream error occurred")})}),r.on("end",()=>{a()})}class c extends r{#e;constructor(e,r,o){super(e,{logger:!0},r,[t.Body]),this.#e=o??this.#r()}async build(){return await this._buildServer(),this.#e}_buildRouter(e){for(const r of e.routeParamsList){const t=[...r.preHandlerMiddlewareList,...r.guardList,r.handler,...r.postHandlerMiddlewareList],n=o(`${e.path}${r.path}`),i=s(t);this.#t(r.requestMethodType)(n,async(e,r)=>{e.onAborted(()=>{e[p]=!0}),await i(r,e)})}}_replyJson(e,r,t){!0!==r[p]&&r.cork(()=>{r.end(JSON.stringify(t))})}_replyText(e,r,t){!0!==r[p]&&r.cork(()=>{r.end(t)})}_replyStream(e,r,t){!function(e,r,t){let o,s,n=!1;const i=()=>{n||(n=!0,r.destroy(),o=void 0,s=void 0)};e.onAborted(()=>{i()}),r.on("data",t=>{if(!0===e[p])return void i();const n=d(t),a=e.getWriteOffset();e.write(n)||(r.pause(),o=n,s=a,e.onWritable(t=>{if(!0===e[p])return i(),!1;if(void 0===o||void 0===s)return!1;const n=e.write(o.slice(t-s));return n&&r.resume(),n}))}),r.on("error",r=>{t?.error(r.stack??r.message),i(),!0!==e[p]&&e.cork(()=>{e.writeStatus("500"),e.end("Stream error occurred")})}),r.on("end",()=>{i(),!0!==e[p]&&e.end()})}(r,t,!1===this.httpAdapterOptions.logger?void 0:this._logger)}_sendBodySeparator(e,r){!1!==this.httpAdapterOptions.logger&&this._logger.warn("Unable to send body separator, raw response is not defined. Headers will be delivered with the first chunk of the body.")}_setStatus(e,r,t){r.cork(()=>{r.writeStatus(t.toString())})}_setHeader(e,r,t,o){r.cork(()=>{r.writeHeader(t,o)})}async _getBody(e,r,t){const o=e.getHeader("content-type"),s=await this.#o(o,r);if(void 0===t)return s;if(!(t in s))throw new Error(`Body parameter '${t}' not found.`);return s[t]}_getParams(e,r){if(void 0===r)throw new Error("Getting all route parameters is not supported in uWebSockets.js adapter.");return e.getParameter(r)}_getQuery(e,r){return void 0===r?this.#s(e):e.getQuery(r)}_getHeaders(e,r){return void 0===r?this.#n(e):e.getHeader(r)}_getCookies(e,r,t){const o=this.#i(e);return void 0===t?o:o[t]}#r(){return i()}#t(e){switch(e){case n.All:return this.#e.any.bind(this.#e);case n.Delete:return this.#e.del.bind(this.#e);case n.Get:return this.#e.get.bind(this.#e);case n.Head:return this.#e.head.bind(this.#e);case n.Options:return this.#e.options.bind(this.#e);case n.Patch:return this.#e.patch.bind(this.#e);case n.Post:return this.#e.post.bind(this.#e);case n.Put:return this.#e.put.bind(this.#e)}}async#o(e,r){return new Promise((t,o)=>{const s=[];let n=0;r.onAborted(()=>{o(new Error("Request aborted"))}),r.onData((r,i)=>{const a=Buffer.from(r);if(s.push(a),n+=a.length,i){const r=Buffer.concat(s,n);try{t(this.#a(e,r))}catch(e){o(new Error("Failed to parse request body",{cause:e}))}}})})}#d(e){const[r]=e.split(";");if(void 0===r)return r;const t=r.trim().toLowerCase();return""===t?void 0:t}#a(e,r){switch(this.#d(e)){case"application/json":return JSON.parse(r.toString());case"application/x-www-form-urlencoded":return this.#p(r.toString());case"multipart/form-data":return a(r,e);default:return r.toString()}}#i(e){const r=e.getHeader("cookie");if(""===r)return{};const t={};for(const e of r.split(";")){const[r,...o]=e.split("="),s=o.join("=").trim();void 0!==r&&(t[r.trim()]=decodeURIComponent(s))}return t}#n(e){const r={};return e.forEach((e,t)=>{r[e]=t}),r}#s(e){const r=new URLSearchParams(e.getQuery()).entries(),t={};for(const[e,o]of r)void 0!==t[e]?Array.isArray(t[e])?t[e].push(o):t[e]=[t[e],o]:t[e]=o;return t}#p(e){const r=new URLSearchParams(e),t={};return r.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}}export{c as InversifyUwebSocketsHttpAdapter,u as pipeKnownSizeStreamOverResponse};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/data/abortedSymbol.ts","../../src/actions/
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/calculations/toArrayBuffer.ts","../../src/data/abortedSymbol.ts","../../src/actions/pipeKnownSizeStreamOverResponse.ts","../../src/adapter/InversifyUwebSocketsHttpAdapter.ts","../../src/actions/pipeStreamOverResponse.ts"],"sourcesContent":[null,null,null,null,null],"names":["toArrayBuffer","chunk","buffer","Buffer","from","isBuffer","toString","arrayBuffer","slice","byteOffset","byteLength","SharedArrayBuffer","newArrayBuffer","ArrayBuffer","Uint8Array","set","abortedSymbol","Symbol","for","pipeKnownSizeStreamOverResponse","response","readableStream","totalSize","logger","storedBuffer","storedOffset","isStreamClosed","cleanup","destroy","undefined","onAborted","on","lastOffset","getWriteOffset","ok","done","tryEnd","pause","onWritable","offset","retryOk","retryDone","resume","error","stack","message","cork","writeStatus","end","InversifyUwebSocketsHttpAdapter","InversifyHttpAdapter","app","constructor","container","httpAdapterOptions","customApp","super","RequestMethodParameterType","Body","this","buildDefaultApp","build","_buildServer","_buildRouter","routerParams","routeParams","routeParamsList","orderedHandlers","preHandlerMiddlewareList","guardList","handler","postHandlerMiddlewareList","routePath","buildNormalizedPath","path","handleMiddlewares","handleMiddlewareList","getAppRouteHandler","requestMethodType","async","res","req","_replyJson","_request","value","JSON","stringify","_replyText","_replyStream","stream","write","pipeStreamOverResponse","_logger","_sendBodySeparator","_response","warn","_setStatus","statusCode","_setHeader","key","writeHeader","_getBody","request","parameterName","contentTypeHeader","getHeader","body","parseBody","Error","_getParams","getParameter","_getQuery","parseQuery","getQuery","_getHeaders","parseHeaders","_getCookies","cookies","parseCookies","App","RequestMethodType","All","any","bind","Delete","del","Get","get","Head","head","Options","options","Patch","patch","Post","post","Put","put","Promise","resolve","reject","chunks","totalLength","onData","isLast","curBuf","push","length","concat","parseStringifiedBody","cause","parseContentType","contentType","split","normalizedContentType","trim","toLowerCase","parse","parseUrlEncodedBody","getParts","cookieHeader","cookie","name","rest","join","decodeURIComponent","headers","forEach","queryEntries","URLSearchParams","entries","result","Array","isArray","stringifiedBody","urlSearchParams","parsedBody"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -6,18 +6,18 @@
|
|
|
6
6
|
"description": "InversifyJs http express package",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.55.0",
|
|
9
|
-
"@inversifyjs/http-core": "4.
|
|
9
|
+
"@inversifyjs/http-core": "4.6.0"
|
|
10
10
|
},
|
|
11
11
|
"devDependencies": {
|
|
12
|
-
"@stryker-mutator/core": "9.
|
|
13
|
-
"@stryker-mutator/vitest-runner": "9.
|
|
14
|
-
"@stryker-mutator/typescript-checker": "9.
|
|
12
|
+
"@stryker-mutator/core": "9.4.0",
|
|
13
|
+
"@stryker-mutator/vitest-runner": "9.4.0",
|
|
14
|
+
"@stryker-mutator/typescript-checker": "9.4.0",
|
|
15
15
|
"@types/node": "24.10.1",
|
|
16
16
|
"@vitest/coverage-v8": "4.0.10",
|
|
17
17
|
"eslint": "9.39.1",
|
|
18
18
|
"prettier": "3.6.2",
|
|
19
|
-
"rimraf": "6.1.
|
|
20
|
-
"rollup": "4.53.
|
|
19
|
+
"rimraf": "6.1.2",
|
|
20
|
+
"rollup": "4.53.3",
|
|
21
21
|
"ts-loader": "9.5.4",
|
|
22
22
|
"tslib": "2.8.1",
|
|
23
23
|
"typescript": "5.9.3",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"type": "git",
|
|
60
60
|
"url": "git+https://github.com/inversify/monorepo.git"
|
|
61
61
|
},
|
|
62
|
-
"version": "4.
|
|
62
|
+
"version": "4.6.0",
|
|
63
63
|
"scripts": {
|
|
64
64
|
"build": "pnpm run build:cjs && pnpm run build:esm",
|
|
65
65
|
"build:cjs": "tsc --build tsconfig.cjs.json && pnpm exec foundation-ts-package-cjs ./lib/cjs",
|