On Thu, Dec 1, 2011 at 5:04 AM, Sergey Beryozkin <[email protected]> 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<[email protected]> >> 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<[email protected]> >>> 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
