-
-
Notifications
You must be signed in to change notification settings - Fork 444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(aws-lambda): avoid duplicating already set headers #2585
Conversation
Thanks @Amorim33 ! @watany-dev Could you review this? |
I have tried to fix the problem at hand for a short time, but it appears that the header rewrite does not work if I just change the createRequest. In fact, I can see that the test is still failing with this fix. |
Hello @watany-dev! Sorry for this, I didn't realize that tests were not passing when running This was happening because of other LambdaEvent related global definitions, the "content-type" header was missing in my test. Just fixed it! Now, I believe that the tests are running properly and headers are not getting duplicated anymore. May you please, run the workflow one more time? |
Hi @Amorim33 Thanks! Can you run |
c8a1f82
to
9e759dd
Compare
Sure, thank you @yusukebe ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Thanks! I'll merge this now. |
[![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](https://hono.dev/) ([source](https://togithub.com/honojs/hono)) | [`4.3.0` -> `4.3.6`](https://renovatebot.com/diffs/npm/hono/4.3.0/4.3.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/hono/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/hono/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/hono/4.3.0/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/hono/4.3.0/4.3.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>honojs/hono (hono)</summary> ### [`v4.3.6`](https://togithub.com/honojs/hono/releases/tag/v4.3.6) [Compare Source](https://togithub.com/honojs/hono/compare/v4.3.5...v4.3.6) #### What's Changed - feat(cache): improved customizability by [@​MathurAditya724](https://togithub.com/MathurAditya724) in [honojs/hono#2652 - fix(utils/body): support multiple `File`s by [@​yusukebe](https://togithub.com/yusukebe) in [honojs/hono#2665 #### New Contributors - [@​MathurAditya724](https://togithub.com/MathurAditya724) made their first contribution in [honojs/hono#2652 **Full Changelog**: honojs/hono@v4.3.5...v4.3.6 ### [`v4.3.5`](https://togithub.com/honojs/hono/releases/tag/v4.3.5) [Compare Source](https://togithub.com/honojs/hono/compare/v4.3.4...v4.3.5) #### What's Changed - refactor(context): remove some `any` by [@​yusukebe](https://togithub.com/yusukebe) in [honojs/hono#2658 - feat(hono-base): tweaks `fetch` signature for better compatibility with `deno serve` by [@​usualoma](https://togithub.com/usualoma) in [honojs/hono#2661 - perf(types): add type annotations by [@​yusukebe](https://togithub.com/yusukebe) in [honojs/hono#2663 **Full Changelog**: honojs/hono@v4.3.4...v4.3.5 ### [`v4.3.4`](https://togithub.com/honojs/hono/releases/tag/v4.3.4) [Compare Source](https://togithub.com/honojs/hono/compare/v4.3.3...v4.3.4) #### What's Changed - chore: update the pull request template by [@​yusukebe](https://togithub.com/yusukebe) in [honojs/hono#2647 - feat(validator): check for json subtypes in validator by [@​ztiromoritz](https://togithub.com/ztiromoritz) in [honojs/hono#2634 - feat(jsx/dom): support getServerSnapshot in useSyncExternalStore by [@​usualoma](https://togithub.com/usualoma) in [honojs/hono#2646 #### New Contributors - [@​ztiromoritz](https://togithub.com/ztiromoritz) made their first contribution in [honojs/hono#2634 **Full Changelog**: honojs/hono@v4.3.3...v4.3.4 ### [`v4.3.3`](https://togithub.com/honojs/hono/releases/tag/v4.3.3) [Compare Source](https://togithub.com/honojs/hono/compare/v4.3.2...v4.3.3) #### What's Changed - fix(types): relax the type of `c.req.param()` by [@​yusukebe](https://togithub.com/yusukebe) in [honojs/hono#2613 - chore(eslint): enable `@typescript-eslint/unbound-method` by [@​yusukebe](https://togithub.com/yusukebe) in [honojs/hono#2622 - fix(factory): support `createFactory()` destruction by [@​yusukebe](https://togithub.com/yusukebe) in [honojs/hono#2623 - fix(aws-lambda): avoid duplicating already set headers by [@​Amorim33](https://togithub.com/Amorim33) in [honojs/hono#2585 - refactor: improve parseBody function and docs by [@​mgrithm](https://togithub.com/mgrithm) in [honojs/hono#2628 - fix(validator): `form` supports multiple values with `foo[]` by [@​yusukebe](https://togithub.com/yusukebe) in [honojs/hono#2639 #### New Contributors - [@​Amorim33](https://togithub.com/Amorim33) made their first contribution in [honojs/hono#2585 **Full Changelog**: honojs/hono@v4.3.2...v4.3.3 ### [`v4.3.2`](https://togithub.com/honojs/hono/releases/tag/v4.3.2) [Compare Source](https://togithub.com/honojs/hono/compare/v4.3.1...v4.3.2) #### What's Changed - fix(types): correct inferring when Method has Endponts as Union by [@​yusukebe](https://togithub.com/yusukebe) in [honojs/hono#2610 **Full Changelog**: honojs/hono@v4.3.1...v4.3.2 ### [`v4.3.1`](https://togithub.com/honojs/hono/releases/tag/v4.3.1) [Compare Source](https://togithub.com/honojs/hono/compare/v4.3.0...v4.3.1) #### What's Changed - fix(types): `ToSchema` compatibility by [@​NamesMT](https://togithub.com/NamesMT) in [honojs/hono#2605 **Full Changelog**: honojs/hono@v4.3.0...v4.3.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 has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/autoblocksai/cli). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNDAuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
fix #2550
Description
This pull request avoids duplicating already set headers; this was happening because API Gateway V1 event has "multiValueHeaders" for headers with multiple values.
Currently, Hono AWS Lambda adapter appends any value from these "multiValueHeaders" in the current Header instance.
This leads to duplicated values when a key is already defined
.How
getProcessor
function was exported for unit testing purposes;References
https://docs.aws.amazon.com/lambda/latest/dg/services-apigateway.html
https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html
Author should do the followings, if applicable
bun denoify
to generate files for DenoExtra
Thanks to @jean-leonco that found the bug in @BemteviSeguros API, @kbrandwijk that opened the issue and @ShaneYu that suggested the idea of the fix.
Please let me know if this aligns with the library goals and if the code follows the repository recommendations.
Thanks in advance.