package co.codewizards.cloudstore.rest.shared;
import java.util.List;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.ext.ReaderInterceptorContext;
import javax.ws.rs.ext.WriterInterceptorContext;
public class GZIPUtil {
public static final String CLOUDSTORE_ENCODING_HEADER = "Cloudstore-Content-Encoding";
public static final String CLOUDSTORE_ENCODING_HEADER_VALUE = "gzip";
public static boolean isRequestCompressedWithGzip(ReaderInterceptorContext context){
return CLOUDSTORE_ENCODING_HEADER_VALUE.equals(
context.getProperty(CLOUDSTORE_ENCODING_HEADER));
}
public static boolean isRequestCompressedWithGzip(WriterInterceptorContext context){
return CLOUDSTORE_ENCODING_HEADER_VALUE.equals(
context.getProperty(CLOUDSTORE_ENCODING_HEADER));
}
public static boolean isRequestCompressedWithGzip(ContainerRequestContext requestContext){
MultivaluedMap<String, String> headers = requestContext.getHeaders();
List<String> encodingHeaderValues = headers.get(CLOUDSTORE_ENCODING_HEADER);
if(encodingHeaderValues == null || encodingHeaderValues.size() != 1){
return false;
}
return CLOUDSTORE_ENCODING_HEADER_VALUE.equals(encodingHeaderValues.get(0));
}
}