[resteasy] Client escapes slashes causing failure

Gareth Healy garethahealy at gmail.com
Fri Sep 16 04:27:27 EDT 2016


Just digging into this a bit more, i can see the param processor is loaded
[1] which calls the web target [2], but this calls an overload which always
passes in true for "encodeSlash".

[1] https://github.com/resteasy/Resteasy/blob/master/resteasy-
client/src/main/java/org/jboss/resteasy/client/jaxrs/
internal/proxy/processors/webtarget/PathParamProcessor.java
[2] https://github.com/resteasy/Resteasy/blob/master/resteasy-
client/src/main/java/org/jboss/resteasy/client/jaxrs/
internal/ClientWebTarget.java#L134
[3] https://github.com/resteasy/Resteasy/blob/master/resteasy-
jaxrs/src/main/java/org/jboss/resteasy/specimpl/
ResteasyUriBuilder.java#L1085

The param processor is created by the factory [4] so i can't see how to
change the default behaviour.

[4]
https://github.com/resteasy/Resteasy/blob/master/resteasy-client/src/main/java/org/jboss/resteasy/client/jaxrs/internal/proxy/processors/ProcessorFactory.java

On Thu, Sep 15, 2016 at 9:54 AM, Gareth Healy <garethahealy at gmail.com>
wrote:

> I've added a simple unit test which shows the behaviour @
> https://github.com/garethahealy/resteast-pathparam-escape
>
> Contains 1 test, which uses a ClientRequestFilter to check what the URI
> is, if it contains "%2F", then it fails.
>
> Cheers.
>
> On Wed, Sep 14, 2016 at 8:01 PM, Rebecca Searls <rsearls at redhat.com>
> wrote:
>
>>
>> If you replace RelativePath with String do you have the same issue?
>> What RelativePath class are you using?
>>
>> ----- Original Message -----
>> > From: "Gareth Healy" <garethahealy at gmail.com>
>> > To: resteasy at lists.jboss.org
>> > Sent: Wednesday, September 14, 2016 11:36:31 AM
>> > Subject: [resteasy] Client escapes slashes causing failure
>> >
>> > I have a client which uses the following method:
>> >
>> >
>> >
>> > @GET
>> > @Path("/{path}/treeHash")
>> > Response getEntityHash(@PathParam("path") RelativePath path);
>> >
>> > The RelativePath object gets converted into a value of:
>> > t;unit-testing/e;ua2shhq9
>> >
>> >
>> >
>> >
>> > Example full URL: /entity/t;unit-testing/e;ua2shhq9/treeHash
>> >
>> > When its executed, the forward slash is converted to %2F (encoded /).
>> This
>> > causes the call to fail. What do i need to do, to make sure its not URL
>> > encoded?
>> >
>> > I've tried adding @Encoded, but that has no effect.
>> >
>> > Cheers.
>> >
>> > _______________________________________________
>> > resteasy mailing list
>> > resteasy at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/resteasy
>> >
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/resteasy/attachments/20160916/8c261dcf/attachment.html 


More information about the resteasy mailing list