I'm putting together an example of how to override the "encodeSlash"
setting.
Should be available later today.
----- Original Message -----
From: "Gareth Healy" <garethahealy(a)gmail.com>
To: "Rebecca Searls" <rsearls(a)redhat.com>
Cc: resteasy(a)lists.jboss.org
Sent: Friday, September 16, 2016 4:27:27 AM
Subject: Re: [resteasy] Client escapes slashes causing failure
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...
On Thu, Sep 15, 2016 at 9:54 AM, Gareth Healy <garethahealy(a)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(a)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(a)gmail.com>
>> > To: resteasy(a)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(a)lists.jboss.org
>> >
https://lists.jboss.org/mailman/listinfo/resteasy
>> >
>>
>
>