Class Call

  • Direct Known Subclasses:
    ClientCall, ServerCall

    public abstract class Call
    extends java.lang.Object
    Low-level call for the HTTP connectors.
    • Constructor Summary

      Constructors 
      Constructor Description
      Call()
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getClientAddress()
      Returns the client address.
      Corresponds to the IP address of the requesting client.
      int getClientPort()
      Returns the client port.
      Corresponds to the TCP/IP port of the requesting client.
      java.lang.String getHostDomain()
      Returns the host domain.
      int getHostPort()
      Returns the host port.
      java.util.logging.Logger getLogger()
      Returns the logger.
      java.lang.String getMethod()
      Returns the request method.
      Protocol getProtocol()
      Returns the exact protocol (HTTP or HTTPS).
      java.lang.String getReasonPhrase()
      Returns the reason phrase.
      protected Representation getRepresentation​(java.io.InputStream stream)
      Returns the representation wrapping the given stream.
      protected Representation getRepresentation​(java.nio.channels.ReadableByteChannel channel)
      Returns the representation wrapping the given channel.
      Series<Header> getRequestHeaders()
      Returns the modifiable list of request headers.
      java.lang.String getRequestUri()
      Returns the URI on the request line (most like a relative reference, but not necessarily).
      Series<Header> getResponseHeaders()
      Returns the modifiable list of server headers.
      java.lang.String getServerAddress()
      Returns the response address.
      Corresponds to the IP address of the responding server.
      int getServerPort()
      Returns the server port.
      int getStatusCode()
      Returns the status code.
      java.security.Principal getUserPrincipal()
      Returns the user principal.
      java.lang.String getVersion()
      Returns the protocol version used.
      static boolean isBroken​(java.lang.Throwable exception)
      Returns true if the given exception is caused by a broken connection.
      protected abstract boolean isClientKeepAlive()
      Indicates if the client wants a persistent connection.
      boolean isConfidential()
      Indicates if the confidentiality of the call is ensured (ex: via SSL).
      boolean isConnectionBroken​(java.lang.Throwable exception)
      Returns true if the given exception is caused by a broken connection.
      protected boolean isKeepAlive()
      Indicates if both the client and the server want a persistent connection.
      protected boolean isRequestChunked()
      Indicates if the request entity is chunked.
      protected boolean isResponseChunked()
      Indicates if the response entity is chunked.
      protected abstract boolean isServerKeepAlive()
      Indicates if the server wants a persistent connection.
      protected void setClientAddress​(java.lang.String clientAddress)
      Sets the client address.
      protected void setClientPort​(int clientPort)
      Sets the client port.
      protected void setConfidential​(boolean confidential)
      Indicates if the confidentiality of the call is ensured (ex: via SSL).
      void setHostDomain​(java.lang.String hostDomain)
      Sets the host domain name.
      void setHostPort​(int hostPort)
      Sets the host port.
      protected void setMethod​(java.lang.String method)
      Sets the request method.
      void setProtocol​(Protocol protocol)
      Sets the exact protocol used (HTTP or HTTPS).
      void setReasonPhrase​(java.lang.String reasonPhrase)
      Sets the reason phrase.
      protected void setRequestUri​(java.lang.String requestUri)
      Sets the full request URI.
      void setServerAddress​(java.lang.String responseAddress)
      Sets the response address.
      Corresponds to the IP address of the responding server.
      void setServerPort​(int serverPort)
      Sets the server port.
      void setStatusCode​(int code)
      Sets the status code.
      void setUserPrincipal​(java.security.Principal principal)
      Sets the user principal.
      void setVersion​(java.lang.String version)
      Sets the protocol version used.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • clientAddress

        private volatile java.lang.String clientAddress
        The client IP address.
      • clientPort

        private volatile int clientPort
        The client port.
      • confidential

        private volatile boolean confidential
        Indicates if the call is confidential.
      • hostDomain

        private volatile java.lang.String hostDomain
        The hostRef domain.
      • hostPort

        private volatile int hostPort
        The hostRef port.
      • method

        private volatile java.lang.String method
        The method.
      • protocol

        private volatile Protocol protocol
        The exact protocol.
      • reasonPhrase

        private volatile java.lang.String reasonPhrase
        The reason phrase.
      • requestHeaders

        private final Series<Header> requestHeaders
        The request headers.
      • requestUri

        private volatile java.lang.String requestUri
        The request URI.
      • responseHeaders

        private final Series<Header> responseHeaders
        The response headers.
      • serverAddress

        private volatile java.lang.String serverAddress
        The server IP address.
      • serverPort

        private volatile int serverPort
        The server port.
      • statusCode

        private volatile int statusCode
        The status code.
      • userPrincipal

        private volatile java.security.Principal userPrincipal
        The user principal.
      • version

        private volatile java.lang.String version
        The protocol version.
    • Constructor Detail

      • Call

        public Call()
        Constructor.
    • Method Detail

      • isBroken

        public static boolean isBroken​(java.lang.Throwable exception)
        Returns true if the given exception is caused by a broken connection.
        Parameters:
        exception - The exception to inspect.
        Returns:
        True if the given exception is caused by a broken connection.
      • getClientAddress

        public java.lang.String getClientAddress()
        Returns the client address.
        Corresponds to the IP address of the requesting client.
        Returns:
        The client address.
      • getClientPort

        public int getClientPort()
        Returns the client port.
        Corresponds to the TCP/IP port of the requesting client.
        Returns:
        The client port.
      • getHostDomain

        public java.lang.String getHostDomain()
        Returns the host domain.
        Returns:
        The host domain.
      • getHostPort

        public int getHostPort()
        Returns the host port.
        Returns:
        The host port.
      • getLogger

        public java.util.logging.Logger getLogger()
        Returns the logger.
        Returns:
        The logger.
      • getMethod

        public java.lang.String getMethod()
        Returns the request method.
        Returns:
        The request method.
      • getProtocol

        public Protocol getProtocol()
        Returns the exact protocol (HTTP or HTTPS).
        Returns:
        The exact protocol (HTTP or HTTPS).
      • getReasonPhrase

        public java.lang.String getReasonPhrase()
        Returns the reason phrase.
        Returns:
        The reason phrase.
      • getRepresentation

        protected Representation getRepresentation​(java.io.InputStream stream)
        Returns the representation wrapping the given stream.
        Parameters:
        stream - The response input stream.
        Returns:
        The wrapping representation.
      • getRepresentation

        protected Representation getRepresentation​(java.nio.channels.ReadableByteChannel channel)
        Returns the representation wrapping the given channel.
        Parameters:
        channel - The response channel.
        Returns:
        The wrapping representation.
      • getRequestHeaders

        public Series<Header> getRequestHeaders()
        Returns the modifiable list of request headers.
        Returns:
        The modifiable list of request headers.
      • getRequestUri

        public java.lang.String getRequestUri()
        Returns the URI on the request line (most like a relative reference, but not necessarily).
        Returns:
        The URI on the request line.
      • getResponseHeaders

        public Series<Header> getResponseHeaders()
        Returns the modifiable list of server headers.
        Returns:
        The modifiable list of server headers.
      • getServerAddress

        public java.lang.String getServerAddress()
        Returns the response address.
        Corresponds to the IP address of the responding server.
        Returns:
        The response address.
      • getServerPort

        public int getServerPort()
        Returns the server port.
        Returns:
        The server port.
      • getStatusCode

        public int getStatusCode()
                          throws java.io.IOException
        Returns the status code.
        Returns:
        The status code.
        Throws:
        java.io.IOException
      • getUserPrincipal

        public java.security.Principal getUserPrincipal()
        Returns the user principal.
        Returns:
        The user principal.
      • getVersion

        public java.lang.String getVersion()
        Returns the protocol version used.
        Returns:
        The protocol version used.
      • isClientKeepAlive

        protected abstract boolean isClientKeepAlive()
        Indicates if the client wants a persistent connection.
        Returns:
        True if the client wants a persistent connection.
      • isConfidential

        public boolean isConfidential()
        Indicates if the confidentiality of the call is ensured (ex: via SSL).
        Returns:
        True if the confidentiality of the call is ensured (ex: via SSL).
      • isConnectionBroken

        public boolean isConnectionBroken​(java.lang.Throwable exception)
        Returns true if the given exception is caused by a broken connection.
        Parameters:
        exception - The exception to inspect.
        Returns:
        True if the given exception is caused by a broken connection.
      • isKeepAlive

        protected boolean isKeepAlive()
        Indicates if both the client and the server want a persistent connection.
        Returns:
        True if the connection should be kept alive after the call processing.
      • isRequestChunked

        protected boolean isRequestChunked()
        Indicates if the request entity is chunked.
        Returns:
        True if the request entity is chunked.
      • isResponseChunked

        protected boolean isResponseChunked()
        Indicates if the response entity is chunked.
        Returns:
        True if the response entity is chunked.
      • isServerKeepAlive

        protected abstract boolean isServerKeepAlive()
        Indicates if the server wants a persistent connection.
        Returns:
        True if the server wants a persistent connection.
      • setClientAddress

        protected void setClientAddress​(java.lang.String clientAddress)
        Sets the client address.
        Parameters:
        clientAddress - The client address.
      • setClientPort

        protected void setClientPort​(int clientPort)
        Sets the client port.
        Parameters:
        clientPort - The client port.
      • setConfidential

        protected void setConfidential​(boolean confidential)
        Indicates if the confidentiality of the call is ensured (ex: via SSL).
        Parameters:
        confidential - True if the confidentiality of the call is ensured (ex: via SSL).
      • setHostDomain

        public void setHostDomain​(java.lang.String hostDomain)
        Sets the host domain name.
        Parameters:
        hostDomain - The baseRef domain name.
      • setHostPort

        public void setHostPort​(int hostPort)
        Sets the host port.
        Parameters:
        hostPort - The host port.
      • setMethod

        protected void setMethod​(java.lang.String method)
        Sets the request method.
        Parameters:
        method - The request method.
      • setProtocol

        public void setProtocol​(Protocol protocol)
        Sets the exact protocol used (HTTP or HTTPS).
        Parameters:
        protocol - The protocol.
      • setReasonPhrase

        public void setReasonPhrase​(java.lang.String reasonPhrase)
        Sets the reason phrase.
        Parameters:
        reasonPhrase - The reason phrase.
      • setRequestUri

        protected void setRequestUri​(java.lang.String requestUri)
        Sets the full request URI.
        Parameters:
        requestUri - The full request URI.
      • setServerAddress

        public void setServerAddress​(java.lang.String responseAddress)
        Sets the response address.
        Corresponds to the IP address of the responding server.
        Parameters:
        responseAddress - The response address.
      • setServerPort

        public void setServerPort​(int serverPort)
        Sets the server port.
        Parameters:
        serverPort - The server port.
      • setStatusCode

        public void setStatusCode​(int code)
        Sets the status code.
        Parameters:
        code - The status code.
      • setUserPrincipal

        public void setUserPrincipal​(java.security.Principal principal)
        Sets the user principal.
        Parameters:
        principal - The user principal.
      • setVersion

        public void setVersion​(java.lang.String version)
        Sets the protocol version used.
        Parameters:
        version - The protocol version used.