@SuppressWarnings("unchecked") public static boolean isGzipSupported(final HttpServletRequest request){
  if (request != null) {
    final Enumeration<String> headerNames=request.getHeaderNames();
    if (headerNames != null) {
      while (headerNames.hasMoreElements()) {
        final String headerName=headerNames.nextElement();
        final Matcher m=PATTERN_ACCEPT_ENCODING.matcher(headerName);
        if (m.find()) {
          final String headerValue=request.getHeader(headerName);
          final Matcher mValue=PATTERN_GZIP.matcher(headerValue);
          return mValue.find();
        }
      }
    }
  }
  return false;
}

@ SuppressWarnings ( "unchecked" ) public static boolean isGzipSupported ( final HttpServletRequest request ) { if ( request != null ) { final Enumeration < String > headerNames = request . getHeaderNames ( ) ; if ( headerNames != null ) { while ( headerNames . hasMoreElements ( ) ) { final String headerName = headerNames . nextElement ( ) ; final Matcher m = PATTERN_ACCEPT_ENCODING . matcher ( headerName ) ; if ( m . find ( ) ) { final String headerValue = request . getHeader ( headerName ) ; final Matcher mValue = PATTERN_GZIP . matcher ( headerValue ) ; return mValue . find ( ) ; } } } } return false ; }
analyze headers of the request and searches for mangled ( by proxy ) for " accept - encoding " header and its mangled variations and gzip header value and its mangled variations .
