@hono/node-server 1.19.4 → 1.19.6

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.js CHANGED
@@ -302,12 +302,16 @@ async function readWithoutBlocking(readPromise) {
302
302
  return Promise.race([readPromise, Promise.resolve().then(() => Promise.resolve(void 0))]);
303
303
  }
304
304
  function writeFromReadableStreamDefaultReader(reader, writable, currentReadPromise) {
305
- const handleError = () => {
305
+ const cancel = (error) => {
306
+ reader.cancel(error).catch(() => {
307
+ });
306
308
  };
307
- writable.on("error", handleError);
309
+ writable.on("close", cancel);
310
+ writable.on("error", cancel);
308
311
  (currentReadPromise ?? reader.read()).then(flow, handleStreamError);
309
312
  return reader.closed.finally(() => {
310
- writable.off("error", handleError);
313
+ writable.off("close", cancel);
314
+ writable.off("error", cancel);
311
315
  });
312
316
  function handleStreamError(error) {
313
317
  if (error) {
package/dist/index.mjs CHANGED
@@ -263,12 +263,16 @@ async function readWithoutBlocking(readPromise) {
263
263
  return Promise.race([readPromise, Promise.resolve().then(() => Promise.resolve(void 0))]);
264
264
  }
265
265
  function writeFromReadableStreamDefaultReader(reader, writable, currentReadPromise) {
266
- const handleError = () => {
266
+ const cancel = (error) => {
267
+ reader.cancel(error).catch(() => {
268
+ });
267
269
  };
268
- writable.on("error", handleError);
270
+ writable.on("close", cancel);
271
+ writable.on("error", cancel);
269
272
  (currentReadPromise ?? reader.read()).then(flow, handleStreamError);
270
273
  return reader.closed.finally(() => {
271
- writable.off("error", handleError);
274
+ writable.off("close", cancel);
275
+ writable.off("error", cancel);
272
276
  });
273
277
  function handleStreamError(error) {
274
278
  if (error) {
package/dist/listener.js CHANGED
@@ -294,12 +294,16 @@ async function readWithoutBlocking(readPromise) {
294
294
  return Promise.race([readPromise, Promise.resolve().then(() => Promise.resolve(void 0))]);
295
295
  }
296
296
  function writeFromReadableStreamDefaultReader(reader, writable, currentReadPromise) {
297
- const handleError = () => {
297
+ const cancel = (error) => {
298
+ reader.cancel(error).catch(() => {
299
+ });
298
300
  };
299
- writable.on("error", handleError);
301
+ writable.on("close", cancel);
302
+ writable.on("error", cancel);
300
303
  (currentReadPromise ?? reader.read()).then(flow, handleStreamError);
301
304
  return reader.closed.finally(() => {
302
- writable.off("error", handleError);
305
+ writable.off("close", cancel);
306
+ writable.off("error", cancel);
303
307
  });
304
308
  function handleStreamError(error) {
305
309
  if (error) {
package/dist/listener.mjs CHANGED
@@ -260,12 +260,16 @@ async function readWithoutBlocking(readPromise) {
260
260
  return Promise.race([readPromise, Promise.resolve().then(() => Promise.resolve(void 0))]);
261
261
  }
262
262
  function writeFromReadableStreamDefaultReader(reader, writable, currentReadPromise) {
263
- const handleError = () => {
263
+ const cancel = (error) => {
264
+ reader.cancel(error).catch(() => {
265
+ });
264
266
  };
265
- writable.on("error", handleError);
267
+ writable.on("close", cancel);
268
+ writable.on("error", cancel);
266
269
  (currentReadPromise ?? reader.read()).then(flow, handleStreamError);
267
270
  return reader.closed.finally(() => {
268
- writable.off("error", handleError);
271
+ writable.off("close", cancel);
272
+ writable.off("error", cancel);
269
273
  });
270
274
  function handleStreamError(error) {
271
275
  if (error) {
@@ -98,7 +98,6 @@ var serveStatic = (options = { root: "" }) => {
98
98
  await options.onNotFound?.(path, c);
99
99
  return next();
100
100
  }
101
- await options.onFound?.(path, c);
102
101
  const mimeType = (0, import_mime.getMimeType)(path);
103
102
  c.header("Content-Type", mimeType || "application/octet-stream");
104
103
  if (options.precompressed && (!mimeType || COMPRESSIBLE_CONTENT_TYPE_REGEX.test(mimeType))) {
@@ -119,30 +118,33 @@ var serveStatic = (options = { root: "" }) => {
119
118
  }
120
119
  }
121
120
  }
121
+ let result;
122
122
  const size = stats.size;
123
+ const range = c.req.header("range") || "";
123
124
  if (c.req.method == "HEAD" || c.req.method == "OPTIONS") {
124
125
  c.header("Content-Length", size.toString());
125
126
  c.status(200);
126
- return c.body(null);
127
- }
128
- const range = c.req.header("range") || "";
129
- if (!range) {
127
+ result = c.body(null);
128
+ } else if (!range) {
130
129
  c.header("Content-Length", size.toString());
131
- return c.body(createStreamBody((0, import_node_fs.createReadStream)(path)), 200);
132
- }
133
- c.header("Accept-Ranges", "bytes");
134
- c.header("Date", stats.birthtime.toUTCString());
135
- const parts = range.replace(/bytes=/, "").split("-", 2);
136
- const start = parseInt(parts[0], 10) || 0;
137
- let end = parseInt(parts[1], 10) || size - 1;
138
- if (size < end - start + 1) {
139
- end = size - 1;
130
+ result = c.body(createStreamBody((0, import_node_fs.createReadStream)(path)), 200);
131
+ } else {
132
+ c.header("Accept-Ranges", "bytes");
133
+ c.header("Date", stats.birthtime.toUTCString());
134
+ const parts = range.replace(/bytes=/, "").split("-", 2);
135
+ const start = parseInt(parts[0], 10) || 0;
136
+ let end = parseInt(parts[1], 10) || size - 1;
137
+ if (size < end - start + 1) {
138
+ end = size - 1;
139
+ }
140
+ const chunksize = end - start + 1;
141
+ const stream = (0, import_node_fs.createReadStream)(path, { start, end });
142
+ c.header("Content-Length", chunksize.toString());
143
+ c.header("Content-Range", `bytes ${start}-${end}/${stats.size}`);
144
+ result = c.body(createStreamBody(stream), 206);
140
145
  }
141
- const chunksize = end - start + 1;
142
- const stream = (0, import_node_fs.createReadStream)(path, { start, end });
143
- c.header("Content-Length", chunksize.toString());
144
- c.header("Content-Range", `bytes ${start}-${end}/${stats.size}`);
145
- return c.body(createStreamBody(stream), 206);
146
+ await options.onFound?.(path, c);
147
+ return result;
146
148
  };
147
149
  };
148
150
  // Annotate the CommonJS export names for ESM import in node:
@@ -74,7 +74,6 @@ var serveStatic = (options = { root: "" }) => {
74
74
  await options.onNotFound?.(path, c);
75
75
  return next();
76
76
  }
77
- await options.onFound?.(path, c);
78
77
  const mimeType = getMimeType(path);
79
78
  c.header("Content-Type", mimeType || "application/octet-stream");
80
79
  if (options.precompressed && (!mimeType || COMPRESSIBLE_CONTENT_TYPE_REGEX.test(mimeType))) {
@@ -95,30 +94,33 @@ var serveStatic = (options = { root: "" }) => {
95
94
  }
96
95
  }
97
96
  }
97
+ let result;
98
98
  const size = stats.size;
99
+ const range = c.req.header("range") || "";
99
100
  if (c.req.method == "HEAD" || c.req.method == "OPTIONS") {
100
101
  c.header("Content-Length", size.toString());
101
102
  c.status(200);
102
- return c.body(null);
103
- }
104
- const range = c.req.header("range") || "";
105
- if (!range) {
103
+ result = c.body(null);
104
+ } else if (!range) {
106
105
  c.header("Content-Length", size.toString());
107
- return c.body(createStreamBody(createReadStream(path)), 200);
108
- }
109
- c.header("Accept-Ranges", "bytes");
110
- c.header("Date", stats.birthtime.toUTCString());
111
- const parts = range.replace(/bytes=/, "").split("-", 2);
112
- const start = parseInt(parts[0], 10) || 0;
113
- let end = parseInt(parts[1], 10) || size - 1;
114
- if (size < end - start + 1) {
115
- end = size - 1;
106
+ result = c.body(createStreamBody(createReadStream(path)), 200);
107
+ } else {
108
+ c.header("Accept-Ranges", "bytes");
109
+ c.header("Date", stats.birthtime.toUTCString());
110
+ const parts = range.replace(/bytes=/, "").split("-", 2);
111
+ const start = parseInt(parts[0], 10) || 0;
112
+ let end = parseInt(parts[1], 10) || size - 1;
113
+ if (size < end - start + 1) {
114
+ end = size - 1;
115
+ }
116
+ const chunksize = end - start + 1;
117
+ const stream = createReadStream(path, { start, end });
118
+ c.header("Content-Length", chunksize.toString());
119
+ c.header("Content-Range", `bytes ${start}-${end}/${stats.size}`);
120
+ result = c.body(createStreamBody(stream), 206);
116
121
  }
117
- const chunksize = end - start + 1;
118
- const stream = createReadStream(path, { start, end });
119
- c.header("Content-Length", chunksize.toString());
120
- c.header("Content-Range", `bytes ${start}-${end}/${stats.size}`);
121
- return c.body(createStreamBody(stream), 206);
122
+ await options.onFound?.(path, c);
123
+ return result;
122
124
  };
123
125
  };
124
126
  export {
package/dist/server.js CHANGED
@@ -298,12 +298,16 @@ async function readWithoutBlocking(readPromise) {
298
298
  return Promise.race([readPromise, Promise.resolve().then(() => Promise.resolve(void 0))]);
299
299
  }
300
300
  function writeFromReadableStreamDefaultReader(reader, writable, currentReadPromise) {
301
- const handleError = () => {
301
+ const cancel = (error) => {
302
+ reader.cancel(error).catch(() => {
303
+ });
302
304
  };
303
- writable.on("error", handleError);
305
+ writable.on("close", cancel);
306
+ writable.on("error", cancel);
304
307
  (currentReadPromise ?? reader.read()).then(flow, handleStreamError);
305
308
  return reader.closed.finally(() => {
306
- writable.off("error", handleError);
309
+ writable.off("close", cancel);
310
+ writable.off("error", cancel);
307
311
  });
308
312
  function handleStreamError(error) {
309
313
  if (error) {
package/dist/server.mjs CHANGED
@@ -263,12 +263,16 @@ async function readWithoutBlocking(readPromise) {
263
263
  return Promise.race([readPromise, Promise.resolve().then(() => Promise.resolve(void 0))]);
264
264
  }
265
265
  function writeFromReadableStreamDefaultReader(reader, writable, currentReadPromise) {
266
- const handleError = () => {
266
+ const cancel = (error) => {
267
+ reader.cancel(error).catch(() => {
268
+ });
267
269
  };
268
- writable.on("error", handleError);
270
+ writable.on("close", cancel);
271
+ writable.on("error", cancel);
269
272
  (currentReadPromise ?? reader.read()).then(flow, handleStreamError);
270
273
  return reader.closed.finally(() => {
271
- writable.off("error", handleError);
274
+ writable.off("close", cancel);
275
+ writable.off("error", cancel);
272
276
  });
273
277
  function handleStreamError(error) {
274
278
  if (error) {
package/dist/utils.js CHANGED
@@ -30,12 +30,16 @@ async function readWithoutBlocking(readPromise) {
30
30
  return Promise.race([readPromise, Promise.resolve().then(() => Promise.resolve(void 0))]);
31
31
  }
32
32
  function writeFromReadableStreamDefaultReader(reader, writable, currentReadPromise) {
33
- const handleError = () => {
33
+ const cancel = (error) => {
34
+ reader.cancel(error).catch(() => {
35
+ });
34
36
  };
35
- writable.on("error", handleError);
37
+ writable.on("close", cancel);
38
+ writable.on("error", cancel);
36
39
  (currentReadPromise ?? reader.read()).then(flow, handleStreamError);
37
40
  return reader.closed.finally(() => {
38
- writable.off("error", handleError);
41
+ writable.off("close", cancel);
42
+ writable.off("error", cancel);
39
43
  });
40
44
  function handleStreamError(error) {
41
45
  if (error) {
package/dist/utils.mjs CHANGED
@@ -3,12 +3,16 @@ async function readWithoutBlocking(readPromise) {
3
3
  return Promise.race([readPromise, Promise.resolve().then(() => Promise.resolve(void 0))]);
4
4
  }
5
5
  function writeFromReadableStreamDefaultReader(reader, writable, currentReadPromise) {
6
- const handleError = () => {
6
+ const cancel = (error) => {
7
+ reader.cancel(error).catch(() => {
8
+ });
7
9
  };
8
- writable.on("error", handleError);
10
+ writable.on("close", cancel);
11
+ writable.on("error", cancel);
9
12
  (currentReadPromise ?? reader.read()).then(flow, handleStreamError);
10
13
  return reader.closed.finally(() => {
11
- writable.off("error", handleError);
14
+ writable.off("close", cancel);
15
+ writable.off("error", cancel);
12
16
  });
13
17
  function handleStreamError(error) {
14
18
  if (error) {
package/dist/vercel.js CHANGED
@@ -296,12 +296,16 @@ async function readWithoutBlocking(readPromise) {
296
296
  return Promise.race([readPromise, Promise.resolve().then(() => Promise.resolve(void 0))]);
297
297
  }
298
298
  function writeFromReadableStreamDefaultReader(reader, writable, currentReadPromise) {
299
- const handleError = () => {
299
+ const cancel = (error) => {
300
+ reader.cancel(error).catch(() => {
301
+ });
300
302
  };
301
- writable.on("error", handleError);
303
+ writable.on("close", cancel);
304
+ writable.on("error", cancel);
302
305
  (currentReadPromise ?? reader.read()).then(flow, handleStreamError);
303
306
  return reader.closed.finally(() => {
304
- writable.off("error", handleError);
307
+ writable.off("close", cancel);
308
+ writable.off("error", cancel);
305
309
  });
306
310
  function handleStreamError(error) {
307
311
  if (error) {
package/dist/vercel.mjs CHANGED
@@ -260,12 +260,16 @@ async function readWithoutBlocking(readPromise) {
260
260
  return Promise.race([readPromise, Promise.resolve().then(() => Promise.resolve(void 0))]);
261
261
  }
262
262
  function writeFromReadableStreamDefaultReader(reader, writable, currentReadPromise) {
263
- const handleError = () => {
263
+ const cancel = (error) => {
264
+ reader.cancel(error).catch(() => {
265
+ });
264
266
  };
265
- writable.on("error", handleError);
267
+ writable.on("close", cancel);
268
+ writable.on("error", cancel);
266
269
  (currentReadPromise ?? reader.read()).then(flow, handleStreamError);
267
270
  return reader.closed.finally(() => {
268
- writable.off("error", handleError);
271
+ writable.off("close", cancel);
272
+ writable.off("error", cancel);
269
273
  });
270
274
  function handleStreamError(error) {
271
275
  if (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hono/node-server",
3
- "version": "1.19.4",
3
+ "version": "1.19.6",
4
4
  "description": "Node.js Adapter for Hono",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",