Class HttpConnection<T extends HttpResponse>

  • All Implemented Interfaces:
    io.gravitee.connector.api.Connection, io.gravitee.gateway.api.stream.WriteStream<io.gravitee.gateway.api.buffer.Buffer>
    Direct Known Subclasses:
    GrpcConnection

    public class HttpConnection<T extends HttpResponse>
    extends AbstractHttpConnection<HttpEndpoint>
    Author:
    David BRASSELY (david.brassely at graviteesource.com), GraviteeSource Team
    • Field Summary

      • Fields inherited from class io.gravitee.connector.api.AbstractConnection

        cancelHandler, responseHandler
    • Constructor Summary

      Constructors 
      Constructor Description
      HttpConnection​(HttpEndpoint endpoint, io.gravitee.gateway.api.proxy.ProxyRequest request)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      io.gravitee.connector.api.Connection cancel()  
      void connect​(io.vertx.core.http.HttpClient httpClient, int port, String host, String uri, io.gravitee.gateway.api.handler.Handler<Void> connectionHandler, io.gravitee.gateway.api.handler.Handler<Void> tracker)  
      protected T createProxyResponse​(io.vertx.core.http.HttpClientResponse clientResponse)  
      io.gravitee.gateway.api.stream.WriteStream<io.gravitee.gateway.api.buffer.Buffer> drainHandler​(io.gravitee.gateway.api.handler.Handler<Void> drainHandler)  
      void end()  
      io.gravitee.connector.api.Connection exceptionHandler​(io.gravitee.gateway.api.handler.Handler<Throwable> timeoutHandler)  
      protected T handleUpstreamResponse​(io.vertx.core.AsyncResult<io.vertx.core.http.HttpClientResponse> clientResponseFuture, io.gravitee.gateway.api.handler.Handler<Void> tracker)  
      protected io.vertx.core.Future<io.vertx.core.http.HttpClientRequest> prepareUpstreamRequest​(io.vertx.core.http.HttpClient httpClient, int port, String host, String uri)  
      protected void sendToClient​(io.gravitee.connector.api.Response response)  
      HttpConnection<T> write​(io.gravitee.gateway.api.buffer.Buffer chunk)  
      io.gravitee.connector.api.Connection writeCustomFrame​(io.gravitee.gateway.api.http2.HttpFrame frame)  
      boolean writeQueueFull()  
      protected void writeUpstreamHeaders()  
      • Methods inherited from class io.gravitee.connector.api.AbstractConnection

        cancelHandler, responseHandler
      • Methods inherited from interface io.gravitee.gateway.api.stream.WriteStream

        end
    • Constructor Detail

      • HttpConnection

        public HttpConnection​(HttpEndpoint endpoint,
                              io.gravitee.gateway.api.proxy.ProxyRequest request)
    • Method Detail

      • connect

        public void connect​(io.vertx.core.http.HttpClient httpClient,
                            int port,
                            String host,
                            String uri,
                            io.gravitee.gateway.api.handler.Handler<Void> connectionHandler,
                            io.gravitee.gateway.api.handler.Handler<Void> tracker)
        Specified by:
        connect in class AbstractHttpConnection<HttpEndpoint>
      • prepareUpstreamRequest

        protected io.vertx.core.Future<io.vertx.core.http.HttpClientRequest> prepareUpstreamRequest​(io.vertx.core.http.HttpClient httpClient,
                                                                                                    int port,
                                                                                                    String host,
                                                                                                    String uri)
      • createProxyResponse

        protected T createProxyResponse​(io.vertx.core.http.HttpClientResponse clientResponse)
      • handleUpstreamResponse

        protected T handleUpstreamResponse​(io.vertx.core.AsyncResult<io.vertx.core.http.HttpClientResponse> clientResponseFuture,
                                           io.gravitee.gateway.api.handler.Handler<Void> tracker)
      • cancel

        public io.gravitee.connector.api.Connection cancel()
      • exceptionHandler

        public io.gravitee.connector.api.Connection exceptionHandler​(io.gravitee.gateway.api.handler.Handler<Throwable> timeoutHandler)
      • write

        public HttpConnection<T> write​(io.gravitee.gateway.api.buffer.Buffer chunk)
      • drainHandler

        public io.gravitee.gateway.api.stream.WriteStream<io.gravitee.gateway.api.buffer.Buffer> drainHandler​(io.gravitee.gateway.api.handler.Handler<Void> drainHandler)
      • writeQueueFull

        public boolean writeQueueFull()
      • writeUpstreamHeaders

        protected void writeUpstreamHeaders()
      • end

        public void end()
      • writeCustomFrame

        public io.gravitee.connector.api.Connection writeCustomFrame​(io.gravitee.gateway.api.http2.HttpFrame frame)