@hono/node-server 2.0.2 → 2.0.4
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/index.cjs +8 -3
- package/dist/index.d.cts +32 -4
- package/dist/index.d.mts +32 -4
- package/dist/index.mjs +8 -3
- package/dist/serve-static.d.cts +1 -1
- package/dist/serve-static.d.mts +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -400,8 +400,13 @@ var Response$1 = class Response$1 {
|
|
|
400
400
|
#body;
|
|
401
401
|
#init;
|
|
402
402
|
[getResponseCache]() {
|
|
403
|
+
const cache = this[cacheKey];
|
|
404
|
+
const liveHeaders = cache && cache[2] instanceof Headers ? cache[2] : void 0;
|
|
403
405
|
delete this[cacheKey];
|
|
404
|
-
return this[responseCache] ||= new GlobalResponse(this.#body,
|
|
406
|
+
return this[responseCache] ||= new GlobalResponse(this.#body, liveHeaders ? {
|
|
407
|
+
...this.#init,
|
|
408
|
+
headers: liveHeaders
|
|
409
|
+
} : this.#init);
|
|
405
410
|
}
|
|
406
411
|
constructor(body, init) {
|
|
407
412
|
let headers;
|
|
@@ -414,7 +419,7 @@ var Response$1 = class Response$1 {
|
|
|
414
419
|
return;
|
|
415
420
|
} else {
|
|
416
421
|
this.#init = init.#init;
|
|
417
|
-
headers = new Headers(init
|
|
422
|
+
headers = new Headers(init.headers);
|
|
418
423
|
}
|
|
419
424
|
} else this.#init = init;
|
|
420
425
|
if (body == null || typeof body === "string" || typeof body?.getReader !== "undefined" || body instanceof Blob || body instanceof Uint8Array) this[cacheKey] = [
|
|
@@ -971,7 +976,7 @@ const upgradeWebSocket = (0, hono_ws.defineWebSocketHelper)(async (c, events, op
|
|
|
971
976
|
const handleMessage = (data, isBinary) => {
|
|
972
977
|
const datas = Array.isArray(data) ? data : [data];
|
|
973
978
|
for (const data of datas) try {
|
|
974
|
-
events?.onMessage?.(new MessageEvent("message", { data: isBinary ? data instanceof ArrayBuffer ? data : data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength) : data.toString("utf-8") }), ctx);
|
|
979
|
+
events?.onMessage?.(new MessageEvent("message", { data: isBinary ? data instanceof ArrayBuffer ? data : data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength) : typeof data === "string" ? data : Buffer.from(data).toString("utf-8") }), ctx);
|
|
975
980
|
} catch (e) {
|
|
976
981
|
(options?.onError ?? console.error)(e);
|
|
977
982
|
}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,10 +1,38 @@
|
|
|
1
1
|
import { AddressInfo } from "node:net";
|
|
2
|
-
import { WebSocket, WebSocketServer } from "ws";
|
|
3
2
|
import { IncomingMessage, Server, ServerOptions, ServerResponse, createServer } from "node:http";
|
|
4
3
|
import { Http2SecureServer, Http2Server, Http2ServerRequest, Http2ServerResponse, SecureServerOptions, ServerOptions as ServerOptions$1, createSecureServer, createServer as createServer$1 } from "node:http2";
|
|
5
4
|
import { ServerOptions as ServerOptions$2, createServer as createServer$2 } from "node:https";
|
|
5
|
+
import { Duplex } from "node:stream";
|
|
6
6
|
import { UpgradeWebSocket } from "hono/ws";
|
|
7
7
|
|
|
8
|
+
//#region src/websocket-types.d.ts
|
|
9
|
+
type WSReadyState = 0 | 1 | 2 | 3;
|
|
10
|
+
type WebSocketData = string | ArrayBuffer | Uint8Array | readonly Uint8Array[];
|
|
11
|
+
type WebSocketSendOptions = {
|
|
12
|
+
compress?: boolean;
|
|
13
|
+
};
|
|
14
|
+
interface WebSocketLike {
|
|
15
|
+
protocol: string;
|
|
16
|
+
readyState: WSReadyState;
|
|
17
|
+
close(code?: number, reason?: string): void;
|
|
18
|
+
send(data: string | ArrayBuffer | ArrayBufferView, options?: WebSocketSendOptions): void;
|
|
19
|
+
on(event: 'message', listener: (data: WebSocketData, isBinary: boolean) => void): this;
|
|
20
|
+
on(event: 'close', listener: (code: number, reason: Uint8Array) => void): this;
|
|
21
|
+
on(event: 'error', listener: (error: unknown) => void): this;
|
|
22
|
+
off(event: 'message', listener: (data: WebSocketData, isBinary: boolean) => void): this;
|
|
23
|
+
}
|
|
24
|
+
interface WebSocketServerLike {
|
|
25
|
+
options: {
|
|
26
|
+
noServer?: boolean;
|
|
27
|
+
};
|
|
28
|
+
on(event: 'connection', listener: (ws: WebSocketLike, request: IncomingMessage) => void): this;
|
|
29
|
+
on(event: 'headers', listener: (headers: string[]) => void): this;
|
|
30
|
+
off(event: 'headers', listener: (headers: string[]) => void): this;
|
|
31
|
+
emit(event: 'connection', ws: WebSocketLike, request: IncomingMessage): boolean;
|
|
32
|
+
handleUpgrade(request: IncomingMessage, socket: Duplex, head: Buffer, callback: (ws: WebSocketLike) => void): void;
|
|
33
|
+
close(): void;
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
8
36
|
//#region src/types.d.ts
|
|
9
37
|
type HttpBindings = {
|
|
10
38
|
incoming: IncomingMessage;
|
|
@@ -40,7 +68,7 @@ type Options = {
|
|
|
40
68
|
port?: number;
|
|
41
69
|
hostname?: string;
|
|
42
70
|
websocket?: {
|
|
43
|
-
server:
|
|
71
|
+
server: WebSocketServerLike;
|
|
44
72
|
};
|
|
45
73
|
} & ServerOptions$3;
|
|
46
74
|
type CustomErrorHandler = (err: unknown) => void | Response | Promise<void | Response>;
|
|
@@ -53,7 +81,7 @@ declare const serve: (options: Options, listeningListener?: (info: AddressInfo)
|
|
|
53
81
|
type UpgradeWebSocketOptions = {
|
|
54
82
|
onError: (err: unknown) => void;
|
|
55
83
|
};
|
|
56
|
-
declare const upgradeWebSocket: UpgradeWebSocket<
|
|
84
|
+
declare const upgradeWebSocket: UpgradeWebSocket<WebSocketLike, UpgradeWebSocketOptions>;
|
|
57
85
|
//#endregion
|
|
58
86
|
//#region src/listener.d.ts
|
|
59
87
|
declare const getRequestListener: (fetchCallback: FetchCallback, options?: {
|
|
@@ -70,4 +98,4 @@ declare class RequestError extends Error {
|
|
|
70
98
|
});
|
|
71
99
|
}
|
|
72
100
|
//#endregion
|
|
73
|
-
export { type Http2Bindings, type HttpBindings, RequestError, type ServerType, createAdaptorServer, getRequestListener, serve, upgradeWebSocket };
|
|
101
|
+
export { type Http2Bindings, type HttpBindings, RequestError, type ServerType, type WebSocketData, type WebSocketLike, type WebSocketServerLike, createAdaptorServer, getRequestListener, serve, upgradeWebSocket };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,10 +1,38 @@
|
|
|
1
1
|
import { IncomingMessage, Server, ServerOptions, ServerResponse, createServer } from "node:http";
|
|
2
2
|
import { Http2SecureServer, Http2Server, Http2ServerRequest, Http2ServerResponse, SecureServerOptions, ServerOptions as ServerOptions$1, createSecureServer, createServer as createServer$1 } from "node:http2";
|
|
3
|
+
import { Duplex } from "node:stream";
|
|
3
4
|
import { UpgradeWebSocket } from "hono/ws";
|
|
4
5
|
import { AddressInfo } from "node:net";
|
|
5
|
-
import { WebSocket, WebSocketServer } from "ws";
|
|
6
6
|
import { ServerOptions as ServerOptions$2, createServer as createServer$2 } from "node:https";
|
|
7
7
|
|
|
8
|
+
//#region src/websocket-types.d.ts
|
|
9
|
+
type WSReadyState = 0 | 1 | 2 | 3;
|
|
10
|
+
type WebSocketData = string | ArrayBuffer | Uint8Array | readonly Uint8Array[];
|
|
11
|
+
type WebSocketSendOptions = {
|
|
12
|
+
compress?: boolean;
|
|
13
|
+
};
|
|
14
|
+
interface WebSocketLike {
|
|
15
|
+
protocol: string;
|
|
16
|
+
readyState: WSReadyState;
|
|
17
|
+
close(code?: number, reason?: string): void;
|
|
18
|
+
send(data: string | ArrayBuffer | ArrayBufferView, options?: WebSocketSendOptions): void;
|
|
19
|
+
on(event: 'message', listener: (data: WebSocketData, isBinary: boolean) => void): this;
|
|
20
|
+
on(event: 'close', listener: (code: number, reason: Uint8Array) => void): this;
|
|
21
|
+
on(event: 'error', listener: (error: unknown) => void): this;
|
|
22
|
+
off(event: 'message', listener: (data: WebSocketData, isBinary: boolean) => void): this;
|
|
23
|
+
}
|
|
24
|
+
interface WebSocketServerLike {
|
|
25
|
+
options: {
|
|
26
|
+
noServer?: boolean;
|
|
27
|
+
};
|
|
28
|
+
on(event: 'connection', listener: (ws: WebSocketLike, request: IncomingMessage) => void): this;
|
|
29
|
+
on(event: 'headers', listener: (headers: string[]) => void): this;
|
|
30
|
+
off(event: 'headers', listener: (headers: string[]) => void): this;
|
|
31
|
+
emit(event: 'connection', ws: WebSocketLike, request: IncomingMessage): boolean;
|
|
32
|
+
handleUpgrade(request: IncomingMessage, socket: Duplex, head: Buffer, callback: (ws: WebSocketLike) => void): void;
|
|
33
|
+
close(): void;
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
8
36
|
//#region src/types.d.ts
|
|
9
37
|
type HttpBindings = {
|
|
10
38
|
incoming: IncomingMessage;
|
|
@@ -40,7 +68,7 @@ type Options = {
|
|
|
40
68
|
port?: number;
|
|
41
69
|
hostname?: string;
|
|
42
70
|
websocket?: {
|
|
43
|
-
server:
|
|
71
|
+
server: WebSocketServerLike;
|
|
44
72
|
};
|
|
45
73
|
} & ServerOptions$3;
|
|
46
74
|
type CustomErrorHandler = (err: unknown) => void | Response | Promise<void | Response>;
|
|
@@ -53,7 +81,7 @@ declare const serve: (options: Options, listeningListener?: (info: AddressInfo)
|
|
|
53
81
|
type UpgradeWebSocketOptions = {
|
|
54
82
|
onError: (err: unknown) => void;
|
|
55
83
|
};
|
|
56
|
-
declare const upgradeWebSocket: UpgradeWebSocket<
|
|
84
|
+
declare const upgradeWebSocket: UpgradeWebSocket<WebSocketLike, UpgradeWebSocketOptions>;
|
|
57
85
|
//#endregion
|
|
58
86
|
//#region src/listener.d.ts
|
|
59
87
|
declare const getRequestListener: (fetchCallback: FetchCallback, options?: {
|
|
@@ -70,4 +98,4 @@ declare class RequestError extends Error {
|
|
|
70
98
|
});
|
|
71
99
|
}
|
|
72
100
|
//#endregion
|
|
73
|
-
export { type Http2Bindings, type HttpBindings, RequestError, type ServerType, createAdaptorServer, getRequestListener, serve, upgradeWebSocket };
|
|
101
|
+
export { type Http2Bindings, type HttpBindings, RequestError, type ServerType, type WebSocketData, type WebSocketLike, type WebSocketServerLike, createAdaptorServer, getRequestListener, serve, upgradeWebSocket };
|
package/dist/index.mjs
CHANGED
|
@@ -399,8 +399,13 @@ var Response$1 = class Response$1 {
|
|
|
399
399
|
#body;
|
|
400
400
|
#init;
|
|
401
401
|
[getResponseCache]() {
|
|
402
|
+
const cache = this[cacheKey];
|
|
403
|
+
const liveHeaders = cache && cache[2] instanceof Headers ? cache[2] : void 0;
|
|
402
404
|
delete this[cacheKey];
|
|
403
|
-
return this[responseCache] ||= new GlobalResponse(this.#body,
|
|
405
|
+
return this[responseCache] ||= new GlobalResponse(this.#body, liveHeaders ? {
|
|
406
|
+
...this.#init,
|
|
407
|
+
headers: liveHeaders
|
|
408
|
+
} : this.#init);
|
|
404
409
|
}
|
|
405
410
|
constructor(body, init) {
|
|
406
411
|
let headers;
|
|
@@ -413,7 +418,7 @@ var Response$1 = class Response$1 {
|
|
|
413
418
|
return;
|
|
414
419
|
} else {
|
|
415
420
|
this.#init = init.#init;
|
|
416
|
-
headers = new Headers(init
|
|
421
|
+
headers = new Headers(init.headers);
|
|
417
422
|
}
|
|
418
423
|
} else this.#init = init;
|
|
419
424
|
if (body == null || typeof body === "string" || typeof body?.getReader !== "undefined" || body instanceof Blob || body instanceof Uint8Array) this[cacheKey] = [
|
|
@@ -970,7 +975,7 @@ const upgradeWebSocket = defineWebSocketHelper(async (c, events, options) => {
|
|
|
970
975
|
const handleMessage = (data, isBinary) => {
|
|
971
976
|
const datas = Array.isArray(data) ? data : [data];
|
|
972
977
|
for (const data of datas) try {
|
|
973
|
-
events?.onMessage?.(new MessageEvent("message", { data: isBinary ? data instanceof ArrayBuffer ? data : data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength) : data.toString("utf-8") }), ctx);
|
|
978
|
+
events?.onMessage?.(new MessageEvent("message", { data: isBinary ? data instanceof ArrayBuffer ? data : data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength) : typeof data === "string" ? data : Buffer.from(data).toString("utf-8") }), ctx);
|
|
974
979
|
} catch (e) {
|
|
975
980
|
(options?.onError ?? console.error)(e);
|
|
976
981
|
}
|
package/dist/serve-static.d.cts
CHANGED
|
@@ -3,7 +3,7 @@ import { Context, Env, MiddlewareHandler } from "hono";
|
|
|
3
3
|
//#region src/serve-static.d.ts
|
|
4
4
|
type ServeStaticOptions<E extends Env = Env> = {
|
|
5
5
|
/**
|
|
6
|
-
* Root path
|
|
6
|
+
* Root path. Relative path is based on current working directory from which the app was started.
|
|
7
7
|
*/
|
|
8
8
|
root?: string;
|
|
9
9
|
path?: string;
|
package/dist/serve-static.d.mts
CHANGED
|
@@ -3,7 +3,7 @@ import { Context, Env, MiddlewareHandler } from "hono";
|
|
|
3
3
|
//#region src/serve-static.d.ts
|
|
4
4
|
type ServeStaticOptions<E extends Env = Env> = {
|
|
5
5
|
/**
|
|
6
|
-
* Root path
|
|
6
|
+
* Root path. Relative path is based on current working directory from which the app was started.
|
|
7
7
|
*/
|
|
8
8
|
root?: string;
|
|
9
9
|
path?: string;
|