Class URIUtils

java.lang.Object
org.apache.hc.client5.http.utils.URIUtils

public class URIUtils extends Object
A collection of utilities for URIs, to workaround bugs within the class or for ease-of-use features.
Since:
4.0
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    This class should not be instantiated.
  • Method Summary

    Modifier and Type
    Method
    Description
    static URI
    create(String scheme, org.apache.hc.core5.net.URIAuthority host, String path)
    Deprecated.
    Use URIBuilder.
    static URI
    create(org.apache.hc.core5.http.HttpHost host, String path)
    Deprecated.
    Use URIBuilder.
    static org.apache.hc.core5.http.HttpHost
    Extracts target host from the given URI.
    (package private) static URI
    Removes dot segments and performs Syntax-Based Normalization.
    static URI
    resolve(URI baseURI, String reference)
    Resolves a URI reference against a base URI.
    static URI
    resolve(URI baseURI, URI reference)
    Resolves a URI reference against a base URI.
    static URI
    resolve(URI originalURI, org.apache.hc.core5.http.HttpHost target, List<URI> redirects)
    Derives the interpreted (absolute) URI that was used to generate the last request.
    static URI
    Deprecated.
    Use URIBuilder.
    static URI
    rewriteURI(URI uri, org.apache.hc.core5.http.HttpHost target)
    Deprecated.
    Use URIBuilder.
    static URI
    rewriteURI(URI uri, org.apache.hc.core5.http.HttpHost target, boolean dropFragment)
    Deprecated.
    Use URIBuilder.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • URIUtils

      private URIUtils()
      This class should not be instantiated.
  • Method Details

    • rewriteURI

      @Deprecated public static URI rewriteURI(URI uri, org.apache.hc.core5.http.HttpHost target, boolean dropFragment) throws URISyntaxException
      Deprecated.
      Use URIBuilder.
      A convenience method for creating a new URI whose scheme, host and port are taken from the target host, but whose path, query and fragment are taken from the existing URI. The fragment is only used if dropFragment is false. The path is set to "/" if not explicitly specified.
      Parameters:
      uri - Contains the path, query and fragment to use.
      target - Contains the scheme, host and port to use.
      dropFragment - True if the fragment should not be copied.
      Throws:
      URISyntaxException - If the resulting URI is invalid.
    • rewriteURI

      @Deprecated public static URI rewriteURI(URI uri, org.apache.hc.core5.http.HttpHost target) throws URISyntaxException
      Deprecated.
      Use URIBuilder.
      A convenience method for rewriteURI(URI, HttpHost, boolean) that always keeps the fragment.
      Throws:
      URISyntaxException
    • rewriteURI

      @Deprecated public static URI rewriteURI(URI uri) throws URISyntaxException
      Deprecated.
      Use URIBuilder.
      A convenience method that creates a new URI whose scheme, host, port, path, query are taken from the existing URI, dropping any fragment or user-information. The path is set to "/" if not explicitly specified. The existing URI is returned unmodified if it has no fragment or user-information and has a path.
      Parameters:
      uri - original URI.
      Throws:
      URISyntaxException - If the resulting URI is invalid.
    • resolve

      public static URI resolve(URI baseURI, String reference)
      Resolves a URI reference against a base URI. Work-around for bug in java.net.URI (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4708535)
      Parameters:
      baseURI - the base URI
      reference - the URI reference
      Returns:
      the resulting URI
    • resolve

      public static URI resolve(URI baseURI, URI reference)
      Resolves a URI reference against a base URI. Work-around for bugs in java.net.URI (e.g. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4708535)
      Parameters:
      baseURI - the base URI
      reference - the URI reference
      Returns:
      the resulting URI
    • normalizeSyntax

      static URI normalizeSyntax(URI uri) throws URISyntaxException
      Removes dot segments and performs Syntax-Based Normalization.
      Parameters:
      uri - the original URI
      Returns:
      the URI without dot segments
      Throws:
      URISyntaxException
    • extractHost

      public static org.apache.hc.core5.http.HttpHost extractHost(URI uri)
      Extracts target host from the given URI.
      Parameters:
      uri -
      Returns:
      the target host if the URI is absolute or null if the URI is relative or does not contain a valid host name.
      Since:
      4.1
    • resolve

      public static URI resolve(URI originalURI, org.apache.hc.core5.http.HttpHost target, List<URI> redirects) throws URISyntaxException
      Derives the interpreted (absolute) URI that was used to generate the last request. This is done by extracting the request-uri and target origin for the last request and scanning all the redirect locations for the last fragment identifier, then combining the result into a URI.
      Parameters:
      originalURI - original request before any redirects
      target - if the last URI is relative, it is resolved against this target, or null if not available.
      redirects - collection of redirect locations since the original request or null if not available.
      Returns:
      interpreted (absolute) URI
      Throws:
      URISyntaxException
    • create

      @Deprecated public static URI create(org.apache.hc.core5.http.HttpHost host, String path) throws URISyntaxException
      Deprecated.
      Use URIBuilder.
      Convenience factory method for URI instances.
      Throws:
      URISyntaxException
      Since:
      5.0
    • create

      @Deprecated public static URI create(String scheme, org.apache.hc.core5.net.URIAuthority host, String path) throws URISyntaxException
      Deprecated.
      Use URIBuilder.
      Convenience factory method for URI instances.
      Throws:
      URISyntaxException
      Since:
      5.0