Do you maybe have an example how to this?
It's not clear for me...

On Tue, Apr 3, 2012 at 8:02 PM, Bill Burke <bbu...@redhat.com> wrote:

> Inject a Providers into your preprocessor, manually do the unmarshal,
> but remember to buffer the body so that the parameter reader can
> unmarshal it too.
>
> On 4/3/12 10:23 AM, Marcel Overdijk wrote:
> > I'm currently using below interceptor (implementing both
> > MessageBodyReaderInterceptor and PreProcessInterceptor) to dump incoming
> > requests to a log file.
> >
> > I'm implementing them both because:
> > a) MessageBodyReaderInterceptor is not intercepting requests without
> > body (like a GET or OPTIONS request)
> > b) PreProcessInterceptor has no option to retrieve the request body.
> >
> > Would there be a way to more or less 'combine' the 2 and only once call
> > the LOG.debug statement like
> > LOG.debug("Request:" + NEW_LINE + httpServletRequest + NEW_LINE + new
> > String(body));
> >
> >
> > @Provider
> > @ServerInterceptor
> > @Precedence("REQUEST_DUMPER")
> > public class RequestDumperInterceptor implements
> > MessageBodyReaderInterceptor, PreProcessInterceptor {
> >
> > private static final Log LOG =
> > LogFactory.getLog(RequestDumperInterceptor.class);
> >
> > private static final String NEW_LINE =
> System.getProperty("line.separator");
> >
> > @Context
> > private HttpServletRequest httpServletRequest;
> >
> > @Override
> > public Object read(MessageBodyReaderContext context) throws IOException,
> > WebApplicationException {
> > if (LOG.isDebugEnabled()) {
> > InputStream old = context.getInputStream();
> > try {
> > InputStreamToByteArray stream = new InputStreamToByteArray(old);
> > context.setInputStream(stream);
> > Object proceed = context.proceed();
> > byte[] body = stream.toByteArray();
> > LOG.debug("Body:" + NEW_LINE + new String(body));
> > return proceed;
> > } finally {
> > context.setInputStream(old);
> > }
> > }
> > return context.proceed();
> > }
> >
> > @Override
> > public ServerResponse preProcess(HttpRequest request, ResourceMethod
> > method) throws Failure, WebApplicationException {
> > if (LOG.isDebugEnabled()) {
> > LOG.debug("Request:" + NEW_LINE + httpServletRequest);
> > }
> > return null;
> > }
> > }
> >
> >
> >
> ------------------------------------------------------------------------------
> > Better than sec? Nothing is better than sec when it comes to
> > monitoring Big Data applications. Try Boundary one-second
> > resolution app monitoring today. Free.
> > http://p.sf.net/sfu/Boundary-dev2dev
> >
> >
> >
> > _______________________________________________
> > Resteasy-users mailing list
> > Resteasy-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/resteasy-users
>
> --
> Bill Burke
> JBoss, a division of Red Hat
> http://bill.burkecentral.com
>
>
> ------------------------------------------------------------------------------
> Better than sec? Nothing is better than sec when it comes to
> monitoring Big Data applications. Try Boundary one-second
> resolution app monitoring today. Free.
> http://p.sf.net/sfu/Boundary-dev2dev
> _______________________________________________
> Resteasy-users mailing list
> Resteasy-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/resteasy-users
>
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Resteasy-users mailing list
Resteasy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/resteasy-users

Reply via email to