@hono/node-server 1.18.0 → 1.18.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/dist/globals.d.mts +1 -1
- package/dist/globals.d.ts +1 -1
- package/dist/index.js +25 -22
- package/dist/index.mjs +25 -22
- package/dist/listener.js +25 -22
- package/dist/listener.mjs +25 -22
- package/dist/request.d.mts +1 -1
- package/dist/request.d.ts +1 -1
- package/dist/response.d.mts +1 -1
- package/dist/response.d.ts +1 -1
- package/dist/serve-static.d.mts +1 -1
- package/dist/serve-static.d.ts +1 -1
- package/dist/server.js +25 -22
- package/dist/server.mjs +25 -22
- package/dist/types.d.mts +3 -3
- package/dist/types.d.ts +3 -3
- package/dist/utils.d.mts +2 -2
- package/dist/utils.d.ts +2 -2
- package/dist/vercel.js +25 -22
- package/dist/vercel.mjs +25 -22
- package/package.json +1 -1
package/dist/globals.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
|
|
2
|
-
export {
|
|
2
|
+
export { }
|
package/dist/globals.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
|
|
2
|
-
export {
|
|
2
|
+
export { }
|
package/dist/index.js
CHANGED
|
@@ -448,32 +448,35 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
|
|
|
448
448
|
const values = [];
|
|
449
449
|
let done = false;
|
|
450
450
|
let currentReadPromise = void 0;
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
i
|
|
461
|
-
|
|
451
|
+
if (resHeaderRecord["transfer-encoding"] !== "chunked") {
|
|
452
|
+
let maxReadCount = 2;
|
|
453
|
+
for (let i = 0; i < maxReadCount; i++) {
|
|
454
|
+
currentReadPromise ||= reader.read();
|
|
455
|
+
const chunk = await readWithoutBlocking(currentReadPromise).catch((e) => {
|
|
456
|
+
console.error(e);
|
|
457
|
+
done = true;
|
|
458
|
+
});
|
|
459
|
+
if (!chunk) {
|
|
460
|
+
if (i === 1) {
|
|
461
|
+
await new Promise((resolve) => setTimeout(resolve));
|
|
462
|
+
maxReadCount = 3;
|
|
463
|
+
continue;
|
|
464
|
+
}
|
|
465
|
+
break;
|
|
466
|
+
}
|
|
467
|
+
currentReadPromise = void 0;
|
|
468
|
+
if (chunk.value) {
|
|
469
|
+
values.push(chunk.value);
|
|
470
|
+
}
|
|
471
|
+
if (chunk.done) {
|
|
472
|
+
done = true;
|
|
473
|
+
break;
|
|
462
474
|
}
|
|
463
|
-
break;
|
|
464
|
-
}
|
|
465
|
-
currentReadPromise = void 0;
|
|
466
|
-
if (chunk.value) {
|
|
467
|
-
values.push(chunk.value);
|
|
468
475
|
}
|
|
469
|
-
if (
|
|
470
|
-
|
|
471
|
-
break;
|
|
476
|
+
if (done && !("content-length" in resHeaderRecord)) {
|
|
477
|
+
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
472
478
|
}
|
|
473
479
|
}
|
|
474
|
-
if (done && !("content-length" in resHeaderRecord)) {
|
|
475
|
-
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
476
|
-
}
|
|
477
480
|
outgoing.writeHead(res.status, resHeaderRecord);
|
|
478
481
|
values.forEach((value) => {
|
|
479
482
|
;
|
package/dist/index.mjs
CHANGED
|
@@ -409,32 +409,35 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
|
|
|
409
409
|
const values = [];
|
|
410
410
|
let done = false;
|
|
411
411
|
let currentReadPromise = void 0;
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
i
|
|
422
|
-
|
|
412
|
+
if (resHeaderRecord["transfer-encoding"] !== "chunked") {
|
|
413
|
+
let maxReadCount = 2;
|
|
414
|
+
for (let i = 0; i < maxReadCount; i++) {
|
|
415
|
+
currentReadPromise ||= reader.read();
|
|
416
|
+
const chunk = await readWithoutBlocking(currentReadPromise).catch((e) => {
|
|
417
|
+
console.error(e);
|
|
418
|
+
done = true;
|
|
419
|
+
});
|
|
420
|
+
if (!chunk) {
|
|
421
|
+
if (i === 1) {
|
|
422
|
+
await new Promise((resolve) => setTimeout(resolve));
|
|
423
|
+
maxReadCount = 3;
|
|
424
|
+
continue;
|
|
425
|
+
}
|
|
426
|
+
break;
|
|
427
|
+
}
|
|
428
|
+
currentReadPromise = void 0;
|
|
429
|
+
if (chunk.value) {
|
|
430
|
+
values.push(chunk.value);
|
|
431
|
+
}
|
|
432
|
+
if (chunk.done) {
|
|
433
|
+
done = true;
|
|
434
|
+
break;
|
|
423
435
|
}
|
|
424
|
-
break;
|
|
425
|
-
}
|
|
426
|
-
currentReadPromise = void 0;
|
|
427
|
-
if (chunk.value) {
|
|
428
|
-
values.push(chunk.value);
|
|
429
436
|
}
|
|
430
|
-
if (
|
|
431
|
-
|
|
432
|
-
break;
|
|
437
|
+
if (done && !("content-length" in resHeaderRecord)) {
|
|
438
|
+
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
433
439
|
}
|
|
434
440
|
}
|
|
435
|
-
if (done && !("content-length" in resHeaderRecord)) {
|
|
436
|
-
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
437
|
-
}
|
|
438
441
|
outgoing.writeHead(res.status, resHeaderRecord);
|
|
439
442
|
values.forEach((value) => {
|
|
440
443
|
;
|
package/dist/listener.js
CHANGED
|
@@ -440,32 +440,35 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
|
|
|
440
440
|
const values = [];
|
|
441
441
|
let done = false;
|
|
442
442
|
let currentReadPromise = void 0;
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
i
|
|
453
|
-
|
|
443
|
+
if (resHeaderRecord["transfer-encoding"] !== "chunked") {
|
|
444
|
+
let maxReadCount = 2;
|
|
445
|
+
for (let i = 0; i < maxReadCount; i++) {
|
|
446
|
+
currentReadPromise ||= reader.read();
|
|
447
|
+
const chunk = await readWithoutBlocking(currentReadPromise).catch((e) => {
|
|
448
|
+
console.error(e);
|
|
449
|
+
done = true;
|
|
450
|
+
});
|
|
451
|
+
if (!chunk) {
|
|
452
|
+
if (i === 1) {
|
|
453
|
+
await new Promise((resolve) => setTimeout(resolve));
|
|
454
|
+
maxReadCount = 3;
|
|
455
|
+
continue;
|
|
456
|
+
}
|
|
457
|
+
break;
|
|
458
|
+
}
|
|
459
|
+
currentReadPromise = void 0;
|
|
460
|
+
if (chunk.value) {
|
|
461
|
+
values.push(chunk.value);
|
|
462
|
+
}
|
|
463
|
+
if (chunk.done) {
|
|
464
|
+
done = true;
|
|
465
|
+
break;
|
|
454
466
|
}
|
|
455
|
-
break;
|
|
456
|
-
}
|
|
457
|
-
currentReadPromise = void 0;
|
|
458
|
-
if (chunk.value) {
|
|
459
|
-
values.push(chunk.value);
|
|
460
467
|
}
|
|
461
|
-
if (
|
|
462
|
-
|
|
463
|
-
break;
|
|
468
|
+
if (done && !("content-length" in resHeaderRecord)) {
|
|
469
|
+
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
464
470
|
}
|
|
465
471
|
}
|
|
466
|
-
if (done && !("content-length" in resHeaderRecord)) {
|
|
467
|
-
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
468
|
-
}
|
|
469
472
|
outgoing.writeHead(res.status, resHeaderRecord);
|
|
470
473
|
values.forEach((value) => {
|
|
471
474
|
;
|
package/dist/listener.mjs
CHANGED
|
@@ -406,32 +406,35 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
|
|
|
406
406
|
const values = [];
|
|
407
407
|
let done = false;
|
|
408
408
|
let currentReadPromise = void 0;
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
i
|
|
419
|
-
|
|
409
|
+
if (resHeaderRecord["transfer-encoding"] !== "chunked") {
|
|
410
|
+
let maxReadCount = 2;
|
|
411
|
+
for (let i = 0; i < maxReadCount; i++) {
|
|
412
|
+
currentReadPromise ||= reader.read();
|
|
413
|
+
const chunk = await readWithoutBlocking(currentReadPromise).catch((e) => {
|
|
414
|
+
console.error(e);
|
|
415
|
+
done = true;
|
|
416
|
+
});
|
|
417
|
+
if (!chunk) {
|
|
418
|
+
if (i === 1) {
|
|
419
|
+
await new Promise((resolve) => setTimeout(resolve));
|
|
420
|
+
maxReadCount = 3;
|
|
421
|
+
continue;
|
|
422
|
+
}
|
|
423
|
+
break;
|
|
424
|
+
}
|
|
425
|
+
currentReadPromise = void 0;
|
|
426
|
+
if (chunk.value) {
|
|
427
|
+
values.push(chunk.value);
|
|
428
|
+
}
|
|
429
|
+
if (chunk.done) {
|
|
430
|
+
done = true;
|
|
431
|
+
break;
|
|
420
432
|
}
|
|
421
|
-
break;
|
|
422
|
-
}
|
|
423
|
-
currentReadPromise = void 0;
|
|
424
|
-
if (chunk.value) {
|
|
425
|
-
values.push(chunk.value);
|
|
426
433
|
}
|
|
427
|
-
if (
|
|
428
|
-
|
|
429
|
-
break;
|
|
434
|
+
if (done && !("content-length" in resHeaderRecord)) {
|
|
435
|
+
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
430
436
|
}
|
|
431
437
|
}
|
|
432
|
-
if (done && !("content-length" in resHeaderRecord)) {
|
|
433
|
-
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
434
|
-
}
|
|
435
438
|
outgoing.writeHead(res.status, resHeaderRecord);
|
|
436
439
|
values.forEach((value) => {
|
|
437
440
|
;
|
package/dist/request.d.mts
CHANGED
|
@@ -22,4 +22,4 @@ declare const abortControllerKey: unique symbol;
|
|
|
22
22
|
declare const getAbortController: unique symbol;
|
|
23
23
|
declare const newRequest: (incoming: IncomingMessage | Http2ServerRequest, defaultHostname?: string) => any;
|
|
24
24
|
|
|
25
|
-
export { GlobalRequest,
|
|
25
|
+
export { GlobalRequest, IncomingMessageWithWrapBodyStream, Request, RequestError, abortControllerKey, getAbortController, newRequest, toRequestError, wrapBodyStream };
|
package/dist/request.d.ts
CHANGED
|
@@ -22,4 +22,4 @@ declare const abortControllerKey: unique symbol;
|
|
|
22
22
|
declare const getAbortController: unique symbol;
|
|
23
23
|
declare const newRequest: (incoming: IncomingMessage | Http2ServerRequest, defaultHostname?: string) => any;
|
|
24
24
|
|
|
25
|
-
export { GlobalRequest,
|
|
25
|
+
export { GlobalRequest, IncomingMessageWithWrapBodyStream, Request, RequestError, abortControllerKey, getAbortController, newRequest, toRequestError, wrapBodyStream };
|
package/dist/response.d.mts
CHANGED
package/dist/response.d.ts
CHANGED
package/dist/serve-static.d.mts
CHANGED
package/dist/serve-static.d.ts
CHANGED
package/dist/server.js
CHANGED
|
@@ -444,32 +444,35 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
|
|
|
444
444
|
const values = [];
|
|
445
445
|
let done = false;
|
|
446
446
|
let currentReadPromise = void 0;
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
i
|
|
457
|
-
|
|
447
|
+
if (resHeaderRecord["transfer-encoding"] !== "chunked") {
|
|
448
|
+
let maxReadCount = 2;
|
|
449
|
+
for (let i = 0; i < maxReadCount; i++) {
|
|
450
|
+
currentReadPromise ||= reader.read();
|
|
451
|
+
const chunk = await readWithoutBlocking(currentReadPromise).catch((e) => {
|
|
452
|
+
console.error(e);
|
|
453
|
+
done = true;
|
|
454
|
+
});
|
|
455
|
+
if (!chunk) {
|
|
456
|
+
if (i === 1) {
|
|
457
|
+
await new Promise((resolve) => setTimeout(resolve));
|
|
458
|
+
maxReadCount = 3;
|
|
459
|
+
continue;
|
|
460
|
+
}
|
|
461
|
+
break;
|
|
462
|
+
}
|
|
463
|
+
currentReadPromise = void 0;
|
|
464
|
+
if (chunk.value) {
|
|
465
|
+
values.push(chunk.value);
|
|
466
|
+
}
|
|
467
|
+
if (chunk.done) {
|
|
468
|
+
done = true;
|
|
469
|
+
break;
|
|
458
470
|
}
|
|
459
|
-
break;
|
|
460
|
-
}
|
|
461
|
-
currentReadPromise = void 0;
|
|
462
|
-
if (chunk.value) {
|
|
463
|
-
values.push(chunk.value);
|
|
464
471
|
}
|
|
465
|
-
if (
|
|
466
|
-
|
|
467
|
-
break;
|
|
472
|
+
if (done && !("content-length" in resHeaderRecord)) {
|
|
473
|
+
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
468
474
|
}
|
|
469
475
|
}
|
|
470
|
-
if (done && !("content-length" in resHeaderRecord)) {
|
|
471
|
-
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
472
|
-
}
|
|
473
476
|
outgoing.writeHead(res.status, resHeaderRecord);
|
|
474
477
|
values.forEach((value) => {
|
|
475
478
|
;
|
package/dist/server.mjs
CHANGED
|
@@ -409,32 +409,35 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
|
|
|
409
409
|
const values = [];
|
|
410
410
|
let done = false;
|
|
411
411
|
let currentReadPromise = void 0;
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
i
|
|
422
|
-
|
|
412
|
+
if (resHeaderRecord["transfer-encoding"] !== "chunked") {
|
|
413
|
+
let maxReadCount = 2;
|
|
414
|
+
for (let i = 0; i < maxReadCount; i++) {
|
|
415
|
+
currentReadPromise ||= reader.read();
|
|
416
|
+
const chunk = await readWithoutBlocking(currentReadPromise).catch((e) => {
|
|
417
|
+
console.error(e);
|
|
418
|
+
done = true;
|
|
419
|
+
});
|
|
420
|
+
if (!chunk) {
|
|
421
|
+
if (i === 1) {
|
|
422
|
+
await new Promise((resolve) => setTimeout(resolve));
|
|
423
|
+
maxReadCount = 3;
|
|
424
|
+
continue;
|
|
425
|
+
}
|
|
426
|
+
break;
|
|
427
|
+
}
|
|
428
|
+
currentReadPromise = void 0;
|
|
429
|
+
if (chunk.value) {
|
|
430
|
+
values.push(chunk.value);
|
|
431
|
+
}
|
|
432
|
+
if (chunk.done) {
|
|
433
|
+
done = true;
|
|
434
|
+
break;
|
|
423
435
|
}
|
|
424
|
-
break;
|
|
425
|
-
}
|
|
426
|
-
currentReadPromise = void 0;
|
|
427
|
-
if (chunk.value) {
|
|
428
|
-
values.push(chunk.value);
|
|
429
436
|
}
|
|
430
|
-
if (
|
|
431
|
-
|
|
432
|
-
break;
|
|
437
|
+
if (done && !("content-length" in resHeaderRecord)) {
|
|
438
|
+
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
433
439
|
}
|
|
434
440
|
}
|
|
435
|
-
if (done && !("content-length" in resHeaderRecord)) {
|
|
436
|
-
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
437
|
-
}
|
|
438
441
|
outgoing.writeHead(res.status, resHeaderRecord);
|
|
439
442
|
values.forEach((value) => {
|
|
440
443
|
;
|
package/dist/types.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IncomingMessage, ServerResponse, ServerOptions as ServerOptions$1, createServer
|
|
2
|
-
import { Http2ServerRequest, Http2ServerResponse, ServerOptions as ServerOptions$3, createServer as createServer$2, SecureServerOptions, createSecureServer
|
|
1
|
+
import { IncomingMessage, ServerResponse, Server, ServerOptions as ServerOptions$1, createServer } from 'node:http';
|
|
2
|
+
import { Http2ServerRequest, Http2ServerResponse, Http2Server, Http2SecureServer, ServerOptions as ServerOptions$3, createServer as createServer$2, SecureServerOptions, createSecureServer } from 'node:http2';
|
|
3
3
|
import { ServerOptions as ServerOptions$2, createServer as createServer$1 } from 'node:https';
|
|
4
4
|
|
|
5
5
|
type HttpBindings = {
|
|
@@ -41,4 +41,4 @@ type Options = {
|
|
|
41
41
|
} & ServerOptions;
|
|
42
42
|
type CustomErrorHandler = (err: unknown) => void | Response | Promise<void | Response>;
|
|
43
43
|
|
|
44
|
-
export
|
|
44
|
+
export { CustomErrorHandler, FetchCallback, Http2Bindings, HttpBindings, NextHandlerOption, Options, ServerOptions, ServerType };
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IncomingMessage, ServerResponse, ServerOptions as ServerOptions$1, createServer
|
|
2
|
-
import { Http2ServerRequest, Http2ServerResponse, ServerOptions as ServerOptions$3, createServer as createServer$2, SecureServerOptions, createSecureServer
|
|
1
|
+
import { IncomingMessage, ServerResponse, Server, ServerOptions as ServerOptions$1, createServer } from 'node:http';
|
|
2
|
+
import { Http2ServerRequest, Http2ServerResponse, Http2Server, Http2SecureServer, ServerOptions as ServerOptions$3, createServer as createServer$2, SecureServerOptions, createSecureServer } from 'node:http2';
|
|
3
3
|
import { ServerOptions as ServerOptions$2, createServer as createServer$1 } from 'node:https';
|
|
4
4
|
|
|
5
5
|
type HttpBindings = {
|
|
@@ -41,4 +41,4 @@ type Options = {
|
|
|
41
41
|
} & ServerOptions;
|
|
42
42
|
type CustomErrorHandler = (err: unknown) => void | Response | Promise<void | Response>;
|
|
43
43
|
|
|
44
|
-
export
|
|
44
|
+
export { CustomErrorHandler, FetchCallback, Http2Bindings, HttpBindings, NextHandlerOption, Options, ServerOptions, ServerType };
|
package/dist/utils.d.mts
CHANGED
|
@@ -2,8 +2,8 @@ import { OutgoingHttpHeaders } from 'node:http';
|
|
|
2
2
|
import { Writable } from 'node:stream';
|
|
3
3
|
|
|
4
4
|
declare function readWithoutBlocking(readPromise: Promise<ReadableStreamReadResult<Uint8Array>>): Promise<ReadableStreamReadResult<Uint8Array> | undefined>;
|
|
5
|
-
declare function writeFromReadableStreamDefaultReader(reader: ReadableStreamDefaultReader<Uint8Array>, writable: Writable, currentReadPromise?: Promise<ReadableStreamReadResult<Uint8Array>> | undefined): Promise<
|
|
6
|
-
declare function writeFromReadableStream(stream: ReadableStream<Uint8Array>, writable: Writable): Promise<
|
|
5
|
+
declare function writeFromReadableStreamDefaultReader(reader: ReadableStreamDefaultReader<Uint8Array>, writable: Writable, currentReadPromise?: Promise<ReadableStreamReadResult<Uint8Array>> | undefined): Promise<void>;
|
|
6
|
+
declare function writeFromReadableStream(stream: ReadableStream<Uint8Array>, writable: Writable): Promise<void> | undefined;
|
|
7
7
|
declare const buildOutgoingHttpHeaders: (headers: Headers | HeadersInit | null | undefined) => OutgoingHttpHeaders;
|
|
8
8
|
|
|
9
9
|
export { buildOutgoingHttpHeaders, readWithoutBlocking, writeFromReadableStream, writeFromReadableStreamDefaultReader };
|
package/dist/utils.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import { OutgoingHttpHeaders } from 'node:http';
|
|
|
2
2
|
import { Writable } from 'node:stream';
|
|
3
3
|
|
|
4
4
|
declare function readWithoutBlocking(readPromise: Promise<ReadableStreamReadResult<Uint8Array>>): Promise<ReadableStreamReadResult<Uint8Array> | undefined>;
|
|
5
|
-
declare function writeFromReadableStreamDefaultReader(reader: ReadableStreamDefaultReader<Uint8Array>, writable: Writable, currentReadPromise?: Promise<ReadableStreamReadResult<Uint8Array>> | undefined): Promise<
|
|
6
|
-
declare function writeFromReadableStream(stream: ReadableStream<Uint8Array>, writable: Writable): Promise<
|
|
5
|
+
declare function writeFromReadableStreamDefaultReader(reader: ReadableStreamDefaultReader<Uint8Array>, writable: Writable, currentReadPromise?: Promise<ReadableStreamReadResult<Uint8Array>> | undefined): Promise<void>;
|
|
6
|
+
declare function writeFromReadableStream(stream: ReadableStream<Uint8Array>, writable: Writable): Promise<void> | undefined;
|
|
7
7
|
declare const buildOutgoingHttpHeaders: (headers: Headers | HeadersInit | null | undefined) => OutgoingHttpHeaders;
|
|
8
8
|
|
|
9
9
|
export { buildOutgoingHttpHeaders, readWithoutBlocking, writeFromReadableStream, writeFromReadableStreamDefaultReader };
|
package/dist/vercel.js
CHANGED
|
@@ -442,32 +442,35 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
|
|
|
442
442
|
const values = [];
|
|
443
443
|
let done = false;
|
|
444
444
|
let currentReadPromise = void 0;
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
i
|
|
455
|
-
|
|
445
|
+
if (resHeaderRecord["transfer-encoding"] !== "chunked") {
|
|
446
|
+
let maxReadCount = 2;
|
|
447
|
+
for (let i = 0; i < maxReadCount; i++) {
|
|
448
|
+
currentReadPromise ||= reader.read();
|
|
449
|
+
const chunk = await readWithoutBlocking(currentReadPromise).catch((e) => {
|
|
450
|
+
console.error(e);
|
|
451
|
+
done = true;
|
|
452
|
+
});
|
|
453
|
+
if (!chunk) {
|
|
454
|
+
if (i === 1) {
|
|
455
|
+
await new Promise((resolve) => setTimeout(resolve));
|
|
456
|
+
maxReadCount = 3;
|
|
457
|
+
continue;
|
|
458
|
+
}
|
|
459
|
+
break;
|
|
460
|
+
}
|
|
461
|
+
currentReadPromise = void 0;
|
|
462
|
+
if (chunk.value) {
|
|
463
|
+
values.push(chunk.value);
|
|
464
|
+
}
|
|
465
|
+
if (chunk.done) {
|
|
466
|
+
done = true;
|
|
467
|
+
break;
|
|
456
468
|
}
|
|
457
|
-
break;
|
|
458
|
-
}
|
|
459
|
-
currentReadPromise = void 0;
|
|
460
|
-
if (chunk.value) {
|
|
461
|
-
values.push(chunk.value);
|
|
462
469
|
}
|
|
463
|
-
if (
|
|
464
|
-
|
|
465
|
-
break;
|
|
470
|
+
if (done && !("content-length" in resHeaderRecord)) {
|
|
471
|
+
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
466
472
|
}
|
|
467
473
|
}
|
|
468
|
-
if (done && !("content-length" in resHeaderRecord)) {
|
|
469
|
-
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
470
|
-
}
|
|
471
474
|
outgoing.writeHead(res.status, resHeaderRecord);
|
|
472
475
|
values.forEach((value) => {
|
|
473
476
|
;
|
package/dist/vercel.mjs
CHANGED
|
@@ -406,32 +406,35 @@ var responseViaResponseObject = async (res, outgoing, options = {}) => {
|
|
|
406
406
|
const values = [];
|
|
407
407
|
let done = false;
|
|
408
408
|
let currentReadPromise = void 0;
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
i
|
|
419
|
-
|
|
409
|
+
if (resHeaderRecord["transfer-encoding"] !== "chunked") {
|
|
410
|
+
let maxReadCount = 2;
|
|
411
|
+
for (let i = 0; i < maxReadCount; i++) {
|
|
412
|
+
currentReadPromise ||= reader.read();
|
|
413
|
+
const chunk = await readWithoutBlocking(currentReadPromise).catch((e) => {
|
|
414
|
+
console.error(e);
|
|
415
|
+
done = true;
|
|
416
|
+
});
|
|
417
|
+
if (!chunk) {
|
|
418
|
+
if (i === 1) {
|
|
419
|
+
await new Promise((resolve) => setTimeout(resolve));
|
|
420
|
+
maxReadCount = 3;
|
|
421
|
+
continue;
|
|
422
|
+
}
|
|
423
|
+
break;
|
|
424
|
+
}
|
|
425
|
+
currentReadPromise = void 0;
|
|
426
|
+
if (chunk.value) {
|
|
427
|
+
values.push(chunk.value);
|
|
428
|
+
}
|
|
429
|
+
if (chunk.done) {
|
|
430
|
+
done = true;
|
|
431
|
+
break;
|
|
420
432
|
}
|
|
421
|
-
break;
|
|
422
|
-
}
|
|
423
|
-
currentReadPromise = void 0;
|
|
424
|
-
if (chunk.value) {
|
|
425
|
-
values.push(chunk.value);
|
|
426
433
|
}
|
|
427
|
-
if (
|
|
428
|
-
|
|
429
|
-
break;
|
|
434
|
+
if (done && !("content-length" in resHeaderRecord)) {
|
|
435
|
+
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
430
436
|
}
|
|
431
437
|
}
|
|
432
|
-
if (done && !("content-length" in resHeaderRecord)) {
|
|
433
|
-
resHeaderRecord["content-length"] = values.reduce((acc, value) => acc + value.length, 0);
|
|
434
|
-
}
|
|
435
438
|
outgoing.writeHead(res.status, resHeaderRecord);
|
|
436
439
|
values.forEach((value) => {
|
|
437
440
|
;
|