Class HttpChannel

  • All Implemented Interfaces:
    java.lang.Runnable, HttpOutput.Interceptor
    Direct Known Subclasses:
    HttpChannelOverHttp

    @Deprecated(since="2021-05-27")
    public class HttpChannel
    extends java.lang.Object
    implements java.lang.Runnable, HttpOutput.Interceptor
    Deprecated.
    The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.
    HttpChannel represents a single endpoint for HTTP semantic processing. The HttpChannel is both an HttpParser.RequestHandler, where it passively receives events from an incoming HTTP request, and a Runnable, where it actively takes control of the request/response life cycle and calls the application (perhaps suspending and resuming with multiple calls to run). The HttpChannel signals the switch from passive mode to active mode by returning true to one of the HttpParser.RequestHandler callbacks. The completion of the active phase is signalled by a call to HttpTransport.completed().
    • Method Detail

      • isSendError

        public boolean isSendError()
        Deprecated.
      • addListener

        @Deprecated
        public boolean addListener​(HttpChannel.Listener listener)
        Deprecated.
        Add a transient Listener to the HttpChannel.

        Listeners added by this method will only be notified if the HttpChannel has been constructed with an instance of HttpChannel.TransientListeners as an AbstractConnector provided listener

        Transient listeners are removed after every request cycle

        Parameters:
        listener - the listener to add
        Returns:
        true if the listener was added.
      • removeListener

        @Deprecated
        public boolean removeListener​(HttpChannel.Listener listener)
        Deprecated.
      • getTransientListeners

        @Deprecated
        public java.util.List<HttpChannel.Listener> getTransientListeners()
        Deprecated.
      • getBytesWritten

        public long getBytesWritten()
        Deprecated.
      • getRequests

        public long getRequests()
        Deprecated.
        Returns:
        the number of requests handled by this connection
      • getConnector

        public Connector getConnector()
        Deprecated.
      • getHttpTransport

        public HttpTransport getHttpTransport()
        Deprecated.
      • getRequestLog

        public RequestLog getRequestLog()
        Deprecated.
      • setRequestLog

        public void setRequestLog​(RequestLog requestLog)
        Deprecated.
      • addRequestLog

        public void addRequestLog​(RequestLog requestLog)
        Deprecated.
      • getIdleTimeout

        public long getIdleTimeout()
        Deprecated.
        Get the idle timeout.

        This is implemented as a call to EndPoint.getIdleTimeout(), but may be overridden by channels that have timeouts different from their connections.

        Returns:
        the idle timeout (in milliseconds)
      • setIdleTimeout

        public void setIdleTimeout​(long timeoutMs)
        Deprecated.
        Set the idle timeout.

        This is implemented as a call to EndPoint.setIdleTimeout(long), but may be overridden by channels that have timeouts different from their connections.

        Parameters:
        timeoutMs - the idle timeout in milliseconds
      • getByteBufferPool

        public ByteBufferPool getByteBufferPool()
        Deprecated.
      • getServer

        public Server getServer()
        Deprecated.
      • getRequest

        public Request getRequest()
        Deprecated.
      • getResponse

        public Response getResponse()
        Deprecated.
      • getConnection

        public Connection getConnection()
        Deprecated.
      • getEndPoint

        public EndPoint getEndPoint()
        Deprecated.
      • getLocalName

        public java.lang.String getLocalName()
        Deprecated.

        Return the local name of the connected channel.

        This is the host name after the connector is bound and the connection is accepted.

        Value can be overridden by HttpConfiguration.setLocalAddress(SocketAddress).

        Note: some connectors are not based on IP networking, and default behavior here will result in a null return. Use HttpConfiguration.setLocalAddress(SocketAddress) to set the value to an acceptable host name.

        Returns:
        the local name, or null
      • getLocalPort

        public int getLocalPort()
        Deprecated.

        Return the Local Port of the connected channel.

        This is the port the connector is bound to and is accepting connections on.

        Value can be overridden by HttpConfiguration.setLocalAddress(SocketAddress).

        Note: some connectors are not based on IP networking, and default behavior here will result in a value of 0 returned. Use HttpConfiguration.setLocalAddress(SocketAddress) to set the value to an acceptable port.

        Returns:
        the local port, or 0 if unspecified
      • getLocalAddress

        public java.net.InetSocketAddress getLocalAddress()
        Deprecated.
      • getRemoteAddress

        public java.net.InetSocketAddress getRemoteAddress()
        Deprecated.
      • getServerAuthority

        public HostPort getServerAuthority()
        Deprecated.
        Returns:
        return the HttpConfiguration server authority override
      • continue100

        public void continue100​(int available)
                         throws java.io.IOException
        Deprecated.
        If the associated response has the Expect header set to 100 Continue, then accessing the input stream indicates that the handler/servlet is ready for the request body and thus a 100 Continue response is sent.
        Parameters:
        available - estimate of the number of bytes that are available
        Throws:
        java.io.IOException - if the InputStream cannot be created
      • recycle

        public void recycle()
        Deprecated.
      • onAsyncWaitForContent

        public void onAsyncWaitForContent()
        Deprecated.
      • onBlockWaitForContent

        public void onBlockWaitForContent()
        Deprecated.
      • onBlockWaitForContentFailure

        public void onBlockWaitForContentFailure​(java.lang.Throwable failure)
        Deprecated.
      • run

        public void run()
        Deprecated.
        Specified by:
        run in interface java.lang.Runnable
      • handle

        public boolean handle()
        Deprecated.
        Returns:
        True if the channel is ready to continue handling (ie it is not suspended)
      • ensureConsumeAllOrNotPersistent

        public void ensureConsumeAllOrNotPersistent()
        Deprecated.
      • sendResponseAndComplete

        public void sendResponseAndComplete()
        Deprecated.
      • isExpecting100Continue

        public boolean isExpecting100Continue()
        Deprecated.
      • isExpecting102Processing

        public boolean isExpecting102Processing()
        Deprecated.
      • toString

        public java.lang.String toString()
        Deprecated.
        Overrides:
        toString in class java.lang.Object
      • onContentComplete

        public boolean onContentComplete()
        Deprecated.
      • onTrailers

        public void onTrailers​(HttpFields trailers)
        Deprecated.
      • onRequestComplete

        public boolean onRequestComplete()
        Deprecated.
      • onCompleted

        public void onCompleted()
        Deprecated.
      • onEarlyEOF

        public boolean onEarlyEOF()
        Deprecated.
      • sendResponse

        public boolean sendResponse​(MetaData.Response info,
                                    java.nio.ByteBuffer content,
                                    boolean complete,
                                    Callback callback)
        Deprecated.
      • sendResponse

        public boolean sendResponse​(MetaData.Response info,
                                    java.nio.ByteBuffer content,
                                    boolean complete)
                             throws java.io.IOException
        Deprecated.
        Throws:
        java.io.IOException
      • isCommitted

        public boolean isCommitted()
        Deprecated.
      • isRequestCompleted

        public boolean isRequestCompleted()
        Deprecated.
        Returns:
        True if the request lifecycle is completed
      • isResponseCompleted

        public boolean isResponseCompleted()
        Deprecated.
        Returns:
        True if the response is completely written.
      • isPersistent

        public boolean isPersistent()
        Deprecated.
      • write

        public void write​(java.nio.ByteBuffer content,
                          boolean complete,
                          Callback callback)
        Deprecated.

        Non-Blocking write, committing the response if needed.

        Called as last link in HttpOutput.Filter chain
        Specified by:
        write in interface HttpOutput.Interceptor
        Parameters:
        content - the content buffer to write
        complete - whether the content is complete for the response
        callback - Callback when complete or failed
      • getScheduler

        public Scheduler getScheduler()
        Deprecated.
      • useDirectBuffers

        public boolean useDirectBuffers()
        Deprecated.
        Returns:
        true if the HttpChannel can efficiently use direct buffer (typically this means it is not over SSL or a multiplexed protocol)
      • abort

        public void abort​(java.lang.Throwable failure)
        Deprecated.
        If a write or similar operation to this channel fails, then this method should be called.

        The standard implementation calls HttpTransport.abort(Throwable).

        Parameters:
        failure - the failure that caused the abort.