Class HttpHost

java.lang.Object
org.apache.hc.core5.http.HttpHost
All Implemented Interfaces:
Serializable, NamedEndpoint

@Contract(threading=IMMUTABLE) public final class HttpHost extends Object implements NamedEndpoint, Serializable
Component that holds all details needed to describe an HTTP connection to a host. This includes remote host name, port and protocol scheme.
Since:
4.0, 5.0 For constructors that take a scheme as an argument, that argument is now the first one.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • DEFAULT_SCHEME

      public static final URIScheme DEFAULT_SCHEME
      The default scheme is "http".
    • schemeName

      private final String schemeName
    • host

      private final Host host
    • address

      private final InetAddress address
  • Constructor Details

    • HttpHost

      public HttpHost(String scheme, InetAddress address, String hostname, int port)
      Creates a new HttpHost, specifying all values. Constructor for HttpHost.
      Parameters:
      scheme - the name of the scheme. null indicates the default scheme
      address - the inet address. Can be null
      hostname - the hostname (IP or DNS name)
      port - the port number. -1 indicates the scheme default port.
      Throws:
      IllegalArgumentException - If the port parameter is outside the specified range of valid port values, which is between 0 and 65535, inclusive. -1 indicates the scheme default port.
      Since:
      5.0
    • HttpHost

      public HttpHost(String scheme, String hostname, int port)
      Creates HttpHost instance with the given scheme, hostname and port.
      Parameters:
      scheme - the name of the scheme. null indicates the default scheme
      hostname - the hostname (IP or DNS name)
      port - the port number. -1 indicates the scheme default port.
      Throws:
      IllegalArgumentException - If the port parameter is outside the specified range of valid port values, which is between 0 and 65535, inclusive. -1 indicates the scheme default port.
    • HttpHost

      public HttpHost(String hostname, int port)
      Creates HttpHost instance with the default scheme and the given hostname and port.
      Parameters:
      hostname - the hostname (IP or DNS name)
      port - the port number. -1 indicates the scheme default port.
      Throws:
      IllegalArgumentException - If the port parameter is outside the specified range of valid port values, which is between 0 and 65535, inclusive. -1 indicates the scheme default port.
    • HttpHost

      public HttpHost(String scheme, String hostname)
      Creates HttpHost instance with the given hostname and scheme and the default port for that scheme.
      Parameters:
      scheme - the name of the scheme. null indicates the default scheme
      hostname - the hostname (IP or DNS name)
      Throws:
      IllegalArgumentException - If the port parameter is outside the specified range of valid port values, which is between 0 and 65535, inclusive. -1 indicates the scheme default port.
    • HttpHost

      public HttpHost(String hostname)
      Creates HttpHost instance with the default scheme and port and the given hostname.
      Parameters:
      hostname - the hostname (IP or DNS name)
      Throws:
      IllegalArgumentException - If the port parameter is outside the specified range of valid port values, which is between 0 and 65535, inclusive. -1 indicates the scheme default port.
    • HttpHost

      public HttpHost(String scheme, InetAddress address, int port)
      Creates HttpHost instance with the given scheme, inet address and port.
      Parameters:
      scheme - the name of the scheme. null indicates the default scheme
      address - the inet address.
      port - the port number. -1 indicates the scheme default port.
      Throws:
      IllegalArgumentException - If the port parameter is outside the specified range of valid port values, which is between 0 and 65535, inclusive. -1 indicates the scheme default port.
      Since:
      5.0
    • HttpHost

      public HttpHost(InetAddress address, int port)
      Creates HttpHost instance with the default scheme and the given inet address and port.
      Parameters:
      address - the inet address.
      port - the port number. -1 indicates the scheme default port.
      Throws:
      IllegalArgumentException - If the port parameter is outside the specified range of valid port values, which is between 0 and 65535, inclusive. -1 indicates the scheme default port.
      Since:
      4.3
    • HttpHost

      public HttpHost(InetAddress address)
      Creates HttpHost instance with the default scheme and port and the given inet address.
      Parameters:
      address - the inet address.
      Throws:
      IllegalArgumentException - If the port parameter is outside the specified range of valid port values, which is between 0 and 65535, inclusive. -1 indicates the scheme default port.
      Since:
      4.3
    • HttpHost

      public HttpHost(String scheme, NamedEndpoint namedEndpoint)
      Throws:
      IllegalArgumentException - If the port parameter is outside the specified range of valid port values, which is between 0 and 65535, inclusive. -1 indicates the scheme default port.
      Since:
      5.0
    • HttpHost

      @Deprecated public HttpHost(URIAuthority authority)
      Since:
      5.0
  • Method Details

    • create

      public static HttpHost create(String s) throws URISyntaxException
      Creates HttpHost instance from a string. Text may not contain any blanks.
      Throws:
      URISyntaxException
      Since:
      4.4
    • create

      public static HttpHost create(URI uri)
      Creates an HttpHost instance from the scheme, host, and port from the given URI. Other URI elements are ignored.
      Parameters:
      uri - scheme, host, and port.
      Returns:
      a new HttpHost
      Since:
      5.0
    • getHostName

      public String getHostName()
      Returns the host name.
      Specified by:
      getHostName in interface NamedEndpoint
      Returns:
      the host name (IP or DNS name)
    • getPort

      public int getPort()
      Returns the port.
      Specified by:
      getPort in interface NamedEndpoint
      Returns:
      the host port, or -1 if not set
    • getSchemeName

      public String getSchemeName()
      Returns the scheme name.
      Returns:
      the scheme name
    • getAddress

      public InetAddress getAddress()
      Returns the inet address if explicitly set by a constructor, null otherwise.
      Returns:
      the inet address
      Since:
      4.3
    • toURI

      public String toURI()
      Return the host URI, as a string.
      Returns:
      the host URI
    • toHostString

      public String toHostString()
      Obtains the host string, without scheme prefix.
      Returns:
      the host string, for example localhost:8080
    • toString

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

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

      public int hashCode()
      Overrides:
      hashCode in class Object
      See Also: