List of usage examples for org.apache.http.client.methods RequestBuilder build
public HttpUriRequest 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 av a 2 s .co 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.gaia.hermes2.service.gcm.GCMAsyncSender.java
public void send(Message message, List<String> regIds, Callback<MulticastResult> successCallback, Callback<Throwable> failureCallback) { assert message != null; assert regIds != null && regIds.size() > 0; assert successCallback != null; PuObject params = GCMHelper.convertMessageToPuObject(message); params.set(JSON_REGISTRATION_IDS, regIds); RequestBuilder builder = RequestBuilder.post(GCM_SEND_ENDPOINT) .addHeader("Content-Type", DEFAULT_CONTENT_TYPE).addHeader("Authorization", "key=" + this.secretKey) .setCharset(Charset.forName("UTF-8")); getLogger().debug("Sending message to " + regIds.size() + " device(s)"); final HttpAsyncFuture future = this.httpClient.executeAsync(builder, params); future.setCallback(new Callback<HttpResponse>() { @Override/*from w ww . j a va2 s . com*/ public void apply(HttpResponse response) { getLogger().debug("Sending complete with response: " + response); if (response == null) { if (failureCallback != null) { failureCallback.apply(future.getFailedCause()); } else { getLogger().error("Sending message error", future.getFailedCause()); } } else { PuElement puElement = HttpClientHelper.handleResponse(response); if (!(puElement instanceof PuObject) || response.getStatusLine().getStatusCode() != 200) { Exception exception = new Exception( "An error responsed by GCM --> " + puElement.toString()); if (failureCallback != null) { failureCallback.apply(exception); } else { getLogger().error("Sending message error", exception); } } else { PuObject result = (PuObject) puElement; int success = result.getInteger(JSON_SUCCESS); int failure = result.getInteger(JSON_FAILURE); int canonicalIds = result.getInteger(JSON_CANONICAL_IDS); long multicastId = result.getLong(JSON_MULTICAST_ID); MulticastResult.Builder builder = new MulticastResult.Builder(success, failure, canonicalIds, multicastId); PuArray results = result.getPuArray(JSON_RESULTS); if (results != null) { while (results.size() > 0) { Result.Builder resultObj = new Result.Builder(); PuObject puo = results.remove(0).getPuObject(); String messageId = puo.getString(JSON_MESSAGE_ID, ""); String canonicalRegId = puo.getString(TOKEN_CANONICAL_REG_ID, ""); String error = puo.getString(JSON_ERROR, ""); if (messageId.length() > 0) { resultObj.messageId(messageId); } if (canonicalRegId.length() > 0) { resultObj.canonicalRegistrationId(canonicalRegId); } if (error.length() > 0) { resultObj.errorCode(error); } builder.addResult(resultObj.build()); } } successCallback.apply(builder.build()); } } } }); }
From source file:org.apache.asterix.test.aql.TestExecutor.java
protected HttpUriRequest constructPostMethodJson(String statement, String endpoint, String stmtParam, List<CompilationUnit.Parameter> otherParams) { if (stmtParam == null) { throw new NullPointerException("Statement parameter required."); }//w w w . j ava 2 s . c om RequestBuilder builder = RequestBuilder.post(endpoint); JSONObject content = new JSONObject(); try { for (CompilationUnit.Parameter param : injectStatement(statement, stmtParam, otherParams)) { content.put(param.getName(), param.getValue()); } } catch (JSONException e) { throw new IllegalArgumentException("Request object construction failed.", e); } builder.setEntity(new StringEntity(content.toString(), ContentType.APPLICATION_JSON)); builder.setCharset(StandardCharsets.UTF_8); return builder.build(); }
From source file:org.datacleaner.cluster.http.HttpClusterManager.java
private void sendCancelRequest(String slaveEndpoint, String slaveJobId) { RequestBuilder rb = RequestBuilder.post(slaveEndpoint); rb.addParameter(HTTP_PARAM_SLAVE_JOB_ID, slaveJobId); rb.addParameter(HTTP_PARAM_ACTION, ACTION_CANCEL); try {/* ww w.j a v a2 s.co m*/ final HttpResponse response = _httpClient.execute(rb.build(), _httpClientContext); // handle the response final StatusLine statusLine = response.getStatusLine(); if (statusLine.getStatusCode() != 200) { throw new IllegalStateException( "Slave server '" + slaveEndpoint + "' responded with an error to 'cancel' request: " + statusLine.getReasonPhrase() + " (" + statusLine.getStatusCode() + ")"); } } catch (Exception e) { if (e instanceof RuntimeException) { throw (RuntimeException) e; } throw new IllegalStateException("Failed to fire cancel request to slave server '" + slaveEndpoint + "' for job id '" + slaveJobId + "'", e); } }