@dooboostore/simple-boot-http-server 1.0.33 → 1.0.35
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/README.md +34 -0
- package/dist/cjs/SimpleBootHttpServer.js +29 -6
- package/dist/cjs/SimpleBootHttpServer.js.map +2 -2
- package/dist/cjs/models/RequestResponse.js +38 -23
- package/dist/cjs/models/RequestResponse.js.map +2 -2
- package/dist/esm/SimpleBootHttpServer.js +29 -6
- package/dist/esm/SimpleBootHttpServer.js.map +2 -2
- package/dist/esm/models/RequestResponse.js +38 -23
- package/dist/esm/models/RequestResponse.js.map +2 -2
- package/dist/esm-bundle/dooboostore-simple-boot-http-server.esm.js +68 -30
- package/dist/esm-bundle/dooboostore-simple-boot-http-server.esm.js.map +2 -2
- package/dist/types/SimpleBootHttpServer.d.ts +8 -0
- package/dist/types/SimpleBootHttpServer.d.ts.map +1 -1
- package/dist/types/models/RequestResponse.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-simple-boot-http-server.umd.js +68 -30
- package/dist/umd-bundle/dooboostore-simple-boot-http-server.umd.js.map +2 -2
- package/package.json +11 -9
- package/src/SimpleBootHttpServer.ts +36 -6
- package/src/models/RequestResponse.ts +58 -24
|
@@ -10,6 +10,14 @@ export declare class SimpleBootHttpServer extends SimpleApplication {
|
|
|
10
10
|
private sessionManager;
|
|
11
11
|
private webSocketClients;
|
|
12
12
|
constructor(option?: HttpServerOption);
|
|
13
|
+
/**
|
|
14
|
+
* Final response flush that can never escape as an unhandled rejection.
|
|
15
|
+
* When the response is already gone (sent, closed, or destroyed mid-write),
|
|
16
|
+
* there is nobody left to send to, so gone-response write errors
|
|
17
|
+
* (ERR_HTTP_HEADERS_SENT, ERR_STREAM_ALREADY_FINISHED,
|
|
18
|
+
* ERR_STREAM_DESTROYED, ECONNRESET) are swallowed; anything else still throws.
|
|
19
|
+
*/
|
|
20
|
+
private safeResEnd;
|
|
13
21
|
run(otherInstanceSim?: Map<ConstructorType<any> | Function | SimConfig | symbol, any>): this;
|
|
14
22
|
private startServer;
|
|
15
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleBootHttpServer.d.ts","sourceRoot":"","sources":["../../src/SimpleBootHttpServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAkB,MAAM,IAAI,UAAU,EAAiB,MAAM,MAAM,CAAA;AAC1E,OAAO,EAAC,MAAM,IAAI,WAAW,EAAC,MAAM,OAAO,CAAC;AA4B5C,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAInD,qBAAa,oBAAqB,SAAQ,iBAAiB;IAKtC,MAAM,EAAE,gBAAgB;IAJpC,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAAsD;gBAE3D,MAAM,GAAE,gBAAyC;
|
|
1
|
+
{"version":3,"file":"SimpleBootHttpServer.d.ts","sourceRoot":"","sources":["../../src/SimpleBootHttpServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAkB,MAAM,IAAI,UAAU,EAAiB,MAAM,MAAM,CAAA;AAC1E,OAAO,EAAC,MAAM,IAAI,WAAW,EAAC,MAAM,OAAO,CAAC;AA4B5C,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAInD,qBAAa,oBAAqB,SAAQ,iBAAiB;IAKtC,MAAM,EAAE,gBAAgB;IAJpC,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAAsD;gBAE3D,MAAM,GAAE,gBAAyC;IAKpE;;;;;;OAMG;YACW,UAAU;IAejB,GAAG,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,CAAC;IAW5F,OAAO,CAAC,WAAW;CA4YpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestResponse.d.ts","sourceRoot":"","sources":["../../../src/models/RequestResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"RequestResponse.d.ts","sourceRoot":"","sources":["../../../src/models/RequestResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -28715,6 +28715,7 @@ Content-Length: ${body.length}\r
|
|
|
28715
28715
|
var import_node_gzip = __toESM(require_dist(), 1);
|
|
28716
28716
|
var import_zlib = __require("zlib");
|
|
28717
28717
|
var import_node_buffer2 = __require("node:buffer");
|
|
28718
|
+
var resEndingSet = /* @__PURE__ */ new WeakSet();
|
|
28718
28719
|
var RequestResponse = class _RequestResponse {
|
|
28719
28720
|
constructor(req, res, config) {
|
|
28720
28721
|
// [아키텍트님의 정석] RequestResponse 객체 고유의 속성 저장소 (트랜잭션 생명주기)
|
|
@@ -29091,6 +29092,9 @@ Content-Length: ${body.length}\r
|
|
|
29091
29092
|
return this.createRequestResponseChain(this.res.statusCode);
|
|
29092
29093
|
}
|
|
29093
29094
|
resWrite(chunk, encoding = "utf8") {
|
|
29095
|
+
if (chunk === void 0) {
|
|
29096
|
+
return this.createRequestResponseChain(this.resWriteChunk);
|
|
29097
|
+
}
|
|
29094
29098
|
this.resWriteChunk = chunk;
|
|
29095
29099
|
return this.createRequestResponseChain(this.resWriteChunk);
|
|
29096
29100
|
}
|
|
@@ -29125,31 +29129,42 @@ Content-Length: ${body.length}\r
|
|
|
29125
29129
|
this.res.end(data);
|
|
29126
29130
|
}
|
|
29127
29131
|
async resEnd(chunk) {
|
|
29128
|
-
if (
|
|
29129
|
-
|
|
29130
|
-
this.res.setHeader(`ORIGIN-${key}`, value);
|
|
29131
|
-
});
|
|
29132
|
-
if (!this.resHeader(HttpHeaders.ContentType)) {
|
|
29133
|
-
const contentType = chunk.headers.get(HttpHeaders.ContentType);
|
|
29134
|
-
if (contentType) this.res.setHeader(HttpHeaders.ContentType, contentType);
|
|
29135
|
-
}
|
|
29136
|
-
this.res.statusCode = chunk.status;
|
|
29137
|
-
this.resWriteChunk = import_buffer.Buffer.from(await chunk.arrayBuffer());
|
|
29138
|
-
} else if (chunk instanceof import_node_buffer2.Blob) {
|
|
29139
|
-
this.resWriteChunk = import_buffer.Buffer.from(await chunk.arrayBuffer());
|
|
29140
|
-
if (!this.resHeader(HttpHeaders.ContentType)) {
|
|
29141
|
-
this.res.setHeader(HttpHeaders.ContentType, chunk.type);
|
|
29142
|
-
}
|
|
29143
|
-
} else if (chunk instanceof ArrayBuffer) {
|
|
29144
|
-
this.resWriteChunk = import_buffer.Buffer.from(chunk);
|
|
29145
|
-
} else {
|
|
29146
|
-
this.resWriteChunk = chunk ?? this.resWriteChunk;
|
|
29132
|
+
if (resEndingSet.has(this.res) || this.resIsDone()) {
|
|
29133
|
+
return;
|
|
29147
29134
|
}
|
|
29148
|
-
|
|
29149
|
-
|
|
29150
|
-
|
|
29151
|
-
|
|
29152
|
-
|
|
29135
|
+
resEndingSet.add(this.res);
|
|
29136
|
+
try {
|
|
29137
|
+
if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView(chunk) && !import_buffer.Buffer.isBuffer(chunk)) {
|
|
29138
|
+
const view = chunk;
|
|
29139
|
+
this.resWriteChunk = import_buffer.Buffer.from(view.buffer, view.byteOffset, view.byteLength);
|
|
29140
|
+
} else if (chunk instanceof Response) {
|
|
29141
|
+
chunk.headers.forEach((value, key) => {
|
|
29142
|
+
this.res.setHeader(`ORIGIN-${key}`, value);
|
|
29143
|
+
});
|
|
29144
|
+
if (!this.resHeader(HttpHeaders.ContentType)) {
|
|
29145
|
+
const contentType = chunk.headers.get(HttpHeaders.ContentType);
|
|
29146
|
+
if (contentType) this.res.setHeader(HttpHeaders.ContentType, contentType);
|
|
29147
|
+
}
|
|
29148
|
+
this.res.statusCode = chunk.status;
|
|
29149
|
+
this.resWriteChunk = import_buffer.Buffer.from(await chunk.arrayBuffer());
|
|
29150
|
+
} else if (chunk instanceof import_node_buffer2.Blob) {
|
|
29151
|
+
this.resWriteChunk = import_buffer.Buffer.from(await chunk.arrayBuffer());
|
|
29152
|
+
if (!this.resHeader(HttpHeaders.ContentType)) {
|
|
29153
|
+
this.res.setHeader(HttpHeaders.ContentType, chunk.type);
|
|
29154
|
+
}
|
|
29155
|
+
} else if (chunk instanceof ArrayBuffer) {
|
|
29156
|
+
this.resWriteChunk = import_buffer.Buffer.from(chunk);
|
|
29157
|
+
} else {
|
|
29158
|
+
this.resWriteChunk = chunk ?? this.resWriteChunk;
|
|
29159
|
+
}
|
|
29160
|
+
if (this.req.readable) {
|
|
29161
|
+
await this.reqBodyData();
|
|
29162
|
+
await this.resEndChunk();
|
|
29163
|
+
} else {
|
|
29164
|
+
await this.resEndChunk();
|
|
29165
|
+
}
|
|
29166
|
+
} finally {
|
|
29167
|
+
resEndingSet.delete(this.res);
|
|
29153
29168
|
}
|
|
29154
29169
|
}
|
|
29155
29170
|
resRedirect(statusCode, location) {
|
|
@@ -29482,6 +29497,26 @@ Content-Length: ${body.length}\r
|
|
|
29482
29497
|
this.webSocketClients = /* @__PURE__ */ new Map();
|
|
29483
29498
|
this.sessionManager = new SessionManager(this.option);
|
|
29484
29499
|
}
|
|
29500
|
+
/**
|
|
29501
|
+
* Final response flush that can never escape as an unhandled rejection.
|
|
29502
|
+
* When the response is already gone (sent, closed, or destroyed mid-write),
|
|
29503
|
+
* there is nobody left to send to, so gone-response write errors
|
|
29504
|
+
* (ERR_HTTP_HEADERS_SENT, ERR_STREAM_ALREADY_FINISHED,
|
|
29505
|
+
* ERR_STREAM_DESTROYED, ECONNRESET) are swallowed; anything else still throws.
|
|
29506
|
+
*/
|
|
29507
|
+
async safeResEnd(rr) {
|
|
29508
|
+
if (rr.resIsDone()) {
|
|
29509
|
+
return;
|
|
29510
|
+
}
|
|
29511
|
+
try {
|
|
29512
|
+
await rr.resEnd();
|
|
29513
|
+
} catch (e) {
|
|
29514
|
+
const code = e && (e.code || "");
|
|
29515
|
+
if (code !== "ERR_HTTP_HEADERS_SENT" && code !== "ERR_STREAM_ALREADY_FINISHED" && code !== "ERR_STREAM_DESTROYED" && code !== "ECONNRESET") {
|
|
29516
|
+
throw e;
|
|
29517
|
+
}
|
|
29518
|
+
}
|
|
29519
|
+
}
|
|
29485
29520
|
run(otherInstanceSim) {
|
|
29486
29521
|
otherInstanceSim ??= /* @__PURE__ */ new Map();
|
|
29487
29522
|
otherInstanceSim.set(_SimpleBootHttpServer, this);
|
|
@@ -29524,7 +29559,7 @@ Content-Length: ${body.length}\r
|
|
|
29524
29559
|
}
|
|
29525
29560
|
}
|
|
29526
29561
|
if (!rr.resIsDone()) {
|
|
29527
|
-
|
|
29562
|
+
await this.safeResEnd(rr);
|
|
29528
29563
|
}
|
|
29529
29564
|
});
|
|
29530
29565
|
res.on("error", async () => {
|
|
@@ -29541,7 +29576,7 @@ Content-Length: ${body.length}\r
|
|
|
29541
29576
|
}
|
|
29542
29577
|
}
|
|
29543
29578
|
if (!rr.resIsDone()) {
|
|
29544
|
-
|
|
29579
|
+
await this.safeResEnd(rr);
|
|
29545
29580
|
}
|
|
29546
29581
|
});
|
|
29547
29582
|
const rr = new RequestResponse(req, res, { sessionManager: this.sessionManager, option: this.option });
|
|
@@ -29736,14 +29771,15 @@ Content-Length: ${body.length}\r
|
|
|
29736
29771
|
headers[HttpHeaders.ContentType] = contentType;
|
|
29737
29772
|
}
|
|
29738
29773
|
rr.resSetHeaders(headers);
|
|
29739
|
-
|
|
29774
|
+
if (resConfig?.status !== void 0) {
|
|
29775
|
+
rr.resSetStatusCode(resConfig.status);
|
|
29776
|
+
}
|
|
29740
29777
|
await rr.resStream(data, { compress: stream?.compress });
|
|
29741
29778
|
} else {
|
|
29742
29779
|
if (it.config?.resolver) {
|
|
29743
29780
|
const execute = typeof it.config.resolver === "function" ? this.simstanceManager.getOrNewSim({ target: it.config.resolver }) : it.config.resolver;
|
|
29744
29781
|
data = await execute?.resolve?.(data, rr, resConfig);
|
|
29745
29782
|
}
|
|
29746
|
-
const status = resConfig?.status ?? 200 /* Ok */;
|
|
29747
29783
|
const headers = resConfig?.header ?? {};
|
|
29748
29784
|
if (resConfig?.contentType) {
|
|
29749
29785
|
headers[HttpHeaders.ContentType] = resConfig.contentType;
|
|
@@ -29754,7 +29790,9 @@ Content-Length: ${body.length}\r
|
|
|
29754
29790
|
data = JSON.stringify(data);
|
|
29755
29791
|
}
|
|
29756
29792
|
rr.resSetHeaders(headers);
|
|
29757
|
-
|
|
29793
|
+
if (resConfig?.status !== void 0) {
|
|
29794
|
+
rr.resSetStatusCode(resConfig.status);
|
|
29795
|
+
}
|
|
29758
29796
|
rr.resWrite(data);
|
|
29759
29797
|
}
|
|
29760
29798
|
}
|
|
@@ -29796,7 +29834,7 @@ Content-Length: ${body.length}\r
|
|
|
29796
29834
|
transactionManager?.finally();
|
|
29797
29835
|
}
|
|
29798
29836
|
if (!rr.resIsDone()) {
|
|
29799
|
-
|
|
29837
|
+
await this.safeResEnd(rr);
|
|
29800
29838
|
}
|
|
29801
29839
|
});
|
|
29802
29840
|
if (this.option.webSocketEndPoints) {
|