001package co.codewizards.cloudstore.rest.shared.interceptor;
002
003import java.io.IOException;
004
005import javax.ws.rs.WebApplicationException;
006import javax.ws.rs.ext.ReaderInterceptorContext;
007
008import co.codewizards.cloudstore.rest.shared.GZIPUtil;
009
010/**
011 * Interceptor decompressing request only if it was compressed
012 * @author Wojtek Wilk - wilk.wojtek at gmail.com
013 */
014public class GZIPConditionalReaderInterceptor extends GZIPReaderInterceptor{
015
016        @Override
017        public Object aroundReadFrom(ReaderInterceptorContext context)
018                        throws IOException, WebApplicationException {
019                if(GZIPUtil.isRequestCompressedWithGzip(context)){
020                        return super.aroundReadFrom(context);
021                } else{
022                        return context.proceed();
023                }
024        }
025}