users@jersey.java.net

[Jersey] Re: Best practice of setting User-Agent on Jersey Client

From: Akira Koyasu <mail_at_akirakoyasu.net>
Date: Fri, 3 Feb 2012 23:06:03 +0900

Hi Pavel,

Thank you for your reply.

And then, I propose adding new API(class) for HTTP header.
like this:

public class HTTPHeaderFilter extends ClientFilter {
        private final String header;
        private final String value;
        
        public HTTPHeaderFilter(String header, String value) {
                this.header = header;
                this.value = value;
        }
        
        @Override
        public ClientResponse handle(ClientRequest cr)
                        throws ClientHandlerException {
                cr.getHeaders().add(header, value);
                return getNext().handle(cr);
        }
}

Best regards,
Akira


2012/1/31 Pavel Bucek <pavel.bucek_at_oracle.com>:
> Hello,
>
> this solution is fine, we don't have any explicit property which would set
> this header, so using client filter is good way how to do it.
>
> Regards,
> Pavel
>
>
> On 1/30/12 5:26 PM, mail_at_akirakoyasu.net wrote:
>>
>> Hi there,
>>
>> I'm using jersey-core-1.11 and jersey-client-1.11.
>>
>> I'd like to set HTTP header "User-Agent" on Jersey Client class.
>> Not WebResource class..., because I'll make many WebResources /
>> requests.
>>
>> My code is:
>>
>>                Client client = Client.create();
>>                client.addFilter(new ClientFilter() {
>>                        @Override
>>                        public ClientResponse handle(ClientRequest
>> request)
>>                                        throws ClientHandlerException {
>>                                request.getHeaders().add(
>>                                                HttpHeaders.USER_AGENT,
>>                                                "<<  user-agent>>");
>>                                return getNext().handle(request);
>>                        }
>>                });
>>
>> How do you think?
>> Would you please tell me your best practices.
>>
>> Thank you.
>>
>



-- 
Akira Koyasu
090-6653-4497
mail_at_akirakoyasu.net