I have specified controller accepting dictionary as an argument of an action method.
public ActionResult GetSomething([FromQuery] Dictionary<string, string> arg)
When running this application outside of Service Fabric request mentioned below will be successfully handled.
api/contoller/getsomething?arg[0].Key=k1&arg[0].Value=v1&arg[1].Key=k2&arg[1].Value=v2
Passing the same request via Reverse Proxy to the service hosted in Service Fabric I will get 400 FABRIC_E_INVALID_ADDRESS. Seems like Reverse Proxy doesn't support dictionary parameters.
Fails on lists too -- e.g. \GetFoo?Bar[0]=something -- with 400 FABRIC_E_INVALID_ADDRESS
It seems as soon as there's an [ in the url it fails.
Sending lists as ?bar=baz&bar=qux works fine
Actually; it seems that it fails for a url like this as well: /Provider/google-oauth2|5345345436345. If I encode the url to /Provider/google-oauth2%7C5345345436345 it still fails with the same 400 FABRIC_E_INVALID_ADDRESS message returned. Any suggestions on a workaround would be appreciated!
@mariwing will the workaround suggested in Issue 418 work for you?
Let us keep this thread for the dictionary/ list parameter in the URI and discuss the auth| path support in 418.
The problem described by @SergiiKliebanov still exists. Also I can say that the problem appears not only when square brackets contains in query-params, but also when there are brackets in url path.
So for example, if my app was deployed via service fabric both urls ends up in error:
400 FABRIC_E_INVALID_ADDRESS
http://localhost:someport/myApp/books/getById/qw[er]ty
http://localhost:someport/myApp/books/getById?id=qw[er]ty
Encoding of square brackets also doesnt help - I've got the same result with 400 error.
But if my app was started without service fabric in classic MVC-style there is no such problem of course.
This is also an issue when using the reverse proxy and SignalR. The negotation urI it uses looked like this:
http://localhost:someport/signalr/negotiate?clientProtocol=1.4&connectionData=[%7B"Name":"MyHub"%7D]
The square brackets break it and it returns a 400 FABRIC_E_INVALID_ADDRESS. Has there been any headway on this?
Hello? This has been a problem for a year now. Any action?
@vturecek @sridmad @kavyako any chance you could share an update on the status of this issue? Are there any planned updates to address it?
Thanks.
Any Update on this issue? I'm running 6.5.658.9590 but stil [] are giving us a 400 error
Most helpful comment
Hello? This has been a problem for a year now. Any action?