Example usage for org.apache.http.client.methods HttpRequestBase setConfig

List of usage examples for org.apache.http.client.methods HttpRequestBase setConfig

Introduction

In this page you can find the example usage for org.apache.http.client.methods HttpRequestBase setConfig.

Prototype

public void setConfig(final RequestConfig config) 

Source Link

Usage

From source file:com.okta.sdk.impl.http.httpclient.HttpClientRequestFactory.java

/**
 * Creates an HttpClient method object based on the specified request and
 * populates any parameters, headers, etc. from the original request.
 *
 * @param request        The request to convert to an HttpClient method object.
 * @param previousEntity The optional, previous HTTP entity to reuse in the new request.
 * @return The converted HttpClient method object with any parameters,
 *         headers, etc. from the original request set.
 *///  w  w w  .j a  v  a  2s  .  c  o  m
HttpRequestBase createHttpClientRequest(Request request, HttpEntity previousEntity) {

    HttpMethod method = request.getMethod();
    URI uri = getFullyQualifiedUri(request);
    InputStream body = request.getBody();
    long contentLength = request.getHeaders().getContentLength();

    HttpRequestBase base;

    switch (method) {
    case DELETE:
        base = new HttpDelete(uri);
        break;
    case GET:
        base = new HttpGet(uri);
        break;
    case HEAD:
        base = new HttpHead(uri);
        break;
    case POST:
        base = new HttpPost(uri);
        ((HttpEntityEnclosingRequestBase) base).setEntity(new RepeatableInputStreamEntity(request));
        break;
    case PUT:
        base = new HttpPut(uri);

        // Enable 100-continue support for PUT operations, since this is  where we're potentially uploading
        // large amounts of data and want to find out as early as possible if an operation will fail. We
        // don't want to do this for all operations since it will cause extra latency in the network
        // interaction.
        base.setConfig(RequestConfig.copy(defaultRequestConfig).setExpectContinueEnabled(true).build());

        if (previousEntity != null) {
            ((HttpEntityEnclosingRequestBase) base).setEntity(previousEntity);
        } else if (body != null) {
            HttpEntity entity = new RepeatableInputStreamEntity(request);
            if (contentLength < 0) {
                entity = newBufferedHttpEntity(entity);
            }
            ((HttpEntityEnclosingRequestBase) base).setEntity(entity);
        }
        break;
    default:
        throw new IllegalArgumentException("Unrecognized HttpMethod: " + method);
    }

    base.setProtocolVersion(HttpVersion.HTTP_1_1);

    applyHeaders(base, request);

    return base;
}

From source file:org.openscore.content.httpclient.ScoreHttpClient.java

public HttpComponents buildHttpComponents(HttpClientInputs httpClientInputs) {
    buildDefaultServices();//from   w  ww.j a va2s .com

    URI uri = uriBuilder.setUrl(httpClientInputs.getUrl()).setQueryParams(httpClientInputs.getQueryParams())
            .setQueryParamsAreURLEncoded(httpClientInputs.getQueryParamsAreURLEncoded()).buildURI();

    ContentType theContentType = contentTypeBuilder.setContentType(httpClientInputs.getContentType())
            .setRequestCharacterSet(httpClientInputs.getRequestCharacterSet()).buildContentType();

    HttpEntity httpEntity = httpEntityBuilder.setFormParams(httpClientInputs.getFormParams())
            .setFormParamsAreURLEncoded(httpClientInputs.getFormParamsAreURLEncoded())
            .setBody(httpClientInputs.getBody()).setFilePath(httpClientInputs.getSourceFile())
            .setContentType(theContentType)
            .setMultipartValuesAreURLEncoded(httpClientInputs.getMultipartValuesAreURLEncoded())
            .setMultipartBodies(httpClientInputs.getMultipartBodies())
            .setMultipartFiles(httpClientInputs.getMultipartFiles())
            .setMultipartBodiesContentType(httpClientInputs.getMultipartBodiesContentType())
            .setMultipartFilesContentType(httpClientInputs.getMultipartFilesContentType())
            .setChunkedRequestEntity(httpClientInputs.getChunkedRequestEntity()).buildEntity();

    HttpRequestBase httpRequestBase = requestBuilder.setMethod(httpClientInputs.getMethod()).setUri(uri)
            .setEntity(httpEntity).build();

    List<Header> theHeaders = headersBuilder.setHeaders(httpClientInputs.getHeaders())
            .setContentType(theContentType)
            .setEntityContentType(httpEntity != null ? httpEntity.getContentType() : null).buildHeaders();

    RequestConfig requestConfig = requestConfigBuilder
            .setConnectionTimeout(httpClientInputs.getConnectTimeout())
            .setSocketTimeout(httpClientInputs.getSocketTimeout())
            .setFollowRedirects(httpClientInputs.getFollowRedirects())
            .setProxyHost(httpClientInputs.getProxyHost()).setProxyPort(httpClientInputs.getProxyPort())
            .buildRequestConfig();
    httpRequestBase.setConfig(requestConfig);

    HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();

    AuthTypes authTypes = new AuthTypes(httpClientInputs.getAuthType());

    CredentialsProvider credentialsProvider = credentialsProviderBuilder.setAuthTypes(authTypes)
            .setUsername(httpClientInputs.getUsername()).setPassword(httpClientInputs.getPassword())
            .setHost(uri.getHost()).setPort(String.valueOf(uri.getPort()))
            .setProxyUsername(httpClientInputs.getProxyUsername())
            .setProxyPassword(httpClientInputs.getProxyPassword()).setProxyHost(httpClientInputs.getProxyHost())
            .setProxyPort(httpClientInputs.getProxyPort()).buildCredentialsProvider();
    httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);

    Lookup<AuthSchemeProvider> authSchemeLookup = authSchemeProviderLookupBuilder.setAuthTypes(authTypes)
            .setHost(uri.getHost()).setHeaders(theHeaders)
            .setSkipPortAtKerberosDatabaseLookup(httpClientInputs.getKerberosSkipPortCheck())
            .setKerberosConfigFile(httpClientInputs.getKerberosConfFile())
            .setKerberosLoginConfigFile(httpClientInputs.getKerberosLoginConfFile())
            .setUsername(httpClientInputs.getUsername()).setPassword(httpClientInputs.getPassword())
            .buildAuthSchemeProviderLookup();
    httpClientBuilder.setDefaultAuthSchemeRegistry(authSchemeLookup);

    httpRequestBase.setHeaders(theHeaders.toArray(new Header[theHeaders.size()]));

    CookieStore cookieStore = httpClientInputs.getCookieStoreSessionObject() == null ? null
            : cookieStoreBuilder.setUseCookies(httpClientInputs.getUseCookies())
                    .setCookieStoreSessionObject(httpClientInputs.getCookieStoreSessionObject())
                    .buildCookieStore();
    if (cookieStore != null) {
        httpClientBuilder.setDefaultCookieStore(cookieStore);
    }

    SSLConnectionSocketFactory sslConnectionSocketFactory = sslConnectionSocketFactoryBuilder
            .setTrustAllRoots(httpClientInputs.getTrustAllRoots()).setKeystore(httpClientInputs.getKeystore())
            .setKeystorePassword(httpClientInputs.getKeystorePassword())
            .setTrustKeystore(httpClientInputs.getTrustKeystore())
            .setTrustPassword(httpClientInputs.getTrustPassword())
            .setX509HostnameVerifier(httpClientInputs.getX509HostnameVerifier()).build();

    String connectionKey = ConnectionManagerBuilder.buildConnectionManagerMapKey(
            httpClientInputs.getTrustAllRoots(), httpClientInputs.getX509HostnameVerifier(),
            httpClientInputs.getKeystore(), httpClientInputs.getTrustKeystore());
    PoolingHttpClientConnectionManager connManager = poolingHttpClientConnectionManagerBuilder
            .setConnectionManagerMapKey(connectionKey)
            .setConnectionPoolHolder(httpClientInputs.getConnectionPoolSessionObject())
            .setSslsf(sslConnectionSocketFactory)
            .setDefaultMaxPerRoute(httpClientInputs.getConnectionsMaxPerRoute())
            .setTotalMax(httpClientInputs.getConnectionsMaxTotal()).buildConnectionManager();

    httpClientBuilder.setConnectionManager(connManager);

    if (StringUtils.isEmpty(httpClientInputs.getKeepAlive())
            || Boolean.parseBoolean(httpClientInputs.getKeepAlive())) {
        httpClientBuilder.setConnectionReuseStrategy(DefaultConnectionReuseStrategy.INSTANCE);
    } else {
        httpClientBuilder.setConnectionReuseStrategy(NoConnectionReuseStrategy.INSTANCE);
    }

    CloseableHttpClient closeableHttpClient = httpClientBuilder.build();

    HttpClientContext context = contextBuilder.setAuthSchemeLookup(authSchemeLookup).setAuthTypes(authTypes)
            .setCredentialsProvider(credentialsProvider).setUri(uri)
            .setPreemptiveAuth(httpClientInputs.getPreemptiveAuth()).build();

    HttpComponents result = new HttpComponents();
    result.setCloseableHttpClient(closeableHttpClient);
    result.setHttpRequestBase(httpRequestBase);
    result.setHttpClientContext(context);
    result.setUri(uri);
    result.setConnManager(connManager);
    result.setCookieStore(cookieStore);
    return result;
}

From source file:io.cloudslang.content.httpclient.ScoreHttpClient.java

public HttpComponents buildHttpComponents(HttpClientInputs httpClientInputs) {
    buildDefaultServices();/*from  w  ww  .  ja  v  a 2s. c  o m*/

    URI uri = uriBuilder.setUrl(httpClientInputs.getUrl()).setQueryParams(httpClientInputs.getQueryParams())
            .setQueryParamsAreURLEncoded(httpClientInputs.getQueryParamsAreURLEncoded())
            .setQueryParamsAreFormEncoded(httpClientInputs.getQueryParamsAreFormEncoded()).buildURI();

    ContentType theContentType = contentTypeBuilder.setContentType(httpClientInputs.getContentType())
            .setRequestCharacterSet(httpClientInputs.getRequestCharacterSet()).buildContentType();

    HttpEntity httpEntity = httpEntityBuilder.setFormParams(httpClientInputs.getFormParams())
            .setFormParamsAreURLEncoded(httpClientInputs.getFormParamsAreURLEncoded())
            .setBody(httpClientInputs.getBody()).setFilePath(httpClientInputs.getSourceFile())
            .setContentType(theContentType)
            .setMultipartValuesAreURLEncoded(httpClientInputs.getMultipartValuesAreURLEncoded())
            .setMultipartBodies(httpClientInputs.getMultipartBodies())
            .setMultipartFiles(httpClientInputs.getMultipartFiles())
            .setMultipartBodiesContentType(httpClientInputs.getMultipartBodiesContentType())
            .setMultipartFilesContentType(httpClientInputs.getMultipartFilesContentType())
            .setChunkedRequestEntity(httpClientInputs.getChunkedRequestEntity()).buildEntity();

    HttpRequestBase httpRequestBase = requestBuilder.setMethod(httpClientInputs.getMethod()).setUri(uri)
            .setEntity(httpEntity).build();

    List<Header> theHeaders = headersBuilder.setHeaders(httpClientInputs.getHeaders())
            .setContentType(theContentType)
            .setEntityContentType(httpEntity != null ? httpEntity.getContentType() : null).buildHeaders();

    RequestConfig requestConfig = requestConfigBuilder
            .setConnectionTimeout(httpClientInputs.getConnectTimeout())
            .setSocketTimeout(httpClientInputs.getSocketTimeout())
            .setFollowRedirects(httpClientInputs.getFollowRedirects())
            .setProxyHost(httpClientInputs.getProxyHost()).setProxyPort(httpClientInputs.getProxyPort())
            .buildRequestConfig();
    httpRequestBase.setConfig(requestConfig);

    HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();

    AuthTypes authTypes = new AuthTypes(httpClientInputs.getAuthType());

    CredentialsProvider credentialsProvider = credentialsProviderBuilder.setAuthTypes(authTypes)
            .setUsername(httpClientInputs.getUsername()).setPassword(httpClientInputs.getPassword())
            .setHost(uri.getHost()).setPort(String.valueOf(uri.getPort()))
            .setProxyUsername(httpClientInputs.getProxyUsername())
            .setProxyPassword(httpClientInputs.getProxyPassword()).setProxyHost(httpClientInputs.getProxyHost())
            .setProxyPort(httpClientInputs.getProxyPort()).buildCredentialsProvider();
    httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);

    Lookup<AuthSchemeProvider> authSchemeLookup = authSchemeProviderLookupBuilder.setAuthTypes(authTypes)
            .setHost(uri.getHost()).setHeaders(theHeaders)
            .setSkipPortAtKerberosDatabaseLookup(httpClientInputs.getKerberosSkipPortCheck())
            .setKerberosConfigFile(httpClientInputs.getKerberosConfFile())
            .setKerberosLoginConfigFile(httpClientInputs.getKerberosLoginConfFile())
            .setUsername(httpClientInputs.getUsername()).setPassword(httpClientInputs.getPassword())
            .buildAuthSchemeProviderLookup();
    httpClientBuilder.setDefaultAuthSchemeRegistry(authSchemeLookup);

    httpRequestBase.setHeaders(theHeaders.toArray(new Header[theHeaders.size()]));

    CookieStore cookieStore = cookieStoreBuilder.setUseCookies(httpClientInputs.getUseCookies())
            .setCookieStoreSessionObject(httpClientInputs.getCookieStoreSessionObject()).buildCookieStore();
    if (cookieStore != null) {
        httpClientBuilder.setDefaultCookieStore(cookieStore);
    }

    SSLConnectionSocketFactory sslConnectionSocketFactory = sslConnectionSocketFactoryBuilder
            .setTrustAllRoots(httpClientInputs.getTrustAllRoots()).setKeystore(httpClientInputs.getKeystore())
            .setKeystorePassword(httpClientInputs.getKeystorePassword())
            .setTrustKeystore(httpClientInputs.getTrustKeystore())
            .setTrustPassword(httpClientInputs.getTrustPassword())
            .setX509HostnameVerifier(httpClientInputs.getX509HostnameVerifier()).build();

    String connectionKey = ConnectionManagerBuilder.buildConnectionManagerMapKey(
            httpClientInputs.getTrustAllRoots(), httpClientInputs.getX509HostnameVerifier(),
            httpClientInputs.getKeystore(), httpClientInputs.getTrustKeystore());
    PoolingHttpClientConnectionManager connManager = poolingHttpClientConnectionManagerBuilder
            .setConnectionManagerMapKey(connectionKey)
            .setConnectionPoolHolder(httpClientInputs.getConnectionPoolSessionObject())
            .setSslsf(sslConnectionSocketFactory)
            .setDefaultMaxPerRoute(httpClientInputs.getConnectionsMaxPerRoute())
            .setTotalMax(httpClientInputs.getConnectionsMaxTotal()).buildConnectionManager();

    httpClientBuilder.setConnectionManager(connManager);

    if (StringUtils.isEmpty(httpClientInputs.getKeepAlive())
            || Boolean.parseBoolean(httpClientInputs.getKeepAlive())) {
        httpClientBuilder.setConnectionReuseStrategy(DefaultConnectionReuseStrategy.INSTANCE);
    } else {
        httpClientBuilder.setConnectionReuseStrategy(NoConnectionReuseStrategy.INSTANCE);
    }

    CloseableHttpClient closeableHttpClient = httpClientBuilder.build();

    HttpClientContext context = contextBuilder.setAuthSchemeLookup(authSchemeLookup).setAuthTypes(authTypes)
            .setCredentialsProvider(credentialsProvider).setUri(uri)
            .setPreemptiveAuth(httpClientInputs.getPreemptiveAuth()).build();

    HttpComponents result = new HttpComponents();
    result.setCloseableHttpClient(closeableHttpClient);
    result.setHttpRequestBase(httpRequestBase);
    result.setHttpClientContext(context);
    result.setUri(uri);
    result.setConnManager(connManager);
    result.setCookieStore(cookieStore);
    result.setHttpClientBuilder(httpClientBuilder);
    return result;
}

From source file:com.ksc.http.apache.request.impl.ApacheHttpRequestFactory.java

private void addRequestConfig(final HttpRequestBase base, final Request<?> request,
        final HttpClientSettings settings) {
    @SuppressWarnings("deprecation")
    final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom()
            .setConnectionRequestTimeout(settings.getConnectionPoolRequestTimeout())
            .setConnectTimeout(settings.getConnectionTimeout()).setSocketTimeout(settings.getSocketTimeout())
            .setStaleConnectionCheckEnabled(true) // TODO Handle
            // deprecation here.
            .setLocalAddress(settings.getLocalAddress());

    /*//from www  . j  a v a  2  s  . c o  m
     * Enable 100-continue support for PUT operations, since this is
     * where we're potentially uploading large amounts of data and want
     * to find out as early as possible if an operation will fail. We
     * don't want to do this for all operations since it will cause
     * extra latency in the network interaction.
     */
    if (HttpMethodName.PUT == request.getHttpMethod() && settings.isUseExpectContinue()) {
        requestConfigBuilder.setExpectContinueEnabled(true);
    }

    base.setConfig(requestConfigBuilder.build());
}

From source file:com.mirth.connect.client.core.ServerConnection.java

private HttpRequestBase createRequestBase(String method) {
    HttpRequestBase requestBase = null;/* w  w w.j a  v a  2s. c om*/

    if (StringUtils.equalsIgnoreCase(HttpGet.METHOD_NAME, method)) {
        requestBase = new HttpGet();
    } else if (StringUtils.equalsIgnoreCase(HttpPost.METHOD_NAME, method)) {
        requestBase = new HttpPost();
    } else if (StringUtils.equalsIgnoreCase(HttpPut.METHOD_NAME, method)) {
        requestBase = new HttpPut();
    } else if (StringUtils.equalsIgnoreCase(HttpDelete.METHOD_NAME, method)) {
        requestBase = new HttpDelete();
    } else if (StringUtils.equalsIgnoreCase(HttpOptions.METHOD_NAME, method)) {
        requestBase = new HttpOptions();
    } else if (StringUtils.equalsIgnoreCase(HttpPatch.METHOD_NAME, method)) {
        requestBase = new HttpPatch();
    }

    requestBase.setConfig(requestConfig);
    return requestBase;
}

From source file:com.cloudbees.jenkins.plugins.bitbucket.client.BitbucketCloudApiClient.java

private CloseableHttpResponse executeMethod(HttpRequestBase httpMethod)
        throws InterruptedException, IOException {

    if (authenticator != null) {
        authenticator.configureRequest(httpMethod);
    }/*from   w  w  w.  ja v  a  2 s . co  m*/

    RequestConfig.Builder requestConfig = RequestConfig.custom();
    requestConfig.setConnectTimeout(10 * 1000);
    requestConfig.setConnectionRequestTimeout(60 * 1000);
    requestConfig.setSocketTimeout(60 * 1000);
    httpMethod.setConfig(requestConfig.build());

    CloseableHttpResponse response = client.execute(API_HOST, httpMethod, context);
    while (response.getStatusLine().getStatusCode() == API_RATE_LIMIT_CODE) {
        release(httpMethod);
        if (Thread.interrupted()) {
            throw new InterruptedException();
        }
        /*
        TODO: When bitbucket starts supporting rate limit expiration time, remove 5 sec wait and put code
              to wait till expiration time is over. It should also fix the wait for ever loop.
         */
        LOGGER.fine("Bitbucket Cloud API rate limit reached, sleeping for 5 sec then retry...");
        Thread.sleep(5000);
        response = client.execute(API_HOST, httpMethod, context);
    }
    return response;
}

From source file:com.cloudbees.jenkins.plugins.bitbucket.server.client.BitbucketServerAPIClient.java

/**
 * Create HttpClient from given host/port
 * @param request the {@link HttpRequestBase} for which an HttpClient will be created
 * @return CloseableHttpClient/*from w ww  .j  a  v a  2  s.c  o  m*/
 */
private CloseableHttpClient getHttpClient(final HttpRequestBase request) {
    HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
    httpClientBuilder.useSystemProperties();

    RequestConfig.Builder requestConfig = RequestConfig.custom();
    requestConfig.setConnectTimeout(10 * 1000);
    requestConfig.setConnectionRequestTimeout(60 * 1000);
    requestConfig.setSocketTimeout(60 * 1000);
    request.setConfig(requestConfig.build());

    final String host = getMethodHost(request);

    if (authenticator != null) {
        authenticator.configureBuilder(httpClientBuilder);

        context = HttpClientContext.create();
        authenticator.configureContext(context, HttpHost.create(host));
    }

    setClientProxyParams(host, httpClientBuilder);

    return httpClientBuilder.build();
}

From source file:org.apache.solr.client.solrj.impl.SolrClientCloudManager.java

@Override
public byte[] httpRequest(String url, SolrRequest.METHOD method, Map<String, String> headers, String payload,
        int timeout, boolean followRedirects) throws IOException {
    HttpClient client = solrClient.getHttpClient();
    final HttpRequestBase req;
    HttpEntity entity = null;//  ww w . j ava  2  s. c om
    if (payload != null) {
        entity = new StringEntity(payload, "UTF-8");
    }
    switch (method) {
    case GET:
        req = new HttpGet(url);
        break;
    case POST:
        req = new HttpPost(url);
        if (entity != null) {
            ((HttpPost) req).setEntity(entity);
        }
        break;
    case PUT:
        req = new HttpPut(url);
        if (entity != null) {
            ((HttpPut) req).setEntity(entity);
        }
        break;
    case DELETE:
        req = new HttpDelete(url);
        break;
    default:
        throw new IOException("Unsupported method " + method);
    }
    if (headers != null) {
        headers.forEach((k, v) -> req.addHeader(k, v));
    }
    RequestConfig.Builder requestConfigBuilder = HttpClientUtil.createDefaultRequestConfigBuilder();
    if (timeout > 0) {
        requestConfigBuilder.setSocketTimeout(timeout);
        requestConfigBuilder.setConnectTimeout(timeout);
    }
    requestConfigBuilder.setRedirectsEnabled(followRedirects);
    req.setConfig(requestConfigBuilder.build());
    HttpClientContext httpClientRequestContext = HttpClientUtil.createNewHttpClientRequestContext();
    HttpResponse rsp = client.execute(req, httpClientRequestContext);
    int statusCode = rsp.getStatusLine().getStatusCode();
    if (statusCode != 200) {
        throw new IOException("Error sending request to " + url + ", HTTP response: " + rsp.toString());
    }
    HttpEntity responseEntity = rsp.getEntity();
    if (responseEntity != null && responseEntity.getContent() != null) {
        return EntityUtils.toByteArray(responseEntity);
    } else {
        return EMPTY;
    }
}

From source file:com.blazemeter.bamboo.plugin.api.HttpUtility.java

public <V> HttpResponse httpResponse(String url, V data, Method method) throws IOException {
    if (StringUtils.isBlank(url))
        return null;
    logger.info("Requesting : " + url.substring(0, url.indexOf("?") + 14));
    HttpResponse response = null;//from w  w  w .  j  a  va 2  s  .co  m
    HttpRequestBase request = null;

    try {
        if (method == Method.GET) {
            request = new HttpGet(url);
        } else if (method == Method.POST) {
            request = new HttpPost(url);
            if (data != null) {
                ((HttpPost) request).setEntity(new StringEntity(data.toString()));
            }
        } else if (method == Method.PUT) {
            request = new HttpPut(url);
            if (data != null) {
                ((HttpPut) request).setEntity(new StringEntity(data.toString()));
            }
        } else if (method == Method.PATCH) {
            request = new HttpPatch(url);
            if (data != null) {
                ((HttpPatch) request).setEntity(new StringEntity(data.toString()));
            }
        } else {
            throw new RuntimeException("Unsupported method: " + method.toString());
        }
        request.setHeader("Accept", "application/json");
        request.setHeader("Content-type", "application/json; charset=UTF-8");
        if (proxy != null) {
            RequestConfig conf = RequestConfig.custom().setProxy(proxy).build();
            request.setConfig(conf);
        }
        response = this.httpClient.execute(request);

        if (response == null || response.getStatusLine() == null) {
            logger.info("Erroneous response (Probably null) for url: \n" + url);
            response = null;
        }
    } catch (Exception e) {
        logger.error("Problems with creating and sending request: \n", e);
    }
    return response;
}