twitter / finatra

Fast, testable, Scala services built on TwitterServer and Finagle
https://twitter.github.io/finatra/
Apache License 2.0
2.27k stars 408 forks source link

Case class requests with url encoded route params are not decoded #427

Closed devshorts closed 5 years ago

devshorts commented 7 years ago

If you have a case class request:

case class FooRequest(@RouteParam data: String)

And a controller like:

get("test/:dat") { request: FooRequest => 
}

If you send a url encoded route to it:

get test/=
GET test/%3D`

The value of data does not reflect the decoded value (=) but instead shows %3D. This seems related to https://github.com/twitter/finatra/issues/68 but was filed against 1.x and I am seeing this on finatra 2.10

Expected behavior

Route url encoded params are decoded

Actual behavior

Route url encoded params are not decoded

cacoco commented 7 years ago

Related to #296

vkostyukov commented 5 years ago

We have a fix for this internally. Watch this space.

vkostyukov commented 5 years ago

Fixed in a79f56347acd2194e415975ab125e2509c8e91e5.