Skip to content
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_api_gateway handler not accepting combined headers and multiValueHeaders #229

Merged
merged 6 commits into from
Feb 4, 2022

Conversation

Feriixu
Copy link
Contributor

@Feriixu Feriixu commented Feb 3, 2022

When calling a Lambda via a AWS API Gateway, you are supposed to be able to use both normal headers and "multiValueHeaders" as described here: "Multi-value headers as well as single-value headers and parameters can be combined in the same requests and responses."

I fixed this by simply checking for both keys in the event dict and updating the resulting headers dict first with the normal headers and then with the multiValueHeaders, so they still take precedence.

@Feriixu
Copy link
Contributor Author

Feriixu commented Feb 3, 2022

And please create a release, so this gets pushed to PyPi 😄

@jordaneremieff
Copy link
Owner

If you specify values for both headers and multiValueHeaders, API Gateway merges them into a single list. If the same key-value pair is specified in both, only the values from multiValueHeaders will appear in the merged list.

Yep this makes sense, thanks. If you fix the tests I'll merge and see about a release.

@Feriixu
Copy link
Contributor Author

Feriixu commented Feb 4, 2022

That should fix it.

There was a single space where there shouldn't have been one, so the assert failed.
Lines were too long
@Feriixu
Copy link
Contributor Author

Feriixu commented Feb 4, 2022

The linters are happy now, and I fixed the tests. You may want to squash that mess (lol).

@jordaneremieff jordaneremieff merged commit e40948f into jordaneremieff:main Feb 4, 2022
khamaileon pushed a commit to khamaileon/mangum that referenced this pull request Jan 13, 2024
…alueHeaders (jordaneremieff#229)

* Fix aws_api_gateway handler not accepting combined headers and multiValueHeaders

* Fix test_aws_api_gateway.py::test_aws_api_gateway_scope_basic

* Formatting

* Fix test_aws_api_gateway_scope_basic again

There was a single space where there shouldn't have been one, so the assert failed.

* More reformatting

Lines were too long

* Okay now the linters should be happy
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.

None yet

2 participants