You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This was an issue originally raised here: awslabs/aws-lambda-web-adapter#99. Since the root issue is not in that project but this one I'm moving discussion here.
Problem: Whenever a url that contains a querystring with percent encoded values is passed through lambda-http, it gets double encoded in the newly generated http request if the original event source was an ALB. This is because the Lambda Event for ALBs does not automatically decode querystrings, whereas the same event for API Gateways do:
Comments on closed issues are hard for the maintainers of this repository to see.
If you need more assistance, please open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.
This was an issue originally raised here: awslabs/aws-lambda-web-adapter#99. Since the root issue is not in that project but this one I'm moving discussion here.
Problem: Whenever a url that contains a querystring with percent encoded values is passed through lambda-http, it gets double encoded in the newly generated http request if the original event source was an ALB. This is because the Lambda Event for ALBs does not automatically decode querystrings, whereas the same event for API Gateways do:
https://serverless-training.com/articles/api-gateway-vs-application-load-balancer-technical-details/ (about half way down the page)
Discussion on the original issue lead to the thought that this difference should be handled here (but currently is not):
aws-lambda-rust-runtime/lambda-http/src/request.rs
Line 209 in fd2ea23
Here is an example of a url that triggers this issue:
https://test.com/?originalQueryString=%3FshowAll%3Dtrue
When passed from an API Gateway the url passes through correctly:
https://test.com/?originalQueryString=%3FshowAll%3Dtrue
But if the original source was an ALB you get this instead:
https://test.com/?originalQueryString=%253FshowAll%253Dtrue
Thanks in advance.
The text was updated successfully, but these errors were encountered: