-
Notifications
You must be signed in to change notification settings - Fork 476
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
About matrix parameter and URL decoding #440
Comments
Hi @slowvincy, it is my understanding that this is not yet supported by API Gateway, so there is little we can do until they support it. I can help voice your feedback to the API Gateway team, but I would suggest contributing to the AWS Forums for API Gateway. I think the best thing would be to try to use query parameters instead. |
@slowvincy Does ASP.NET Core support Matrix parameters? |
@andymac4182 When you do
this ASP.NET Core 2.1 controller works properly and Swagger understands
The bottom line is, if a request can be handled by ASP.NET Core controller it should be able to be handled through this library as well, which I believe is the intention of this library. Please let me know if there is further detail I can provide. Thanks. |
Ahh that makes sense. Do you have the raw path request that was received from API Gateway before its decoded by the library? and some examples of the URLs with the values filled in. |
Yes, from API Gateway CloudWatch: |
Sorry I just got to read this. Do you have an example of the path that doesn't work. If I read the above correctly you said with the |
I'm not sure what you mean. The above URL doesn't work through the library because it got decoded to |
Please kindly advise how I can escalate priority of this issue. Thanks. |
This bug doesn't appear to be related to matrix parameters on API Gateway in any specific way -- it's only what surfaced it. In I intend to make a PR today/tomorrow which will, uh... Hm, double-escape '%2F' to '%252F' in |
Hi, I came across similar issue but with query string encoding. I need to pass '&' as part of the query parameter value so I'm encoding it to '%26'. However it looks like it's automatically decoded during marshaling the request, so ASP.NET Core cannot properly read value of that query parameter. When I use double encoding it works correctly. I'm considering that as a bug. Idea of Lambda Proxy Integration is to pass entire request as it is and let ASP.NET CORE pipeline to do the rest. |
Hi there, we have a case where we accept matrix parameter in our REST API like
/v1/gangs;item={itemUrl}
. But because this library does not recognize matrix parameter and also decodes the URL path when marshaling the API Gateway request (https://github.com/aws/aws-lambda-dotnet/blob/master/Libraries/src/Amazon.Lambda.AspNetCoreServer/APIGatewayProxyFunction.cs#L187), it results in theRequest did not match any routes
error in ASP.NET Core. The path must be breaking like/v1/gangs;item=https:/{restOfItemUrl}
. I have verified either changing to query parameter or NOT decoding the URL path works. Would you please advise your idea on this issue and possible support for this case? Thanks.The text was updated successfully, but these errors were encountered: