Class HttpClientSupport


  • public final class HttpClientSupport
    extends Object
    Support class for using HttpClient and related components.
    • Field Detail

      • CONTEXT_KEY_DYNAMIC_CONTEXT_HANDLERS

        private static final String CONTEXT_KEY_DYNAMIC_CONTEXT_HANDLERS
        Context key for instances of dynamic context handlers to be invoked before and after the HTTP request. Must be an instance of List<HttpClientContextHandler>.
        See Also:
        Constant Field Values
    • Constructor Detail

      • HttpClientSupport

        private HttpClientSupport()
        Constructor to prevent instantiation.
    • Method Detail

      • buildStrictTLSSocketFactory

        @Nonnull
        public static org.apache.http.conn.socket.LayeredConnectionSocketFactory buildStrictTLSSocketFactory()
        Build an instance of TLS-capable LayeredConnectionSocketFactory which uses the standard JSSE default SSLContext and which performs strict hostname verification.
        Returns:
        a new instance of HttpClient SSL connection socket factory
      • buildNoTrustTLSSocketFactory

        @Nonnull
        public static org.apache.http.conn.socket.LayeredConnectionSocketFactory buildNoTrustTLSSocketFactory()
        Build a TLS-capable instance of LayeredConnectionSocketFactory which accepts all peer certificates and performs no hostname verification.
        Returns:
        a new instance of HttpClient SSL connection socket factory
      • buildNoTrustX509TrustManager

        @Nonnull
        public static X509TrustManager buildNoTrustX509TrustManager()
        Build an instance of X509TrustManager which trusts all certificates.
        Returns:
        a new trust manager instance
      • getDynamicContextHandlerList

        @Nonnull
        public static List<HttpClientContextHandler> getDynamicContextHandlerList​(@Nonnull
                                                                                  org.apache.http.client.protocol.HttpClientContext context)
        Get the list of HttpClientContextHandler for the HttpClientContext.
        Parameters:
        context - the client context
        Returns:
        the handler list
      • addDynamicContextHandlerFirst

        public static void addDynamicContextHandlerFirst​(@Nonnull
                                                         org.apache.http.client.protocol.HttpClientContext context,
                                                         @Nonnull
                                                         HttpClientContextHandler handler)
        Add the specified instance of HttpClientContextHandler to the HttpClientContext in the first handler list position.
        Parameters:
        context - the client context
        handler - the handler to add
      • addDynamicContextHandlerFirst

        public static void addDynamicContextHandlerFirst​(@Nonnull
                                                         org.apache.http.client.protocol.HttpClientContext context,
                                                         @Nonnull
                                                         HttpClientContextHandler handler,
                                                         boolean uniqueType)
        Add the specified instance of HttpClientContextHandler to the HttpClientContext in the first handler list position.
        Parameters:
        context - the client context
        handler - the handler to add
        uniqueType - whether to only add the handler if an instance of its (exact) class is not already present
      • addDynamicContextHandlerLast

        public static void addDynamicContextHandlerLast​(@Nonnull
                                                        org.apache.http.client.protocol.HttpClientContext context,
                                                        @Nonnull
                                                        HttpClientContextHandler handler)
        Add the specified instance of HttpClientContextHandler to the HttpClientContext in the last handler list position.
        Parameters:
        context - the client context
        handler - the handler to add
      • addDynamicContextHandlerLast

        public static void addDynamicContextHandlerLast​(@Nonnull
                                                        org.apache.http.client.protocol.HttpClientContext context,
                                                        @Nonnull
                                                        HttpClientContextHandler handler,
                                                        boolean uniqueType)
        Add the specified instance of HttpClientContextHandler to the HttpClientContext in the last handler list position.
        Parameters:
        context - the client context
        handler - the handler to add
        uniqueType - whether to only add the handler if an instance of its (exact) class is not already present
      • toString

        @Nullable
        public static String toString​(@Nonnull
                                      org.apache.http.HttpEntity entity,
                                      @Nullable
                                      Charset defaultCharset,
                                      int maxLength)
                               throws IOException,
                                      org.apache.http.ParseException
        Get the entity content as a String, using the provided default character set if none is found in the entity.

        If defaultCharset is null, the default "ISO-8859-1" is used.

        Parameters:
        entity - must not be null
        defaultCharset - character set to be applied if none found in the entity
        maxLength - limit on size of content
        Returns:
        the entity content as a String. May be null if HttpEntity.getContent() is null.
        Throws:
        org.apache.http.ParseException - if header elements cannot be parsed
        IOException - if an error occurs reading the input stream, or the size exceeds limits
        UnsupportedCharsetException - when the content's charset is not available
      • toString

        @Nullable
        public static String toString​(@Nonnull
                                      org.apache.http.HttpEntity entity,
                                      @Nullable
                                      String defaultCharset,
                                      int maxLength)
                               throws IOException,
                                      org.apache.http.ParseException
        Get the entity content as a String, using the provided default character set if none is found in the entity. If defaultCharset is null, the default "ISO-8859-1" is used.
        Parameters:
        entity - must not be null
        defaultCharset - character set to be applied if none found in the entity
        maxLength - limit on size of content
        Returns:
        the entity content as a String. May be null if HttpEntity.getContent() is null.
        Throws:
        org.apache.http.ParseException - if header elements cannot be parsed
        IOException - if an error occurs reading the input stream, or the size exceeds limits
        UnsupportedCharsetException - when the content's charset is not available
      • toString

        @Nullable
        public static String toString​(@Nonnull
                                      org.apache.http.HttpEntity entity,
                                      int maxLength)
                               throws IOException,
                                      org.apache.http.ParseException
        Read the contents of an entity and return it as a String. The content is converted using the character set from the entity (if any), failing that, "ISO-8859-1" is used.
        Parameters:
        entity - the entity to convert to a string; must not be null
        maxLength - limit on size of content
        Returns:
        the entity content as a String. May be null if HttpEntity.getContent() is null.
        Throws:
        org.apache.http.ParseException - if header elements cannot be parsed
        IOException - if an error occurs reading the input stream, or the size exceeds limits
        UnsupportedCharsetException - when the content's charset is not available