@Override public void run() { Integer value = pool.provide(new Pool.UnsafeMapper<Integer, Integer>() { @Override public Integer map(Integer integer) { try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } return integer; } }); Assert.assertEquals(1, value.intValue()); } }).start();
@Override public boolean filter(Request request, Response response) { if (response.header(Header.KEY_CONTENT_ENCODING) != null) return true; if (response.header(Header.KV_CONTENT_ENCODING_GZIP) != null) return true; if (response.contentLength() == 0) return true; return buffers.provide(out -> { GZIPOutputStream gout = new GZIPOutputStream(out, compressionLevel); gout.write(response.getBody()); gout.close(); response.setBody(out.toByteArray()); response.appendHeader(Header.KV_CONTENT_ENCODING_GZIP); return true; }); }
BUILDER_POOL.provide(requestBuilder -> { requestBuilder.append(request.method().name()) .append(" ").append(sb -> rewritePath(sb, request.path(), request.getQueryString()))