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

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

Introduction

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

Prototype

public static RequestBuilder create(final String method) 

Source Link

Usage

From source file:org.hawkular.component.pinger.Pinger.java

/**
 * Performs a test request against the given {@link PingDestination}.
 *
 * @param destination the destination to ping
 * @return a {@link Future}//from  w w  w.  j a v  a2s. c  o m
 */
@Asynchronous
public Future<PingStatus> ping(final PingDestination destination) {
    Log.LOG.debugf("About to ping %s", destination.getUrl());
    HttpUriRequest request = RequestBuilder.create(destination.getMethod()).setUri(destination.getUrl())
            .build();

    try (CloseableHttpClient client = getHttpClient(destination.getUrl())) {
        long start = System.currentTimeMillis();
        HttpResponse httpResponse = client.execute(request);
        StatusLine statusLine = httpResponse.getStatusLine();
        EntityUtils.consumeQuietly(httpResponse.getEntity());
        long now = System.currentTimeMillis();

        final int code = statusLine.getStatusCode();
        final int duration = (int) (now - start);
        Traits traits = Traits.collect(httpResponse, now);
        PingStatus result = new PingStatus(destination, code, now, duration, traits);
        Log.LOG.debugf("Got status code %d from %s", code, destination.getUrl());
        return new AsyncResult<>(result);
    } catch (UnknownHostException e) {
        PingStatus result = PingStatus.error(destination, 404, System.currentTimeMillis());
        Log.LOG.debugf("Got UnknownHostException for %s", destination.getUrl());
        return new AsyncResult<>(result);
    } catch (IOException e) {
        Log.LOG.dCouldNotPingUrl(destination.getUrl(), e.getMessage());
        PingStatus result = PingStatus.error(destination, 500, System.currentTimeMillis());
        return new AsyncResult<>(result);
    }

}

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);
    }//from   w  w  w  . j  a  v  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.salesforce.dva.argus.service.callback.DefaultCallbackService.java

private HttpUriRequest buildRequest(DefaultAlertService.NotificationContext context,
        CallbackService.Request request) {
    RequestBuilder builder = RequestBuilder.create(request.method().name()).setUri(request.uri())
            .setEntity(body(context, request));
    request.header().forEach((k, v) -> builder.addHeader(k, v));
    return builder.build();
}

From source file:com.intuit.karate.http.apache.ApacheHttpClient.java

private void build() {
    try {/*from w ww .j  a  va  2  s  . c o m*/
        URI uri = uriBuilder.build();
        String method = request.getMethod();
        requestBuilder = RequestBuilder.create(method).setUri(uri);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:com.linkedin.pinot.common.utils.FileUploadDownloadClient.java

private static HttpUriRequest getUploadFileRequest(String method, URI uri, ContentBody contentBody,
        @Nullable List<Header> headers, @Nullable List<NameValuePair> parameters, int socketTimeoutMs) {
    // Build the Http entity
    HttpEntity entity = MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
            .addPart(contentBody.getFilename(), contentBody).build();

    // Build the request
    RequestBuilder requestBuilder = RequestBuilder.create(method).setVersion(HttpVersion.HTTP_1_1).setUri(uri)
            .setEntity(entity);//from ww w  . j  a va 2  s . co  m
    addHeadersAndParameters(requestBuilder, headers, parameters);
    setTimeout(requestBuilder, socketTimeoutMs);
    return requestBuilder.build();
}

From source file:eu.over9000.cathode.Dispatcher.java

private String getResponseString(final String method, final String baseUrl, final HttpEntity payload,
        final Parameter... parameters) throws IOException {

    final RequestBuilder requestBuilder = RequestBuilder.create(method).setUri(baseUrl);

    handleParameters(requestBuilder, parameters);

    if (payload != null) {
        requestBuilder.setEntity(payload);
    }//  www. j av  a  2  s  .com

    final HttpUriRequest request = requestBuilder.build();

    final HttpResponse httpResponse = HTTP_CLIENT.execute(request);
    return RESPONSE_HANDLER.handleResponse(httpResponse);
}

From source file:ch.cyberduck.core.sds.provider.HttpComponentsConnector.java

private HttpUriRequest toUriHttpRequest(final ClientRequest request) {
    final HttpEntity entity = this.getHttpEntity(request);
    return RequestBuilder.create(request.getMethod()).setUri(request.getUri()).setEntity(entity).build();
}

From source file:nl.knaw.dans.easy.sword2examples.Common.java

public static CloseableHttpResponse sendChunk(DigestInputStream dis, int size, String method, URI uri,
        String filename, String mimeType, CloseableHttpClient http, boolean inProgress) throws Exception {
    // System.out.println(String.format("Sending chunk to %s, filename = %s, chunk size = %d, MIME-Type = %s, In-Progress = %s ... ", uri.toString(),
    // filename, size, mimeType, Boolean.toString(inProgress)));
    byte[] chunk = readChunk(dis, size);
    String md5 = new String(Hex.encodeHex(dis.getMessageDigest().digest()));
    HttpUriRequest request = RequestBuilder.create(method).setUri(uri).setConfig(RequestConfig.custom()
            /*//from www. jav  a2s  .  co  m
             * When using an HTTPS-connection EXPECT-CONTINUE must be enabled, otherwise buffer overflow may follow
             */
            .setExpectContinueEnabled(true).build()) //
            .addHeader("Content-Disposition", String.format("attachment; filename=%s", filename)) //
            .addHeader("Content-MD5", md5) //
            .addHeader("Packaging", BAGIT_URI) //
            .addHeader("In-Progress", Boolean.toString(inProgress)) //
            .setEntity(new ByteArrayEntity(chunk, ContentType.create(mimeType))) //
            .build();
    CloseableHttpResponse response = http.execute(request);
    // System.out.println("Response received.");
    return response;
}

From source file:com.wudaosoft.net.httpclient.Request.java

/**
 * //from   w ww . ja  v  a 2 s. c o  m
 * @param workerBuilder
 * @param responseHandler
 * @return
 * @throws Exception
 */
public <T> T doRequest(WorkerBuilder workerBuilder, ResponseHandler<T> responseHandler) throws Exception {

    String method = workerBuilder.getMethod();
    String url = workerBuilder.getUrl();

    Args.notNull(workerBuilder, "WorkerBuilder");
    Args.notEmpty(method, "WorkerBuilder.getMethod()");
    Args.notEmpty(url, "WorkerBuilder.getUrl()");
    Args.notNull(responseHandler, "responseHandler");

    //      if(!workerBuilder.isAnyHost()) {
    if (!isFullUrl(url)) {
        //         notFullUrl(url);
        Args.notEmpty(hostConfig.getHostUrl(), "HostConfig.getHostUrl()");
        url = hostConfig.getHostUrl() + url;
    }

    Charset charset = hostConfig.getCharset() == null ? Consts.UTF_8 : hostConfig.getCharset();
    String stringBody = workerBuilder.getStringBody();
    File fileBody = workerBuilder.getFileBody();
    InputStream streamBody = workerBuilder.getStreamBody();
    Map<String, String> params = workerBuilder.getParameters();

    String contentType = null;

    if (responseHandler instanceof JsonResponseHandler) {
        contentType = MediaType.APPLICATION_JSON_VALUE;
    } else if (responseHandler instanceof SAXSourceResponseHandler
            || responseHandler instanceof XmlResponseHandler) {
        contentType = MediaType.APPLICATION_XML_VALUE;
    } else if (responseHandler instanceof FileResponseHandler || responseHandler instanceof ImageResponseHandler
            || responseHandler instanceof OutputStreamResponseHandler) {
        contentType = MediaType.ALL_VALUE;
    } else if (responseHandler instanceof NoResultResponseHandler) {
        contentType = ((NoResultResponseHandler) responseHandler).getContentType().getMimeType();
    } else {
        contentType = MediaType.TEXT_PLAIN_VALUE;
    }

    RequestBuilder requestBuilder = RequestBuilder.create(method).setCharset(charset).setUri(url);

    if (stringBody != null) {

        StringEntity reqEntity = new StringEntity(stringBody, charset);
        reqEntity.setContentType(contentType + ";charset=" + charset.name());
        requestBuilder.setEntity(reqEntity);

    } else if (fileBody != null || streamBody != null) {

        String filename = workerBuilder.getFilename();

        MultipartEntityBuilder reqEntity = MultipartEntityBuilder.create().setLaxMode();

        if (fileBody != null) {
            Args.check(fileBody.isFile(), "fileBody must be a file");
            Args.check(fileBody.canRead(), "fileBody must be readable");

            if (filename == null && streamBody == null)
                filename = fileBody.getName();

            FileBody bin = new FileBody(fileBody, ContentType.APPLICATION_OCTET_STREAM,
                    streamBody != null ? fileBody.getName() : filename);
            reqEntity.addPart(workerBuilder.getFileFieldName(), bin);
        }

        Args.notEmpty(filename, "filename");

        if (streamBody != null)
            reqEntity.addBinaryBody(workerBuilder.getFileFieldName(), streamBody,
                    ContentType.APPLICATION_OCTET_STREAM, filename);

        buildParameters(reqEntity, params, charset);

        requestBuilder.setEntity(reqEntity.build());
    }

    if (fileBody == null && streamBody == null) {
        buildParameters(requestBuilder, params);
    }

    if (workerBuilder.getReadTimeout() > -1) {

        requestBuilder.setConfig(RequestConfig.copy(this.hostConfig.getRequestConfig())
                .setSocketTimeout(workerBuilder.getReadTimeout()).build());
    }

    HttpUriRequest httpRequest = ParameterRequestBuilder.build(requestBuilder);

    setAcceptHeader(httpRequest, contentType);

    if (workerBuilder.isAjax())
        setAjaxHeader(httpRequest);

    HttpClientContext context = workerBuilder.getContext();
    if (context == null)
        context = defaultHttpContext;

    T result = getHttpClient().execute(httpRequest, responseHandler, context);

    if (log.isDebugEnabled()) {
        log.debug(String.format("Send data to path:[%s]\"%s\". result: %s", method, url, result));
    }

    return result;
}