Skip to content

fix: return response from res.body if internal data is not ready to be returned directly#188

Merged
yusukebe merged 1 commit intohonojs:mainfrom
usualoma:fix-detached-array-buffer
Aug 19, 2024
Merged

fix: return response from res.body if internal data is not ready to be returned directly#188
yusukebe merged 1 commit intohonojs:mainfrom
usualoma:fix-detached-array-buffer

Conversation

@usualoma
Copy link
Copy Markdown
Member

@usualoma usualoma commented Aug 18, 2024

fixes #186

"etag" middleware does res.clone(), but if you use Buffer.from, the internal data is shared, so that once data is read with ’etag’, it could not be re-read on the server side.

https://github.com/usualoma/hono/blob/915a8234975b8b875edcdf6a3acc8280dfc898af/src/middleware/etag/index.ts#L66

In such cases, if you read from res.body, the undici handles it well, so you can fallback to res.body.

@usualoma
Copy link
Copy Markdown
Member Author

@yusukebe Would you please review?

Copy link
Copy Markdown
Member

@yusukebe yusukebe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@yusukebe
Copy link
Copy Markdown
Member

@usualoma

Thank you! Good fix. I'll merge it and release a new version.

@yusukebe yusukebe merged commit c8ad154 into honojs:main Aug 19, 2024
@usualoma usualoma deleted the fix-detached-array-buffer branch August 19, 2024 00:40
adamnolte referenced this pull request in seekoai/cli Aug 19, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@hono/node-server](https://togithub.com/honojs/node-server) |
[`1.12.0` ->
`1.12.1`](https://renovatebot.com/diffs/npm/@hono%2fnode-server/1.12.0/1.12.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@hono%2fnode-server/1.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@hono%2fnode-server/1.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@hono%2fnode-server/1.12.0/1.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@hono%2fnode-server/1.12.0/1.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>honojs/node-server (@&#8203;hono/node-server)</summary>

###
[`v1.12.1`](https://togithub.com/honojs/node-server/releases/tag/v1.12.1)

[Compare
Source](https://togithub.com/honojs/node-server/compare/v1.12.0...v1.12.1)

#### What's Changed

- fix: return response from res.body if internal data is not ready to be
returned directly by [@&#8203;usualoma](https://togithub.com/usualoma)
in
[https://github.com/honojs/node-server/pull/188](https://togithub.com/honojs/node-server/pull/188)

**Full Changelog**:
honojs/node-server@v1.12.0...v1.12.1

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone
America/Chicago, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job log](https://developer.mend.io/github/autoblocksai/cli).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cannot return Buffer when ETag middleware is used

2 participants