Class HttpConnection

java.lang.Object
io.vertx.reactivex.core.http.HttpConnection
All Implemented Interfaces:
io.vertx.lang.rx.RxDelegate
Direct Known Subclasses:
HttpClientConnection

public class HttpConnection extends Object implements io.vertx.lang.rx.RxDelegate
Represents an HTTP connection.

HTTP/1.x connection provides a limited implementation, the following methods are implemented:

NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.

  • Field Details

    • __TYPE_ARG

      public static final io.vertx.lang.rx.TypeArg<HttpConnection> __TYPE_ARG
  • Constructor Details

    • HttpConnection

      public HttpConnection(HttpConnection delegate)
    • HttpConnection

      public HttpConnection(Object delegate)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getDelegate

      public HttpConnection getDelegate()
      Specified by:
      getDelegate in interface io.vertx.lang.rx.RxDelegate
    • protocolVersion

      public HttpVersion protocolVersion()
      Returns:
      the version of the protocol of this connection
    • getWindowSize

      public int getWindowSize()
      Returns:
      the current connection window size or -1 for HTTP/1.x
    • setWindowSize

      public HttpConnection setWindowSize(int windowSize)
      Update the current connection wide window size to a new size.

      Increasing this value, gives better performance when several data streams are multiplexed

      This is not implemented for HTTP/1.x.

      Parameters:
      windowSize - the new window size
      Returns:
      a reference to this, so the API can be used fluently
    • goAway

      @Deprecated public HttpConnection goAway(long errorCode)
      Deprecated.
      Like goAway(long) with a last stream id -1 which means to disallow any new stream creation.
      Parameters:
      errorCode -
      Returns:
    • goAway

      @Deprecated public HttpConnection goAway(long errorCode, int lastStreamId)
      Deprecated.
      Like goAway(long) with no buffer.
      Parameters:
      errorCode -
      lastStreamId -
      Returns:
    • goAway

      @Deprecated public HttpConnection goAway(long errorCode, int lastStreamId, Buffer debugData)
      Deprecated.
      Send a go away frame to the remote endpoint of the connection.

      • a frame is sent to the to the remote endpoint with the errorCode and debugData
      • any stream created after the stream identified by lastStreamId will be closed
      • for an is different than 0 when all the remaining streams are closed this connection will be closed automatically

      This is not implemented for HTTP/1.x.

      Parameters:
      errorCode - the error code
      lastStreamId - the last stream id
      debugData - additional debug data sent to the remote endpoint
      Returns:
      a reference to this, so the API can be used fluently
    • goAwayHandler

      public HttpConnection goAwayHandler(Handler<GoAway> handler)
      Set an handler called when a frame is received.

      This is not implemented for HTTP/1.x.

      Parameters:
      handler - the handler
      Returns:
      a reference to this, so the API can be used fluently
    • shutdownHandler

      public HttpConnection shutdownHandler(Handler<Void> handler)
      Set a handler notified when the HTTP connection is shutdown: the client or server will close the connection within a certain amount of time. This gives the opportunity to the handler to close the current requests in progress gracefully before the HTTP connection is forcefully closed.
      Parameters:
      handler - the handler
      Returns:
      a reference to this, so the API can be used fluently
    • shutdown

      public Future<Void> shutdown()
      Shutdown with a 30 seconds timeout (shutdown(30, TimeUnit.SECONDS)).
      Returns:
      a future completed when shutdown has completed
    • rxShutdown

      public Completable rxShutdown()
      Shutdown with a 30 seconds timeout (shutdown(30, TimeUnit.SECONDS)).
      Returns:
      a future completed when shutdown has completed
    • shutdown

      public Future<Void> shutdown(long timeout, TimeUnit unit)
      Parameters:
      timeout -
      unit -
      Returns:
    • rxShutdown

      public Completable rxShutdown(long timeout, TimeUnit unit)
      Parameters:
      timeout -
      unit -
      Returns:
    • closeHandler

      public HttpConnection closeHandler(Handler<Void> handler)
      Set a close handler. The handler will get notified when the connection is closed.
      Parameters:
      handler - the handler to be notified
      Returns:
      a reference to this, so the API can be used fluently
    • close

      public Future<Void> close()
      Close immediately (shutdown(0, TimeUnit.SECONDS).
      Returns:
      a future notified when the client is closed
    • rxClose

      public Completable rxClose()
      Close immediately (shutdown(0, TimeUnit.SECONDS).
      Returns:
      a future notified when the client is closed
    • settings

      public HttpSettings settings()
      Returns:
      the latest server settings acknowledged by the remote endpoint - this is not implemented for HTTP/1.x
    • updateSettings

      public Future<Void> updateSettings(HttpSettings settings)
      Send to the remote endpoint an update of this endpoint settings

      The completionHandler will be notified when the remote endpoint has acknowledged the settings.

      This is not implemented for HTTP/1.x.

      Parameters:
      settings - the new settings
      Returns:
      a future completed when the settings have been acknowledged by the remote endpoint
    • rxUpdateSettings

      public Completable rxUpdateSettings(HttpSettings settings)
      Send to the remote endpoint an update of this endpoint settings

      The completionHandler will be notified when the remote endpoint has acknowledged the settings.

      This is not implemented for HTTP/1.x.

      Parameters:
      settings - the new settings
      Returns:
      a future completed when the settings have been acknowledged by the remote endpoint
    • remoteSettings

      public HttpSettings remoteSettings()
      Returns:
      the current remote endpoint settings for this connection - this is not implemented for HTTP/1.x
    • remoteSettingsHandler

      public HttpConnection remoteSettingsHandler(Handler<HttpSettings> handler)
      Set an handler that is called when remote endpoint HttpSettings are updated.

      This is not implemented for HTTP/1.x.

      Parameters:
      handler - the handler for remote endpoint settings
      Returns:
      a reference to this, so the API can be used fluently
    • ping

      public Future<Buffer> ping(Buffer data)
      Send a frame to the remote endpoint.

      This is not implemented for HTTP/1.x.

      Parameters:
      data - the 8 bytes data of the frame
      Returns:
      a future notified with the pong reply or the failure
    • rxPing

      public Single<Buffer> rxPing(Buffer data)
      Send a frame to the remote endpoint.

      This is not implemented for HTTP/1.x.

      Parameters:
      data - the 8 bytes data of the frame
      Returns:
      a future notified with the pong reply or the failure
    • pingHandler

      public HttpConnection pingHandler(Handler<Buffer> handler)
      Set an handler notified when a frame is received from the remote endpoint.

      This is not implemented for HTTP/1.x.

      Parameters:
      handler - the handler to be called when a is received
      Returns:
      a reference to this, so the API can be used fluently
    • exceptionHandler

      public HttpConnection exceptionHandler(Handler<Throwable> handler)
      Set an handler called when a connection error happens
      Parameters:
      handler - the handler
      Returns:
      a reference to this, so the API can be used fluently
    • remoteAddress

      public SocketAddress remoteAddress()
      Returns:
      the remote address for this connection, possibly null (e.g a server bound on a domain socket). If useProxyProtocol is set to true, the address returned will be of the actual connecting client.
    • remoteAddress

      public SocketAddress remoteAddress(boolean real)
      Like remoteAddress() but returns the proxy remote address when real is true
      Parameters:
      real -
      Returns:
    • localAddress

      public SocketAddress localAddress()
      Returns:
      the local address for this connection, possibly null (e.g a server bound on a domain socket) If useProxyProtocol is set to true, the address returned will be of the proxy.
    • localAddress

      public SocketAddress localAddress(boolean real)
      Like localAddress() ()} but returns the server local address when real is true
      Parameters:
      real -
      Returns:
    • isSsl

      public boolean isSsl()
      Returns:
      true if this HttpConnection is encrypted via SSL/TLS.
    • indicatedServerName

      public String indicatedServerName()
      Returns the SNI server name presented during the SSL handshake by the client.
      Returns:
      the indicated server name
    • shutdown

      public Future<Void> shutdown(Duration timeout)
      Initiate a graceful connection shutdown, the connection is taken out of service and closed when all the inflight requests are processed, otherwise after a timeout the connection will be closed. Client connection are immediately removed from the pool.
      • HTTP/2 connections will send a go away frame immediately to signal the other side the connection will close.
      • HTTP/1.x connection will be closed.
      Parameters:
      timeout - the amount of time after which all resources are forcibly closed
      Returns:
      a future completed when shutdown has completed
    • rxShutdown

      public Completable rxShutdown(Duration timeout)
      Initiate a graceful connection shutdown, the connection is taken out of service and closed when all the inflight requests are processed, otherwise after a timeout the connection will be closed. Client connection are immediately removed from the pool.
      • HTTP/2 connections will send a go away frame immediately to signal the other side the connection will close.
      • HTTP/1.x connection will be closed.
      Parameters:
      timeout - the amount of time after which all resources are forcibly closed
      Returns:
      a future completed when shutdown has completed
    • sslSession

      public SSLSession sslSession()
      Returns:
      SSLSession associated with the underlying socket. Returns null if connection is not SSL.
    • newInstance

      public static HttpConnection newInstance(HttpConnection arg)