Example usage for org.apache.http.impl.cookie IgnoreSpecProvider IgnoreSpecProvider

List of usage examples for org.apache.http.impl.cookie IgnoreSpecProvider IgnoreSpecProvider

Introduction

In this page you can find the example usage for org.apache.http.impl.cookie IgnoreSpecProvider IgnoreSpecProvider.

Prototype

public IgnoreSpecProvider() 

Source Link

Usage

From source file:com.mirth.connect.util.HttpUtil.java

/**
 * Applies global settings to any Apache HttpComponents HttpClientBuilder.<br/>
 * <br/>/*from   w  w w . j a  v a2s  .c  o  m*/
 * As of version 4.5, the default cookie specifications used by Apache HttpClient are more
 * strict in order to abide by RFC 6265. As part of this change, domain parameters in cookies
 * are checked against a public ICANN suffix matcher before they are allowed to be added to
 * outgoing requests. However this may cause clients to fail to connect if they are using custom
 * hostnames like "mycustomhost". To prevent that, we're building our own CookieSpecProvider
 * registry, and setting that on the client. Look at CookieSpecRegistries to see how the default
 * registry is built. The only difference now is that DefaultCookieSpecProvider is being
 * constructed without a PublicSuffixMatcher.
 */
public static void configureClientBuilder(HttpClientBuilder clientBuilder) {
    PublicSuffixMatcher publicSuffixMatcher = PublicSuffixMatcherLoader.getDefault();
    clientBuilder.setPublicSuffixMatcher(publicSuffixMatcher);
    RegistryBuilder<CookieSpecProvider> cookieSpecBuilder = RegistryBuilder.<CookieSpecProvider>create();
    CookieSpecProvider defaultProvider = new DefaultCookieSpecProvider();
    CookieSpecProvider laxStandardProvider = new RFC6265CookieSpecProvider(
            RFC6265CookieSpecProvider.CompatibilityLevel.RELAXED, publicSuffixMatcher);
    CookieSpecProvider strictStandardProvider = new RFC6265CookieSpecProvider(
            RFC6265CookieSpecProvider.CompatibilityLevel.STRICT, publicSuffixMatcher);
    cookieSpecBuilder.register(CookieSpecs.DEFAULT, defaultProvider);
    cookieSpecBuilder.register("best-match", defaultProvider);
    cookieSpecBuilder.register("compatibility", defaultProvider);
    cookieSpecBuilder.register(CookieSpecs.STANDARD, laxStandardProvider);
    cookieSpecBuilder.register(CookieSpecs.STANDARD_STRICT, strictStandardProvider);
    cookieSpecBuilder.register(CookieSpecs.NETSCAPE, new NetscapeDraftSpecProvider());
    cookieSpecBuilder.register(CookieSpecs.IGNORE_COOKIES, new IgnoreSpecProvider());
    clientBuilder.setDefaultCookieSpecRegistry(cookieSpecBuilder.build());
}