public synchronized ContentEncodingRepository addEncodingHandler(final String encoding, final ContentEncodingProvider encoder, int priority) { addEncodingHandler(encoding, encoder, priority, Predicates.truePredicate()); return this; }
public ResponseEncodeHandler() { contentEncodingRepository = new ContentEncodingRepository(); List<String> encoders = config.getEncoders(); for(int i = 0; i < encoders.size(); i++) { String encoder = encoders.get(i); if(Constants.ENCODE_GZIP.equals(encoder)) { contentEncodingRepository.addEncodingHandler(encoder, new GzipEncodingProvider(), 100); } else if(Constants.ENCODE_DEFLATE.equals(encoder)) { contentEncodingRepository.addEncodingHandler(encoder, new DeflateEncodingProvider(), 10); } else { throw new RuntimeException("Invalid encoder " + encoder + " for ResponseEncodeHandler."); } } }
@Override public HttpHandler wrap(HttpHandler handler) { return new EncodingHandler(handler, new ContentEncodingRepository() .addEncodingHandler("gzip", new GzipEncodingProvider(), 100) .addEncodingHandler("deflate", new DeflateEncodingProvider(), 10)); } };
@Override public HttpHandler createHttpHandler(final Predicate predicate, ModelNode model, HttpHandler next) { EncodingHandler encodingHandler = new EncodingHandler(new ContentEncodingRepository() .addEncodingHandler("gzip", new GzipEncodingProvider(), 50, predicate != null ? predicate : Predicates.truePredicate())); encodingHandler.setNext(next); return encodingHandler; }
/** * Optionally wrap the given {@link HttpHandler} for HTTP compression support. * @param compression the HTTP compression configuration * @param httpHandler the HTTP handler to wrap * @return the wrapped HTTP handler if compression is enabled, or the handler itself */ public static HttpHandler configureCompression(Compression compression, HttpHandler httpHandler) { if (compression == null || !compression.getEnabled()) { return httpHandler; } ContentEncodingRepository repository = new ContentEncodingRepository(); repository.addEncodingHandler("gzip", new GzipEncodingProvider(), 50, Predicates.and(getCompressionPredicates(compression))); return new EncodingHandler(repository).setNext(httpHandler); }
public HttpHandler createHttpHandler() { PathHandler pathHandler = new PathHandler(); pathHandler.addPrefixPath("/v1/invoke", new AllowedMethodsHandler(new HttpInvocationHandler(association, executorService, localTransactionContext, cancellationFlags), Methods.POST)) .addPrefixPath("/v1/open", new AllowedMethodsHandler(new HttpSessionOpenHandler(association, executorService, localTransactionContext), Methods.POST)) .addPrefixPath("/v1/cancel", new AllowedMethodsHandler(new HttpCancelHandler(association, executorService, localTransactionContext, cancellationFlags), Methods.DELETE)); EncodingHandler encodingHandler = new EncodingHandler(pathHandler, new ContentEncodingRepository().addEncodingHandler(Headers.GZIP.toString(), new GzipEncodingProvider(), 1)); RequestEncodingHandler requestEncodingHandler = new RequestEncodingHandler(encodingHandler); requestEncodingHandler.addEncoding(Headers.GZIP.toString(), GzipStreamSourceConduit.WRAPPER); return requestEncodingHandler; }
public synchronized ContentEncodingRepository addEncodingHandler(final String encoding, final ContentEncodingProvider encoder, int priority) { addEncodingHandler(encoding, encoder, priority, Predicates.truePredicate()); return this; }
public synchronized ContentEncodingRepository addEncodingHandler(final String encoding, final ContentEncodingProvider encoder, int priority) { addEncodingHandler(encoding, encoder, priority, Predicates.truePredicate()); return this; }
/** * Creates a new instance of GzipEncodingHandler * * @param next * @param forceCompression if true requests without gzip encoding in * Accept-Encoding header will be rejected */ public GzipEncodingHandler(HttpHandler next, boolean forceCompression) { super(next, new ContentEncodingRepository().addEncodingHandler("gzip", new GzipEncodingProvider(), 50)); this.forceCompression = forceCompression; }
@Override public HttpHandler wrap(HttpHandler handler) { return new EncodingHandler(handler, new ContentEncodingRepository() .addEncodingHandler("gzip", new GzipEncodingProvider(), 100) .addEncodingHandler("deflate", new DeflateEncodingProvider(), 10)); } };
@Override public HttpHandler wrap(HttpHandler handler) { return new EncodingHandler(handler, new ContentEncodingRepository() .addEncodingHandler("gzip", new GzipEncodingProvider(), 100) .addEncodingHandler("deflate", new DeflateEncodingProvider(), 10)); } };
private EncodingHandler getGzipEncodeHandler(final DeploymentManager dm) throws ServletException{ // FROM: https://stackoverflow.com/questions/28295752/compressing-undertow-server-responses#28329810 final Predicate sizePredicate = Predicates.parse( "max-content-size[" + Long.toString( 5 * 1024 ) + "]" ); EncodingHandler eh = new EncodingHandler( new ContentEncodingRepository().addEncodingHandler( "gzip", new GzipEncodingProvider(), 50, sizePredicate ) .addEncodingHandler( "deflate", new DeflateEncodingProvider(), 51, sizePredicate ) ).setNext( dm.start() ); return eh; }
@Override public HttpHandler createHttpHandler(final Predicate predicate, ModelNode model, HttpHandler next) { EncodingHandler encodingHandler = new EncodingHandler(new ContentEncodingRepository() .addEncodingHandler("gzip", new GzipEncodingProvider(), 50, predicate != null ? predicate : Predicates.truePredicate())); encodingHandler.setNext(next); return encodingHandler; }
public static HttpHandler gzip(HttpHandler next) { return new EncodingHandler(new ContentEncodingRepository() .addEncodingHandler("gzip", // This 1000 is a priority, not exactly sure what it does. new GzipEncodingProvider(), 1000, // Anything under a content-length of 20 will not be gzipped Predicates.truePredicate() //Predicates.maxContentSize(20) // https://issues.jboss.org/browse/UNDERTOW-1234 )) .setNext(next); }
@Override public HttpHandler createHttpHandler(final Predicate predicate, ModelNode model, HttpHandler next) { EncodingHandler encodingHandler = new EncodingHandler(new ContentEncodingRepository() .addEncodingHandler("gzip", new GzipEncodingProvider(), 50, predicate != null ? predicate : Predicates.truePredicate())); encodingHandler.setNext(next); return encodingHandler; }
int minContentSize = conf.getInt(PROP_GZIP_MIN_CONTENT_SIZE, 512); if (minContentSize > 0) { repo.addEncodingHandler("gzip", gzip, 100, Predicates.minContentSize(minContentSize)); repo.addEncodingHandler("gzip", gzip, 100);
public HttpHandler createHttpHandler() { PathHandler pathHandler = new PathHandler(); pathHandler.addPrefixPath("/v1/invoke", new AllowedMethodsHandler(new HttpInvocationHandler(association, executorService, localTransactionContext, cancellationFlags), Methods.POST)) .addPrefixPath("/v1/open", new AllowedMethodsHandler(new HttpSessionOpenHandler(association, executorService, localTransactionContext), Methods.POST)) .addPrefixPath("/v1/cancel", new AllowedMethodsHandler(new HttpCancelHandler(association, executorService, localTransactionContext, cancellationFlags), Methods.DELETE)); EncodingHandler encodingHandler = new EncodingHandler(pathHandler, new ContentEncodingRepository().addEncodingHandler(Headers.GZIP.toString(), new GzipEncodingProvider(), 1)); RequestEncodingHandler requestEncodingHandler = new RequestEncodingHandler(encodingHandler); requestEncodingHandler.addEncoding(Headers.GZIP.toString(), GzipStreamSourceConduit.WRAPPER); return requestEncodingHandler; }
public HttpHandler createHttpHandler() { PathHandler pathHandler = new PathHandler(); pathHandler.addPrefixPath("/v1/invoke", new AllowedMethodsHandler(new HttpInvocationHandler(association, executorService, localTransactionContext, cancellationFlags), Methods.POST)) .addPrefixPath("/v1/open", new AllowedMethodsHandler(new HttpSessionOpenHandler(association, executorService, localTransactionContext), Methods.POST)) .addPrefixPath("/v1/cancel", new AllowedMethodsHandler(new HttpCancelHandler(association, executorService, localTransactionContext, cancellationFlags), Methods.DELETE)); EncodingHandler encodingHandler = new EncodingHandler(pathHandler, new ContentEncodingRepository().addEncodingHandler(Headers.GZIP.toString(), new GzipEncodingProvider(), 1)); RequestEncodingHandler requestEncodingHandler = new RequestEncodingHandler(encodingHandler); requestEncodingHandler.addEncoding(Headers.GZIP.toString(), GzipStreamSourceConduit.WRAPPER); return requestEncodingHandler; }