Package io.gravitee.connector.http
Class HttpConnection<T extends HttpResponse>
- java.lang.Object
-
- io.gravitee.connector.api.AbstractConnection
-
- io.gravitee.connector.http.AbstractHttpConnection<HttpEndpoint>
-
- io.gravitee.connector.http.HttpConnection<T>
-
- 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.http.AbstractHttpConnection
endpoint
-
-
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.Connectioncancel()voidconnect(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 TcreateProxyResponse(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)voidend()io.gravitee.connector.api.ConnectionexceptionHandler(io.gravitee.gateway.api.handler.Handler<Throwable> timeoutHandler)protected ThandleUpstreamResponse(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 voidsendToClient(io.gravitee.connector.api.Response response)HttpConnection<T>write(io.gravitee.gateway.api.buffer.Buffer chunk)io.gravitee.connector.api.ConnectionwriteCustomFrame(io.gravitee.gateway.api.http2.HttpFrame frame)booleanwriteQueueFull()protected voidwriteUpstreamHeaders()-
Methods inherited from class io.gravitee.connector.api.AbstractConnection
cancelHandler, responseHandler
-
-
-
-
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:
connectin classAbstractHttpConnection<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)
-
sendToClient
protected void sendToClient(io.gravitee.connector.api.Response response)
- Overrides:
sendToClientin classAbstractHttpConnection<HttpEndpoint>
-
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)
-
-