List of usage examples for org.apache.http.client.methods RequestBuilder setUri
public RequestBuilder setUri(final String uri)
From source file:com.restfiddle.handler.http.builder.RfRequestBuilder.java
private void setUriWithParams(RfRequestDTO requestDTO, RequestBuilder requestBuilder) { String apiUrl = requestDTO.getApiUrl(); List<UrlParamDTO> urlParams = requestDTO.getUrlParams(); if (urlParams != null && !urlParams.isEmpty()) { apiUrl = buildUrlWithParams(apiUrl, urlParams); }// ww w . j av a2 s . c om requestBuilder.setUri(apiUrl); // TODO : Shall we set this API URL in UI Layer itself? requestDTO.setApiUrl(apiUrl); }
From source file:org.keycloak.adapters.authorization.cip.HttpClaimInformationPointProvider.java
private InputStream executeRequest(HttpFacade httpFacade) { String method = config.get("method").toString(); if (method == null) { method = "GET"; }// w w w. j a va 2 s.c o m RequestBuilder builder = null; if ("GET".equalsIgnoreCase(method)) { builder = RequestBuilder.get(); } else { builder = RequestBuilder.post(); } builder.setUri(config.get("url").toString()); byte[] bytes = new byte[0]; try { setParameters(builder, httpFacade); if (config.containsKey("headers")) { setHeaders(builder, httpFacade); } HttpResponse response = httpClient.execute(builder.build()); HttpEntity entity = response.getEntity(); if (entity != null) { bytes = EntityUtils.toByteArray(entity); } StatusLine statusLine = response.getStatusLine(); int statusCode = statusLine.getStatusCode(); if (statusCode < 200 || statusCode >= 300) { throw new HttpResponseException( "Unexpected response from server: " + statusCode + " / " + statusLine.getReasonPhrase(), statusCode, statusLine.getReasonPhrase(), bytes); } return new ByteArrayInputStream(bytes); } catch (Exception cause) { try { throw new RuntimeException( "Error executing http method [" + builder + "]. Response : " + StreamUtil.readString(new ByteArrayInputStream(bytes), Charset.forName("UTF-8")), cause); } catch (Exception e) { throw new RuntimeException("Error executing http method [" + builder + "]", cause); } } }
From source file:org.dasein.cloud.qingcloud.util.requester.QingCloudRequestBuilder.java
private QingCloudRequestBuilder(QingCloud qingCloud, RequestBuilder requestBuilder) { this.qingCloud = qingCloud; this.requestBuilder = requestBuilder; byte[][] accessKey = (byte[][]) qingCloud.getContext().getConfigurationValue(QingCloud.DSN_ACCESS_KEY); requestBuilder.setVersion(new ProtocolVersion("HTTP", 1, 1)); requestBuilder.setUri("https://api.qingcloud.com/iaas/"); parameter("time_stamp", qingCloud.formatIso8601Date(new Date())); parameter("access_key_id", new String(accessKey[0])); parameter("version", "1"); parameter("signature_method", SIGNATURE_ALGORITHM); parameter("signature_version", "1"); }
From source file:feign.httpclient.ApacheHttpClient.java
HttpUriRequest toHttpUriRequest(Request request, Request.Options options) throws UnsupportedEncodingException, MalformedURLException, URISyntaxException { RequestBuilder requestBuilder = RequestBuilder.create(request.method()); //per request timeouts RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(options.connectTimeoutMillis()) .setSocketTimeout(options.readTimeoutMillis()).build(); requestBuilder.setConfig(requestConfig); URI uri = new URIBuilder(request.url()).build(); requestBuilder.setUri(uri.getScheme() + "://" + uri.getAuthority() + uri.getRawPath()); //request query params List<NameValuePair> queryParams = URLEncodedUtils.parse(uri, requestBuilder.getCharset().name()); for (NameValuePair queryParam : queryParams) { requestBuilder.addParameter(queryParam); }// ww w .j av a 2 s.c o m //request headers boolean hasAcceptHeader = false; for (Map.Entry<String, Collection<String>> headerEntry : request.headers().entrySet()) { String headerName = headerEntry.getKey(); if (headerName.equalsIgnoreCase(ACCEPT_HEADER_NAME)) { hasAcceptHeader = true; } if (headerName.equalsIgnoreCase(Util.CONTENT_LENGTH)) { // The 'Content-Length' header is always set by the Apache client and it // doesn't like us to set it as well. continue; } for (String headerValue : headerEntry.getValue()) { requestBuilder.addHeader(headerName, headerValue); } } //some servers choke on the default accept string, so we'll set it to anything if (!hasAcceptHeader) { requestBuilder.addHeader(ACCEPT_HEADER_NAME, "*/*"); } //request body if (request.body() != null) { HttpEntity entity = null; if (request.charset() != null) { ContentType contentType = getContentType(request); String content = new String(request.body(), request.charset()); entity = new StringEntity(content, contentType); } else { entity = new ByteArrayEntity(request.body()); } requestBuilder.setEntity(entity); } return requestBuilder.build(); }
From source file:com.alibaba.dubbo.rpc.protocol.springmvc.support.ApacheHttpClient.java
HttpUriRequest toHttpUriRequest(Request request, Request.Options options) throws UnsupportedEncodingException, MalformedURLException, URISyntaxException { RequestBuilder requestBuilder = RequestBuilder.create(request.method()); //per request timeouts // RequestConfig requestConfig = RequestConfig // .custom() // .setConnectTimeout(options.connectTimeoutMillis()) // .setSocketTimeout(options.readTimeoutMillis()) // .build(); //requestBuilder.setConfig(requestConfig); URI uri = new URIBuilder(request.url()).build(); requestBuilder.setUri(uri.getScheme() + "://" + uri.getAuthority() + uri.getRawPath()); //request query params List<NameValuePair> queryParams = URLEncodedUtils.parse(uri, requestBuilder.getCharset().name()); for (NameValuePair queryParam : queryParams) { requestBuilder.addParameter(queryParam); }//from ww w . j a v a 2 s .c om //request headers boolean hasAcceptHeader = false; for (Map.Entry<String, Collection<String>> headerEntry : request.headers().entrySet()) { String headerName = headerEntry.getKey(); if (headerName.equalsIgnoreCase(ACCEPT_HEADER_NAME)) { hasAcceptHeader = true; } if (headerName.equalsIgnoreCase(Util.CONTENT_LENGTH)) { // The 'Content-Length' header is always set by the Apache client and it // doesn't like us to set it as well. continue; } for (String headerValue : headerEntry.getValue()) { requestBuilder.addHeader(headerName, headerValue); } } //some servers choke on the default accept string, so we'll set it to anything if (!hasAcceptHeader) { requestBuilder.addHeader(ACCEPT_HEADER_NAME, "*/*"); } //request body if (request.body() != null) { HttpEntity entity = null; if (request.charset() != null) { ContentType contentType = getContentType(request); String content = new String(request.body(), request.charset()); entity = new StringEntity(content, contentType); } else { entity = new ByteArrayEntity(request.body()); } requestBuilder.setEntity(entity); } return requestBuilder.build(); }
From source file:com.nc.common.utils.HttpUtils.java
/** * <pre>/*from w w w . j a v a2 s . c o m*/ * 1. : http * 2. : OpenAPI * </pre> * * @method Name : execOpenAPI * @param String subUrl, Map<String, Object> paramMap, String method * @return String * @throws Exception * */ public String execOpenAPI(String subUrl, Map<String, Object> paramMap, String method) throws Exception { String result = null; CloseableHttpClient httpclient = HttpClients.createDefault(); try { RequestBuilder requestBuilder = null; if ("get".equals(method)) { requestBuilder = RequestBuilder.get(); } else { requestBuilder = RequestBuilder.post(); } requestBuilder = requestBuilder.setUri(new URI(serverOpenAPI + subUrl)); Iterator<String> iter = paramMap.keySet().iterator(); String key = null; String val = null; while (iter.hasNext()) { key = iter.next(); val = (String) paramMap.get(key); requestBuilder.addParameter(key, val); } HttpUriRequest httpPost = requestBuilder.build(); if (log.isDebugEnabled()) { log.debug( "=========================================================================================="); log.debug("= API : [{}]", httpPost); log.debug("= API ? : [{}]", requestBuilder.getParameters()); log.debug( "=========================================================================================="); } CloseableHttpResponse response = httpclient.execute(httpPost); StatusLine statusLine = response.getStatusLine(); if (log.isDebugEnabled()) { log.debug( "=========================================================================================="); log.debug("= API ? : [{}] =", statusLine); log.debug( "=========================================================================================="); } try { if (statusLine.getStatusCode() == HttpStatus.SC_OK) { HttpEntity entity = response.getEntity(); if (entity != null) { result = EntityUtils.toString(entity, CommonConstants.DEFAULT_CHARSET); if (log.isDebugEnabled()) { log.debug( "=========================================================================================="); log.debug("= API : [{}] =", result); log.debug( "=========================================================================================="); } } EntityUtils.consume(entity); } } finally { response.close(); } } finally { httpclient.close(); } return result; }
From source file:org.bonitasoft.connectors.rest.RESTConnector.java
/** * Execute a given request//from ww w . j a v a 2 s. co m * * @param request The request to execute * @return The response of the executed request * @throws Exception any exception that might occur */ public void execute(final Request request) throws Exception { CloseableHttpClient httpClient = null; try { final URL url = request.getUrl(); final String urlHost = url.getHost(); final Builder requestConfigurationBuilder = RequestConfig.custom(); requestConfigurationBuilder.setConnectionRequestTimeout(CONNECTION_TIMEOUT); requestConfigurationBuilder.setRedirectsEnabled(request.isRedirect()); final HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); httpClientBuilder.setRetryHandler(new DefaultHttpRequestRetryHandler(0, false)); setSSL(request.getSsl(), httpClientBuilder); setProxy(request.getProxy(), httpClientBuilder, requestConfigurationBuilder); setCookies(requestConfigurationBuilder, httpClientBuilder, request.getCookies(), urlHost); final RequestBuilder requestBuilder = getRequestBuilderFromMethod(request.getRestMethod()); requestBuilder.setVersion( new ProtocolVersion(HTTP_PROTOCOL, HTTP_PROTOCOL_VERSION_MAJOR, HTTP_PROTOCOL_VERSION_MINOR)); int urlPort = url.getPort(); if (url.getPort() == -1) { urlPort = url.getDefaultPort(); } final String urlProtocol = url.getProtocol(); final String urlStr = url.toString(); requestBuilder.setUri(urlStr); setHeaders(requestBuilder, request.getHeaders()); if (!HTTPMethod.GET.equals(HTTPMethod.valueOf(requestBuilder.getMethod()))) { final String body = request.getBody(); if (body != null) { requestBuilder.setEntity(new StringEntity(request.getBody(), request.getContentType())); } } final HttpContext httpContext = setAuthorizations(requestConfigurationBuilder, request.getAuthorization(), request.getProxy(), urlHost, urlPort, urlProtocol, httpClientBuilder); requestBuilder.setConfig(requestConfigurationBuilder.build()); httpClientBuilder.setDefaultRequestConfig(requestConfigurationBuilder.build()); final HttpUriRequest httpRequest = requestBuilder.build(); httpClient = httpClientBuilder.build(); final CloseableHttpResponse httpResponse = httpClient.execute(httpRequest, httpContext); LOGGER.fine("Request sent."); setOutputs(httpResponse, request); } finally { try { if (httpClient != null) { httpClient.close(); } } catch (final IOException ex) { logException(ex); } } }
From source file:cn.wanghaomiao.seimi.core.SeimiProcessor.java
@Override public void run() { while (true) { Request request = null;/*from w ww . j ava 2 s . c om*/ try { request = queue.bPop(crawlerModel.getCrawlerName()); if (request == null) { continue; } if (crawlerModel == null) { logger.error("No such crawler name:'{}'", request.getCrawlerName()); continue; } if (request.isStop()) { logger.info("SeimiProcessor[{}] will stop!", Thread.currentThread().getName()); break; } // if (!StructValidator.validateAnno(request)) { logger.warn("Request={} is illegal", JSON.toJSONString(request)); continue; } if (!StructValidator.validateAllowRules(crawler.allowRules(), request.getUrl())) { logger.warn("Request={} will be dropped by allowRules=[{}]", JSON.toJSONString(request), StringUtils.join(crawler.allowRules(), ",")); continue; } if (StructValidator.validateDenyRules(crawler.denyRules(), request.getUrl())) { logger.warn("Request={} will be dropped by denyRules=[{}]", JSON.toJSONString(request), StringUtils.join(crawler.denyRules(), ",")); continue; } //???Request??? if (request.getCurrentReqCount() >= request.getMaxReqCount()) { continue; } if (!request.isSkipDuplicateFilter() && crawlerModel.isUseUnrepeated() && queue.isProcessed(request) && request.getCurrentReqCount() == 0) { logger.info("This request has bean processed,so current request={} will be dropped!", JSON.toJSONString(request)); continue; } queue.addProcessed(request); HttpClient hc; if (crawlerModel.isUseCookie()) { hc = HttpClientFactory.getHttpClient(10000, crawler.getCookieStore()); } else { hc = HttpClientFactory.getHttpClient(); } RequestBuilder requestBuilder = RequestGenerator.getHttpRequestBuilder(request, crawlerModel); HttpContext httpContext = new BasicHttpContext(); HttpResponse httpResponse = hc.execute(requestBuilder.build(), httpContext); Response seimiResponse = renderResponse(httpResponse, request, httpContext); Matcher mm = metaRefresh.matcher(seimiResponse.getContent()); int refreshCount = 0; while (!request.isUseSeimiAgent() && mm.find() && refreshCount < 3) { String nextUrl = mm.group(1).replaceAll("'", ""); if (!nextUrl.startsWith("http")) { String prefix = getRealUrl(httpContext); nextUrl = prefix + nextUrl; } logger.info("Seimi refresh url to={} from={}", nextUrl, requestBuilder.getUri()); requestBuilder.setUri(nextUrl); httpResponse = hc.execute(requestBuilder.build(), httpContext); seimiResponse = renderResponse(httpResponse, request, httpContext); mm = metaRefresh.matcher(seimiResponse.getContent()); refreshCount += 1; } Method requestCallback = crawlerModel.getMemberMethods().get(request.getCallBack()); if (requestCallback == null) { continue; } for (SeimiInterceptor interceptor : interceptors) { Interceptor interAnno = interceptor.getClass().getAnnotation(Interceptor.class); if (interAnno.everyMethod() || requestCallback.isAnnotationPresent(interceptor.getTargetAnnotationClass()) || crawlerModel.getClazz() .isAnnotationPresent(interceptor.getTargetAnnotationClass())) { interceptor.before(requestCallback, seimiResponse); } } if (crawlerModel.getDelay() > 0) { TimeUnit.SECONDS.sleep(crawlerModel.getDelay()); } requestCallback.invoke(crawlerModel.getInstance(), seimiResponse); for (SeimiInterceptor interceptor : interceptors) { Interceptor interAnno = interceptor.getClass().getAnnotation(Interceptor.class); if (interAnno.everyMethod() || requestCallback.isAnnotationPresent(interceptor.getTargetAnnotationClass()) || crawlerModel.getClazz() .isAnnotationPresent(interceptor.getTargetAnnotationClass())) { interceptor.after(requestCallback, seimiResponse); } } logger.debug("Crawler[{}] ,url={} ,responseStatus={}", crawlerModel.getCrawlerName(), request.getUrl(), httpResponse.getStatusLine().getStatusCode()); } catch (Exception e) { logger.error(e.getMessage(), e); if (request == null) { continue; } if (request.getCurrentReqCount() < request.getMaxReqCount()) { request.incrReqCount(); queue.push(request); logger.info( "Request process error,req will go into queue again,url={},maxReqCount={},currentReqCount={}", request.getUrl(), request.getMaxReqCount(), request.getCurrentReqCount()); } else if (request.getCurrentReqCount() >= request.getMaxReqCount() && request.getMaxReqCount() > 0) { crawler.handleErrorRequest(request); } } } }
From source file:gobblin.writer.http.SalesforceRestWriter.java
/** * For single request, creates HttpUriRequest and decides post/patch operation based on input parameter. * * For batch request, add the record into JsonArray as a subrequest and only creates HttpUriRequest with POST method if it filled the batch size. * {@inheritDoc}// w w w . j a v a 2 s . c o m * @see gobblin.writer.http.RestJsonWriter#onNewRecord(gobblin.converter.rest.RestEntry) */ @Override public Optional<HttpUriRequest> onNewRecord(RestEntry<JsonObject> record) { Preconditions.checkArgument(!StringUtils.isEmpty(accessToken), "Access token has not been acquired."); Preconditions.checkNotNull(record, "Record should not be null"); RequestBuilder builder = null; JsonObject payload = null; if (batchSize > 1) { if (!batchRecords.isPresent()) { batchRecords = Optional.of(new JsonArray()); } batchRecords.get().add(newSubrequest(record)); if (batchRecords.get().size() < batchSize) { //No need to send. Return absent. return Optional.absent(); } payload = newPayloadForBatch(); builder = RequestBuilder.post().setUri(combineUrl(getCurServerHost(), batchResourcePath)); } else { switch (operation) { case INSERT_ONLY_NOT_EXIST: builder = RequestBuilder.post(); break; case UPSERT: builder = RequestBuilder.patch(); break; default: throw new IllegalArgumentException(operation + " is not supported."); } builder.setUri(combineUrl(getCurServerHost(), record.getResourcePath())); payload = record.getRestEntryVal(); } return Optional.of(newRequest(builder, payload)); }