package org.ocpsoft.rewrite.showcase.transform; import javax.servlet.ServletContext; import org.ocpsoft.rewrite.config.Configuration; import org.ocpsoft.rewrite.config.ConfigurationBuilder; import org.ocpsoft.rewrite.servlet.config.Header; import org.ocpsoft.rewrite.servlet.config.HttpConfigurationProvider; import org.ocpsoft.rewrite.servlet.config.RequestParameter; import org.ocpsoft.rewrite.servlet.config.Response; public class GZipConfigurationProvider extends HttpConfigurationProvider { @Override public Configuration getConfiguration(ServletContext context) { return ConfigurationBuilder .begin() /* * Set up compression. */ .addRule() .when(Header.matches("{Accept-Encoding}", "{gzip}").andNot( RequestParameter.exists("nogzip"))) .perform(Response.gzipStreamCompression()) .where("Accept-Encoding").matches("(?i)Accept-Encoding") .where("gzip").matches("(?i).*\\bgzip\\b.*"); } @Override public int priority() { /* * Very high priority. */ return -100000; } }