cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benson Margulies <bimargul...@gmail.com>
Subject Re: Failing to set an Origin header with a WebClient
Date Thu, 01 Dec 2011 11:39:45 GMT
On Thu, Dec 1, 2011 at 5:04 AM, Sergey Beryozkin <sberyozkin@gmail.com> wrote:
> Hi Benson
> so HTTPUrlConnection drops 'Origin' ? It's unfortunate.
> It seems we'd need to look into some sort of integration with Apache Http

Yea. a new, optional, transport?


> Client at some time,
> Sergey
>
> On 30/11/11 20:00, Benson Margulies wrote:
>>
>> Logging. The output logger on the web client shows Origin, but not the
>> input logger on the JAX-RS endpoint it's talking to.
>>
>> INFO: Outbound Message
>> ---------------------------
>> ID: 1
>> Address: http://localhost:9000/simpleGet/HelloThere
>> Http-Method: GET
>> Content-Type: */*
>> Headers: {Origin=[http://localhost:9000], Accept=[text/plain],
>> Content-Type=[*/*]}
>> --------------------------------------
>> Nov 30, 2011 2:58:48 PM org.apache.cxf.interceptor.LoggingInInterceptor
>> INFO: Inbound Message
>> ----------------------------
>> ID: 2
>> Address: http://localhost:9000/simpleGet/HelloThere
>> Http-Method: GET
>> Content-Type: */*
>> Headers: {Accept=[text/plain], Cache-Control=[no-cache],
>> connection=[keep-alive], content-type=[*/*], Host=[localhost:9000],
>> Pragma=[no-cache], User-Agent=[Apache CXF ${project.version}]}
>>
>> On Wed, Nov 30, 2011 at 2:54 PM, Benson Margulies<bimargulies@gmail.com>
>>  wrote:
>>>
>>> I dumped the exchange, and Origin isn't in there. I haven't turned on
>>> the logging interceptors yet.
>>>
>>> [null, null, null, null, null, null, null, null, null,
>>> org.apache.cxf.message.Message.PROTOCOL_HEADERS={Accept=[text/plain],
>>> Cache-Control=[no-cache], connection=[keep-alive], content-type=[*/*],
>>> Host=[localhost:9000], Pragma=[no-cache], User-Agent=[Apache CXF
>>> ${project.version}]}, null, null, null, null, null, null,
>>> HTTP_CONTEXT_MATCH_STRATEGY=stem,
>>> org.apache.cxf.request.url=http://localhost:9000/simpleGet/HelloThere,
>>> null, null, null, null,
>>> org.apache.cxf.request.uri=/simpleGet/HelloThere, null,
>>> org.apache.cxf.resource.method=public java.lang.String
>>> org.apache.cxf.systest.jaxrs.cors.CorsServer.simpleGet(java.lang.String),
>>> HTTP.REQUEST=(GET /simpleGet/HelloThere)@372285153
>>> org.eclipse.jetty.server.Request@16309ee1, null, null,
>>> HTTP.CONFIG=org.eclipse.jetty.servlet.ServletHolder$Config@520ed128,
>>> Accept=text/plain, null,
>>> org.apache.cxf.message.Message.PATH_INFO=/simpleGet/HelloThere, null,
>>> null, null, null, null, null, null, null,
>>>
>>> org.apache.cxf.continuations.ContinuationProvider=org.apache.cxf.transport.http.Servlet3ContinuationProvider@4ac5c32e,
>>> null, null, null,
>>>
>>> org.apache.cxf.message.Message.IN_INTERCEPTORS=[org.apache.cxf.transport.https.CertConstraintsInterceptor@7d91275b],
>>> null, null, org.apache.cxf.message.Message.QUERY_STRING=null,
>>> HTTP.RESPONSE=HTTP/1.1 200
>>>
>>> On Wed, Nov 30, 2011 at 2:47 PM, Benson Margulies<bimargulies@gmail.com>
>>>  wrote:
>>>>
>>>> I'm failing to set an Origin header with a WebClient. Here's the
>>>> client side code, and the header does not make it to the other end.
>>>>
>>>> This makes it rather difficult to write tests for CORS.
>>>>
>>>> On the other hand, should WebClient have native support for the client
>>>> side of CORS? That's complex and unpleasant in prospect.
>>>>
>>>>
>>>>        String origin = "http://localhost:" + PORT;
>>>>        WebClient wc = WebClient.create(origin + "/");
>>>>        // Since our WebClient doesn't know from Origin, we need to do
>>>> this ourselves.
>>>>        wc.header("Origin", origin);
>>>>        Response r =
>>>> wc.replacePath("/simpleGet/HelloThere").accept("text/plain").get();
>>>>        assertEquals(Response.Status.OK.getStatusCode(), r.getStatus());
>
>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>
> Blog: http://sberyozkin.blogspot.com

Mime
View raw message