Example usage for org.apache.http.client.methods RequestBuilder build

List of usage examples for org.apache.http.client.methods RequestBuilder build

Introduction

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

Prototype

public HttpUriRequest build() 

Source Link

Usage

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);
    }
}