OutcomeReportingOngoingRequest extends ForwardingOngoingRequest { @Override public void drop() { super.drop(); consumer.accept(this, Optional.empty()); } protected  OutcomeReportingOngoingRequest(OngoingRequest delegate,
                                           RequestOutcomeConsumer consumer); @Override void reply(Response<ByteString> response); @Override void drop();  }
@Test public void shouldInvokeLoggerWhenRequestIsDropped() throws Exception { ongoingRequest.drop(); assertThat(logger.request, is(ongoingRequest)); assertThat(logger.response, is(Optional.empty())); }