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

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

Introduction

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

Prototype

public RequestBuilder setEntity(final HttpEntity entity) 

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 w ww. j av  a 2s  .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: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.");
    }/*from  ww  w .  j a  v  a  2  s .  com*/
    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();
}