hono 4.0.0 → 4.0.1

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.
@@ -63,7 +63,6 @@ class Context {
63
63
  this.renderer = (content) => this.html(content);
64
64
  this.notFoundHandler = () => new Response();
65
65
  this.render = (...args) => this.renderer(...args);
66
- this.render = (...args) => this.renderer(...args);
67
66
  this.setLayout = (layout) => this.layout = layout;
68
67
  this.getLayout = () => this.layout;
69
68
  this.setRenderer = (renderer) => {
@@ -100,9 +100,13 @@ const fetchRoutesContent = async (app, beforeRequestHook, afterResponseHook) =>
100
100
  }
101
101
  forGetInfoURLRequest.ssgParams = [{}];
102
102
  }
103
+ const requestInit = {
104
+ method: forGetInfoURLRequest.method,
105
+ headers: forGetInfoURLRequest.headers
106
+ };
103
107
  for (const param of forGetInfoURLRequest.ssgParams) {
104
108
  const replacedUrlParam = (0, import_utils.replaceUrlParam)(route.path, param);
105
- let response = await app.request(replacedUrlParam, forGetInfoURLRequest);
109
+ let response = await app.request(replacedUrlParam, requestInit);
106
110
  if (response.headers.get(X_HONO_DISABLE_SSG_HEADER_KEY)) {
107
111
  continue;
108
112
  }
@@ -31,7 +31,12 @@ class SSEStreamingApi extends import_stream.StreamingApi {
31
31
  const data = message.data.split("\n").map((line) => {
32
32
  return `data: ${line}`;
33
33
  }).join("\n");
34
- const sseData = [message.event && `event: ${message.event}`, data, message.id && `id: ${message.id}`].filter(Boolean).join("\n") + "\n\n";
34
+ const sseData = [
35
+ message.event && `event: ${message.event}`,
36
+ data,
37
+ message.id && `id: ${message.id}`,
38
+ message.retry && `retry: ${message.retry}`
39
+ ].filter(Boolean).join("\n") + "\n\n";
35
40
  await this.write(sseData);
36
41
  }
37
42
  }
package/dist/context.js CHANGED
@@ -41,7 +41,6 @@ var Context = class {
41
41
  this.renderer = (content) => this.html(content);
42
42
  this.notFoundHandler = () => new Response();
43
43
  this.render = (...args) => this.renderer(...args);
44
- this.render = (...args) => this.renderer(...args);
45
44
  this.setLayout = (layout) => this.layout = layout;
46
45
  this.getLayout = () => this.layout;
47
46
  this.setRenderer = (renderer) => {
@@ -71,9 +71,13 @@ var fetchRoutesContent = async (app, beforeRequestHook, afterResponseHook) => {
71
71
  }
72
72
  forGetInfoURLRequest.ssgParams = [{}];
73
73
  }
74
+ const requestInit = {
75
+ method: forGetInfoURLRequest.method,
76
+ headers: forGetInfoURLRequest.headers
77
+ };
74
78
  for (const param of forGetInfoURLRequest.ssgParams) {
75
79
  const replacedUrlParam = replaceUrlParam(route.path, param);
76
- let response = await app.request(replacedUrlParam, forGetInfoURLRequest);
80
+ let response = await app.request(replacedUrlParam, requestInit);
77
81
  if (response.headers.get(X_HONO_DISABLE_SSG_HEADER_KEY)) {
78
82
  continue;
79
83
  }
@@ -8,7 +8,12 @@ var SSEStreamingApi = class extends StreamingApi {
8
8
  const data = message.data.split("\n").map((line) => {
9
9
  return `data: ${line}`;
10
10
  }).join("\n");
11
- const sseData = [message.event && `event: ${message.event}`, data, message.id && `id: ${message.id}`].filter(Boolean).join("\n") + "\n\n";
11
+ const sseData = [
12
+ message.event && `event: ${message.event}`,
13
+ data,
14
+ message.id && `id: ${message.id}`,
15
+ message.retry && `retry: ${message.retry}`
16
+ ].filter(Boolean).join("\n") + "\n\n";
12
17
  await this.write(sseData);
13
18
  }
14
19
  };
@@ -112,6 +112,14 @@ export declare class Context<E extends Env = any, P extends string = any, I exte
112
112
  * @see https://hono.dev/api/context#render-setrenderer
113
113
  */
114
114
  render: Renderer;
115
+ setLayout: (layout: FC<PropsForRenderer & {
116
+ Layout: FC;
117
+ }>) => FC<{
118
+ Layout: FC;
119
+ }>;
120
+ getLayout: () => FC<{
121
+ Layout: FC;
122
+ }> | undefined;
115
123
  /**
116
124
  * `.setRenderer()` can set the layout in the custom middleware.
117
125
  * @example
@@ -131,15 +139,6 @@ export declare class Context<E extends Env = any, P extends string = any, I exte
131
139
  * ```
132
140
  * @see https://hono.dev/api/context#render-setrenderer
133
141
  */
134
- render: Renderer;
135
- setLayout: (layout: FC<PropsForRenderer & {
136
- Layout: FC;
137
- }>) => FC<{
138
- Layout: FC;
139
- }>;
140
- getLayout: () => FC<{
141
- Layout: FC;
142
- }> | undefined;
143
142
  setRenderer: (renderer: Renderer) => void;
144
143
  /**
145
144
  * `.header()` can set headers.
@@ -4,6 +4,7 @@ export interface SSEMessage {
4
4
  data: string;
5
5
  event?: string;
6
6
  id?: string;
7
+ retry?: number;
7
8
  }
8
9
  export declare class SSEStreamingApi extends StreamingApi {
9
10
  constructor(writable: WritableStream, readable: ReadableStream);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hono",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "Ultrafast web framework for the Edges",
5
5
  "main": "dist/cjs/index.js",
6
6
  "type": "module",