Is it possible for an interceptor to read query parameters and set header 
parameters, and have that happen before CXF maps the request to a controller?  
If so, then I could do this entirely within an interceptor, without changing 
the controller.

On a side note, is it possible to define two jaxrs:server elements in my Spring 
context, with a different root path, different interceptors, but the same 
controller beans?  If I wanted this interceptor to only be used for JSONP 
calls, I could have them use a different root path, and the regular path 
wouldn't have to go through the interceptor.

From: Sergey Beryozkin [mailto:[email protected]]
Sent: Friday, April 08, 2011 3:44 AM
To: KARR, DAVID (ATTSI)
Cc: [email protected]
Subject: Re: Handling "Accept" and "Accept-Language" in query parameters

Hi David

I think I have to apply the JSONP patch that we have asap :-), and catch up a 
bit with the way JSONP works.
I'm still not sure I follow, basically, looks like you'd like to have some 
utility code available that can say take the value of Accept header and return 
a sorted list, yes ? If no then please post an example with some pseudo code 
showing what are the actual expectations

Cheers, Sergey

On Thu, Apr 7, 2011 at 11:27 PM, KARR, DAVID (ATTSI) 
<[email protected]<mailto:[email protected]>> wrote:
Perhaps I wasn't clear.  The app currently checks for certain header 
parameters, along with some query parameters.  In order to be fully usable from 
JSONP script tags, I'll have to get it to work by using query parameters for 
what I'm currently using header parameters for.  As to a format of the query 
parameters, that doesn't particularly matter.  If it's more workable to have a 
bunch of former header parameters embedded into a single query parameter 
somehow, I suppose that could work, if there was some reason that was more 
convenient than individual query parameters.

From: Sergey Beryozkin 
[mailto:[email protected]<mailto:[email protected]>]
Sent: Thursday, April 07, 2011 2:57 PM
To: [email protected]<mailto:[email protected]>
Cc: KARR, DAVID (ATTSI)
Subject: Re: Handling "Accept" and "Accept-Language" in query parameters

Hi

Can you explain a bit more how it works. Do you have individual query 
parameters representing individual HTTP headers in this case ? Can you post a 
simple example ?

Cheers, Sergey
On Thu, Apr 7, 2011 at 10:45 PM, KARR, DAVID (ATTSI) 
<[email protected]<mailto:[email protected]>> wrote:
My CXF JAX-RS app currently looks at a couple of "standard" HTTP headers, being 
"Accept" and "Accept-Language".  It also uses a custom HTTP header.

It's come to my attention that we need to examine whether we can support being 
called from a "script" tag, to support JSONP callbacks.  This will not allow 
changing HTTP headers.  I can easily enough change my code to check for my 
custom header as a query parameter instead of an HTTP header, but the situation 
isn't as simple for "Accept" and "Accept-Language", which are processed 
implicitly by CXF.

Presently handling of "Accept" is done without any effort on my part, except 
for perhaps the "@Produces" annotation.  Handling of "Accept-Language" is done 
with almost as little effort, requiring me to call the 
"HttpHeaders.getAcceptableLanguages()" function.

What are some reasonable strategies for getting this information (and using it, 
more importantly) from request parameters instead?


Reply via email to