public void send(@NotNull final FastCgiRequest fastCgiRequest, @NotNull ByteBuf content) { final ByteBuf notEmptyContent; if (content.isReadable()) { content.retain(); notEmptyContent = content; notEmptyContent.touch(); } else { notEmptyContent = null; } try { if (processHandler.has()) { fastCgiRequest.writeToServerChannel(notEmptyContent, processChannel); } else { processHandler .get() .done( new Consumer<OSProcessHandler>() { @Override public void consume(OSProcessHandler osProcessHandler) { fastCgiRequest.writeToServerChannel(notEmptyContent, processChannel); } }) .rejected( new Consumer<Throwable>() { @Override public void consume(Throwable error) { LOG.error(error); handleError(fastCgiRequest, notEmptyContent); } }); } } catch (Throwable e) { LOG.error(e); handleError(fastCgiRequest, notEmptyContent); } }
@Override public FullHttpMessage touch() { content.touch(); return this; }
@Override public FullHttpMessage touch(Object hint) { content.touch(hint); return this; }