001package co.codewizards.cloudstore.rest.shared.filter;
002
003import java.io.IOException;
004
005import javax.ws.rs.client.ClientRequestContext;
006import javax.ws.rs.client.ClientRequestFilter;
007
008import co.codewizards.cloudstore.rest.shared.GZIPUtil;
009
010/**
011 * Filter that adds to REST request a Cloudstore-Content-Encoding header with "gzip" value.
012 * <p>
013 * This header indicates that the request's body was compressed with GZIP and that response's body should be compressed with GZIP either.
014 * @author Wojtek Wilk - wilk.wojtek at gmail.com
015 */
016public class GZIPClientRequestFilter implements ClientRequestFilter {
017
018        @Override
019        public void filter(ClientRequestContext requestContext) throws IOException {
020                requestContext.getHeaders().add(GZIPUtil.CLOUDSTORE_ENCODING_HEADER, GZIPUtil.CLOUDSTORE_ENCODING_HEADER_VALUE);
021        }
022}