List of usage examples for org.apache.http.client.methods HttpRequestBase setConfig
public void setConfig(final RequestConfig config)
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; }