@Override
        public void handle(HttpClientResponse response) {
            this.response = response;

            // The interface stipulates accumulating the whole body,
            // And as of 3.2.2 the convenience bodyHandler method doesn't always work reliably for some reason... So a DIY version.
            response.handler((Handler<Buffer>) buff -> {
                if (body == null) {
                	body = Buffer.buffer(buff.length()).appendBuffer(buff);
                } else {
                	body.appendBuffer(buff);
                }
            });

            response.endHandler((Handler<Void>) v -> {
                responseHandler.handle(AsyncResultImpl
                        .<IHttpClientResponse> create(HttpClientResponseImpl.this));
            });

            response.exceptionHandler(exception -> {
            	logger.error("Exception in HttpClientResponseImpl: {0}", exception.getMessage()); //$NON-NLS-1$
            	responseHandler.handle(AsyncResultImpl.create(exception));
            });
        }
A Vert.x based implementation of {@link IHttpClientComponent}. Ensure that
{@link IHttpClientRequest#end()} is called after writing is finished, or your data may never be sent, and
the connection will be left hanging.

@author Marc Savy {@literal <msavy@redhat.com>}
gateway/platforms/vertx3/vertx3/src/main/java/io/apiman/gateway/platforms/vertx3/components/HttpClientComponentImpl.java