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