hono 3.3.0 → 3.3.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.
@@ -45,7 +45,7 @@ var createRequest = (event) => {
45
45
  method
46
46
  };
47
47
  if (event.body) {
48
- requestInit.body = event.isBase64Encoded ? atob(event.body) : event.body;
48
+ requestInit.body = event.isBase64Encoded ? Buffer.from(event.body, "base64") : event.body;
49
49
  }
50
50
  return new Request(url, requestInit);
51
51
  };
@@ -1,7 +1,7 @@
1
1
  // src/adapter/deno/serve-static.ts
2
2
  import { getFilePath } from "../../utils/filepath.js";
3
3
  import { getMimeType } from "../../utils/mime.js";
4
- var { readFile } = Deno;
4
+ var { open } = Deno;
5
5
  var DEFAULT_DOCUMENT = "index.html";
6
6
  var serveStatic = (options = { root: "" }) => {
7
7
  return async (c, next) => {
@@ -17,18 +17,18 @@ var serveStatic = (options = { root: "" }) => {
17
17
  defaultDocument: DEFAULT_DOCUMENT
18
18
  });
19
19
  path = `./${path}`;
20
- let content;
20
+ let file;
21
21
  try {
22
- content = await readFile(path);
22
+ file = await open(path);
23
23
  } catch (e) {
24
24
  console.warn(`${e}`);
25
25
  }
26
- if (content) {
26
+ if (file) {
27
27
  const mimeType = getMimeType(path);
28
28
  if (mimeType) {
29
29
  c.header("Content-Type", mimeType);
30
30
  }
31
- return c.body(content);
31
+ return c.body(file.readable);
32
32
  } else {
33
33
  console.warn(`Static file: ${path} is not found`);
34
34
  await next();
@@ -41,7 +41,7 @@ var createRequest = (event) => {
41
41
  method
42
42
  };
43
43
  const requestBody = event.Records[0].cf.request.body;
44
- requestInit.body = requestBody?.encoding === "base64" && requestBody?.data ? atob(requestBody.data) : requestBody?.data;
44
+ requestInit.body = requestBody?.encoding === "base64" && requestBody?.data ? Buffer.from(requestBody.data, "base64") : requestBody?.data;
45
45
  return new Request(url, requestInit);
46
46
  };
47
47
  var extractQueryString = (event) => {
@@ -74,7 +74,7 @@ const createRequest = (event) => {
74
74
  method
75
75
  };
76
76
  if (event.body) {
77
- requestInit.body = event.isBase64Encoded ? atob(event.body) : event.body;
77
+ requestInit.body = event.isBase64Encoded ? Buffer.from(event.body, "base64") : event.body;
78
78
  }
79
79
  return new Request(url, requestInit);
80
80
  };
@@ -23,7 +23,7 @@ __export(serve_static_exports, {
23
23
  module.exports = __toCommonJS(serve_static_exports);
24
24
  var import_filepath = require("../../utils/filepath");
25
25
  var import_mime = require("../../utils/mime");
26
- const { readFile } = Deno;
26
+ const { open } = Deno;
27
27
  const DEFAULT_DOCUMENT = "index.html";
28
28
  const serveStatic = (options = { root: "" }) => {
29
29
  return async (c, next) => {
@@ -39,18 +39,18 @@ const serveStatic = (options = { root: "" }) => {
39
39
  defaultDocument: DEFAULT_DOCUMENT
40
40
  });
41
41
  path = `./${path}`;
42
- let content;
42
+ let file;
43
43
  try {
44
- content = await readFile(path);
44
+ file = await open(path);
45
45
  } catch (e) {
46
46
  console.warn(`${e}`);
47
47
  }
48
- if (content) {
48
+ if (file) {
49
49
  const mimeType = (0, import_mime.getMimeType)(path);
50
50
  if (mimeType) {
51
51
  c.header("Content-Type", mimeType);
52
52
  }
53
- return c.body(content);
53
+ return c.body(file.readable);
54
54
  } else {
55
55
  console.warn(`Static file: ${path} is not found`);
56
56
  await next();
@@ -70,7 +70,7 @@ const createRequest = (event) => {
70
70
  method
71
71
  };
72
72
  const requestBody = event.Records[0].cf.request.body;
73
- requestInit.body = requestBody?.encoding === "base64" && requestBody?.data ? atob(requestBody.data) : requestBody?.data;
73
+ requestInit.body = requestBody?.encoding === "base64" && requestBody?.data ? Buffer.from(requestBody.data, "base64") : requestBody?.data;
74
74
  return new Request(url, requestInit);
75
75
  };
76
76
  const extractQueryString = (event) => {
@@ -35,6 +35,9 @@ const cache = (options) => {
35
35
  const response = await cache2.match(key);
36
36
  if (!response) {
37
37
  await next();
38
+ if (!c.res.ok) {
39
+ return;
40
+ }
38
41
  addHeader(c.res);
39
42
  const response2 = c.res.clone();
40
43
  if (options.wait) {
@@ -43,7 +46,7 @@ const cache = (options) => {
43
46
  c.executionCtx.waitUntil(cache2.put(key, response2));
44
47
  }
45
48
  } else {
46
- return response;
49
+ return new Response(response.body, response);
47
50
  }
48
51
  };
49
52
  };
@@ -13,6 +13,9 @@ var cache = (options) => {
13
13
  const response = await cache2.match(key);
14
14
  if (!response) {
15
15
  await next();
16
+ if (!c.res.ok) {
17
+ return;
18
+ }
16
19
  addHeader(c.res);
17
20
  const response2 = c.res.clone();
18
21
  if (options.wait) {
@@ -21,7 +24,7 @@ var cache = (options) => {
21
24
  c.executionCtx.waitUntil(cache2.put(key, response2));
22
25
  }
23
26
  } else {
24
- return response;
27
+ return new Response(response.body, response);
25
28
  }
26
29
  };
27
30
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hono",
3
- "version": "3.3.0",
3
+ "version": "3.3.1",
4
4
  "description": "Ultrafast web framework for the Edges",
5
5
  "main": "dist/cjs/index.js",
6
6
  "type": "module",