On Tue January 12 2010 9:02:03 pm Michael Guyver wrote:
> Hi there,
> 
> I'm new to CXF and JAX-RS programming so the paradigm is quite foreign
> to me. At the moment I'm trying to figure out how one would go about
> implementing a Interceptor or Invoker that would execute prior to the
> service class mapped to the specific request, for example to validate
> a session token value. I had in mind being able to read this from a
> cookie but can't see any easy way of doing so.
> 
> Within the Interceptor implementation the only way I've found to get
> at this API is this (horrible) hack:
> 
> new MessageContextImpl(message).getHttpHeaders().getCookies()
> 
> I mean, there's got to be an easier and better way than that, right?

That's probably the easiest.    I guess the more "standard" way would be to 
pull the stuff off the message directly instead of using the 
MessageContextImpl wrapper thing, but the wrapper avoids a bunch of casts and 
stuff.

You could do:

((Map<String, List<String>>)message.get(Message.PROTOCOL_HEADERS)
to get the map of all the protocol headers and process the cookie things 
yourself.   Probably not fun.

You could also to:

(HTTPServletRequest)message.get("HTTP.REQUEST")
to get the request object and grab the session and everything from there.   
Not sure how valuable that is to you.

Dan



> 
> Cheers
> 
> Mike
> 

-- 
Daniel Kulp
[email protected]
http://www.dankulp.com/blog

Reply via email to