[resteasy] Client escapes slashes causing failure

Rebecca Searls rsearls at redhat.com
Fri Sep 16 07:34:46 EDT 2016


I'm putting together an example of how to override the "encodeSlash" setting.
Should be available later today.


----- Original Message -----
> From: "Gareth Healy" <garethahealy at gmail.com>
> To: "Rebecca Searls" <rsearls at redhat.com>
> Cc: resteasy at 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/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
> >> >
> >>
> >
> >
> 


More information about the resteasy mailing list