Package net.shibboleth.shared.httpclient
Class HttpClientSupport
java.lang.Object
net.shibboleth.shared.httpclient.HttpClientSupport
Support class for using
HttpClient and related components.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringContext key for instances of dynamic context handlers to be invoked before and after the HTTP request. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddDynamicContextHandlerFirst(org.apache.hc.client5.http.protocol.HttpClientContext context, HttpClientContextHandler handler) Add the specified instance ofHttpClientContextHandlerto theHttpClientContextin the first handler list position.static voidaddDynamicContextHandlerFirst(org.apache.hc.client5.http.protocol.HttpClientContext context, HttpClientContextHandler handler, boolean uniqueType) Add the specified instance ofHttpClientContextHandlerto theHttpClientContextin the first handler list position.static voidaddDynamicContextHandlerLast(org.apache.hc.client5.http.protocol.HttpClientContext context, HttpClientContextHandler handler) Add the specified instance ofHttpClientContextHandlerto theHttpClientContextin the last handler list position.static voidaddDynamicContextHandlerLast(org.apache.hc.client5.http.protocol.HttpClientContext context, HttpClientContextHandler handler, boolean uniqueType) Add the specified instance ofHttpClientContextHandlerto theHttpClientContextin the last handler list position.static org.apache.hc.client5.http.protocol.HttpClientContextNon-null version of client context creation.static org.apache.hc.client5.http.socket.LayeredConnectionSocketFactoryBuild a TLS-capable instance ofLayeredConnectionSocketFactorywhich accepts all peer certificates and performs no hostname verification.static X509TrustManagerBuild an instance ofX509TrustManagerwhich trusts all certificates.static org.apache.hc.client5.http.socket.LayeredConnectionSocketFactoryBuild an instance of TLS-capableLayeredConnectionSocketFactorywhich uses the standard JSSE defaultSSLContextand which performs strict hostname verification.static List<HttpClientContextHandler>getDynamicContextHandlerList(org.apache.hc.client5.http.protocol.HttpClientContext context) Get the list ofHttpClientContextHandlerfor theHttpClientContext.static StringtoString(org.apache.hc.core5.http.HttpEntity entity, int maxLength) Read the contents of an entity and return it as a String.static StringGet the entity content as a String, using the provided default character set if none is found in the entity.static StringGet the entity content as a String, using the provided default character set if none is found in the entity.
-
Field Details
-
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 ofList<HttpClientContextHandler>.- See Also:
-
-
Constructor Details
-
HttpClientSupport
private HttpClientSupport()Constructor to prevent instantiation.
-
-
Method Details
-
buildStrictTLSSocketFactory
@Nonnull public static org.apache.hc.client5.http.socket.LayeredConnectionSocketFactory buildStrictTLSSocketFactory()Build an instance of TLS-capableLayeredConnectionSocketFactorywhich uses the standard JSSE defaultSSLContextand which performs strict hostname verification.- Returns:
- a new instance of HttpClient SSL connection socket factory
-
buildNoTrustTLSSocketFactory
@Nonnull public static org.apache.hc.client5.http.socket.LayeredConnectionSocketFactory buildNoTrustTLSSocketFactory()Build a TLS-capable instance ofLayeredConnectionSocketFactorywhich accepts all peer certificates and performs no hostname verification.- Returns:
- a new instance of HttpClient SSL connection socket factory
-
buildNoTrustX509TrustManager
Build an instance ofX509TrustManagerwhich trusts all certificates.- Returns:
- a new trust manager instance
-
buildHttpClientContext
@Nonnull public static org.apache.hc.client5.http.protocol.HttpClientContext buildHttpClientContext()Non-null version of client context creation.- Returns:
- the new client context instance
- Since:
- 9.0.0
-
getDynamicContextHandlerList
@Nonnull @Live public static List<HttpClientContextHandler> getDynamicContextHandlerList(@Nonnull org.apache.hc.client5.http.protocol.HttpClientContext context) Get the list ofHttpClientContextHandlerfor theHttpClientContext.- Parameters:
context- the client context- Returns:
- the handler list
-
toString
@Nullable public static String toString(@Nonnull org.apache.hc.core5.http.HttpEntity entity, @Nullable Charset defaultCharset, int maxLength) throws IOException, org.apache.hc.core5.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 nulldefaultCharset- character set to be applied if none found in the entitymaxLength- limit on size of content- Returns:
- the entity content as a String. May be null if
HttpEntity.getContent()is null. - Throws:
org.apache.hc.core5.http.ParseException- if header elements cannot be parsedIOException- if an error occurs reading the input stream, or the size exceeds limitsUnsupportedCharsetException- when the content's charset is not available
-
toString
@Nullable public static String toString(@Nonnull org.apache.hc.core5.http.HttpEntity entity, @Nullable String defaultCharset, int maxLength) throws IOException, org.apache.hc.core5.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 nulldefaultCharset- character set to be applied if none found in the entitymaxLength- limit on size of content- Returns:
- the entity content as a String. May be null if
HttpEntity.getContent()is null. - Throws:
org.apache.hc.core5.http.ParseException- if header elements cannot be parsedIOException- if an error occurs reading the input stream, or the size exceeds limitsUnsupportedCharsetException- when the content's charset is not available
-
toString
@Nullable public static String toString(@Nonnull org.apache.hc.core5.http.HttpEntity entity, int maxLength) throws IOException, org.apache.hc.core5.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 nullmaxLength- limit on size of content- Returns:
- the entity content as a String. May be null if
HttpEntity.getContent()is null. - Throws:
org.apache.hc.core5.http.ParseException- if header elements cannot be parsedIOException- if an error occurs reading the input stream, or the size exceeds limitsUnsupportedCharsetException- when the content's charset is not available
-