On Oct 22, 2009, at 1:38 PM, Andy wrote:
> On 22.10.2009 11:45, Paul Sandoz wrote:
>> On Oct 22, 2009, at 11:38 AM, Andy wrote:
>>> On 21.10.2009 18:57, Paul Sandoz wrote:
>>>> On Oct 21, 2009, at 6:40 PM, Andy wrote:
>>>>> Hi,
>>>>>
>>>>> how can I add an additional header to this call:
>>>>> Response.temporaryRedirect(uri).build()
>>>> Response.temporaryRedirect(uri).header("X-FOO", "foo").build()
>>> Somehow it doesn't work. I have set up a mock-up server that
>>> receives this message an prints out all header fields. The result
>>> looks like this "user-agent, host, accept, connection" but the
>>> header field "X-FOO" is missing.
>> What about the Location header?
>>
>> Perhaps you are observing the response to the request made to the
>> redirected URI?
>>
>> What client are you using? is it performing automatic redirection
>> on requests?
> The mentioned headers are received at the redirected URI (http://localhost:9998/mockup/dummy
> ). This is where the header "X-FOO" is expected, but it is missing.
The X-FOO response header will only be sent in the 307 (Temporary
Redirect) response (as is the case for the Location header with the
URI to redirect to).
What is happening is the client API is performing automatic
redirection to the redirected URI.
Try setting redirection to false:
https://jersey.dev.java.net/nonav/apidocs/1.1.2-ea/jersey/com/sun/jersey/api/client/Client.html
#setFollowRedirects%28java.lang.Boolean%29
and look at the response headers.
You need to modify the response returned from the URI ttp://localhost:
9998/mockup/dummy to return the X-FOO header.
Paul.
> I use the com.sun.jersey.api.client.Client which performs a GET
> request to the server I'm implementing (running at http://../
> mypath). This server should add an additional header and redirect
> the request to http://localhost:9998/mockup/dummy.
> The client even receives the correct response so everything works
> fine, except for adding the header.
>
> If I already add the header on client side, it is received at http://localhost:9998/mockup/dummy
> but this is what I want to avoid.
>
> Andy
>>> This is my code:
>>>
>>> @Path("mypath")
>>> @GET
>>> @Produces(MediaType.APPLICATION_JSON)
>>> public Response myMethod() {
>>> URI uri = UriBuilder.fromUri("http://localhost:9998/mockup/
>>> dummy").build();
>>> return Response.temporaryRedirect(uri).header("X-FOO",
>>> "foo").build();
>>> }
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>