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

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

Introduction

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

Prototype

public RequestBuilder addHeader(final String name, final String value) 

Source Link

Usage

From source file:com.aliyun.api.gateway.demo.Client.java

/**
 * ??/*w w w .j  ava  2  s . c o m*/
 *
 * @param request
 *            requestnull{@link NullPointerException}
 * @return HttpResponse HTTP?
 * @throws IOException
 *             HTTP?
 * @throws ClientProtocolException
 *             ????
 */
public HttpResponse execute(Request request) throws ClientProtocolException, IOException {
    if (request == null) {
        return null;
    }
    RequestBuilder requestBuilder = request.getMethod().requestbuilder().setUri(request.getUrl().toString());
    requestBuilder
            .setConfig(RequestConfig.custom().setConnectTimeout(getTimeout(request.getTimeout())).build());
    requestBuilder.addHeader(SystemHeader.X_CA_TIMESTAMP, String.valueOf(System.currentTimeMillis()));
    requestBuilder.addHeader(SystemHeader.X_CA_NONCE, UUID.randomUUID().toString());
    requestBuilder.addHeader(SystemHeader.X_CA_KEY, appKey);
    if (testEnv) {
        requestBuilder.addHeader(SystemHeader.X_CA_STAGE, "test");
    }
    requestBuilder.build().getAllHeaders();
    initialBasicHeader(requestBuilder, request.getHeaders(), request.getUrl(), request.getFormBody(),
            request.getSignHeaderPrefixes());
    HttpEntity entity = getEntity(request);
    if (entity != null) {
        requestBuilder.setEntity(entity);
    }
    return httpClient.execute(requestBuilder.build());
}

From source file:cn.vlabs.duckling.vwb.service.ddl.RestClient.java

private HttpUriRequest buildUriRequest(String url, String token, String... params) throws URISyntaxException {
    RequestBuilder rb = RequestBuilder.get().setUri(new URI(url));
    if (params != null && params.length % 2 == 0) {
        for (int i = 0; i < params.length / 2; i++) {
            rb.addParameter(params[i * 2], params[i * 2 + 1]);
        }// www  .  j  a v a2 s . c  om
    }

    rb.addHeader("accept", "application/json");
    rb.addHeader("Authorization", "Bearer " + token);

    HttpUriRequest uriRequest = rb.build();
    return uriRequest;
}

From source file:org.springframework.cloud.sleuth.instrument.zuul.ApacheHttpClientRibbonRequestCustomizer.java

@Override
protected SpanTextMap toSpanTextMap(final RequestBuilder context) {
    return new SpanTextMap() {
        @Override//from w  w w .j a  v a  2  s . c  om
        public Iterator<Map.Entry<String, String>> iterator() {
            Map<String, String> map = new HashMap<>();
            for (Header header : context.build().getAllHeaders()) {
                map.put(header.getName(), header.getValue());
            }
            return map.entrySet().iterator();
        }

        @Override
        public void put(String key, String value) {
            context.addHeader(key, value);
        }
    };
}

From source file:com.restfiddle.handler.http.auth.BasicAuthHandler.java

public void setBasicAuthWithBase64Encode(RfRequestDTO requestDTO, RequestBuilder requestBuilder) {
    BasicAuthDTO basicAuthDTO = requestDTO.getBasicAuthDTO();
    if (basicAuthDTO == null) {
        return;/*from   w w w.j  a  v  a  2  s.c  o m*/
    }
    String userName = basicAuthDTO.getUsername();
    String password = basicAuthDTO.getPassword();
    if (userName == null || userName.isEmpty() || password == null || password.isEmpty()) {
        return;
    }

    String authStr = userName + ":" + password;
    String encodedAuth = (new BASE64Encoder()).encode(authStr.getBytes());
    requestBuilder.addHeader(HttpHeaders.AUTHORIZATION, "Basic " + encodedAuth);
}

From source file:org.daybreak.coccinella.webmagic.ImageDownloader.java

@Override
public Page download(Request request, Task task) {
    Site site = null;// ww  w.jav a  2s  .co m
    if (task != null) {
        site = task.getSite();
    }
    Set<Integer> acceptStatCode;
    String charset = null;
    Map<String, String> headers = null;
    if (site != null) {
        acceptStatCode = site.getAcceptStatCode();
        charset = site.getCharset();
        headers = site.getHeaders();
    } else {
        acceptStatCode = Sets.newHashSet(200);
    }
    logger.info("downloading image " + request.getUrl());
    RequestBuilder requestBuilder;
    if (request instanceof CrawlerRequest) {
        CrawlerRequest crawlerRequest = (CrawlerRequest) request;
        try {
            requestBuilder = RequestBuilder.post().setUri(crawlerRequest.getUrl())
                    .setEntity(crawlerRequest.createEntity());
        } catch (UnsupportedEncodingException ex) {
            logger.warn("The encoding is not supported: " + crawlerRequest.getCrawler().getEncode());
            return null;
        }
    } else {
        requestBuilder = RequestBuilder.get().setUri(request.getUrl());
    }
    if (headers != null) {
        for (Map.Entry<String, String> headerEntry : headers.entrySet()) {
            requestBuilder.addHeader(headerEntry.getKey(), headerEntry.getValue());
        }
    }
    RequestConfig.Builder requestConfigBuilder = RequestConfig.custom()
            .setConnectionRequestTimeout(site.getTimeOut()).setSocketTimeout(site.getTimeOut())
            .setConnectTimeout(site.getTimeOut()).setCookieSpec(CookieSpecs.BEST_MATCH);
    if (site != null && site.getHttpProxy() != null) {
        requestConfigBuilder.setProxy(site.getHttpProxy());
    }
    requestBuilder.setConfig(requestConfigBuilder.build());
    CloseableHttpResponse httpResponse = null;
    try {
        httpResponse = getHttpClient(site).execute(requestBuilder.build());
        int statusCode = httpResponse.getStatusLine().getStatusCode();
        if (acceptStatCode.contains(statusCode)) {
            ImagePage imagePage = new ImagePage(ImageIO.read(httpResponse.getEntity().getContent()));
            imagePage.setRawText("");
            imagePage.setUrl(new PlainText(request.getUrl()));
            imagePage.setRequest(request);
            imagePage.setStatusCode(httpResponse.getStatusLine().getStatusCode());
            return imagePage;
        } else {
            logger.warn("code error " + statusCode + "\t" + request.getUrl());
            return null;
        }
    } catch (IOException e) {
        logger.warn("download image " + request.getUrl() + " error", e);
        if (site.getCycleRetryTimes() > 0) {
            return addToCycleRetry(request, site);
        }
        return null;
    } finally {
        try {
            if (httpResponse != null) {
                //ensure the connection is released back to pool
                EntityUtils.consume(httpResponse.getEntity());
            }
        } catch (IOException e) {
            logger.warn("close response fail", e);
        }
    }
}

From source file:com.aliyun.api.gateway.demo.Client.java

/**
 * ?Header/*ww w .j  a va2s  .c om*/
 * 
 * @param requestBuilder
 *            
 * @param headers
 *            Http
 * @param url
 *            http://host+path+query
 * @param formParam
 *            ??
 * @param signHeaderPrefixes
 *            ???Header?
 * @return Header
 * @throws MalformedURLException
 */
private void initialBasicHeader(RequestBuilder requestBuilder, Map<String, String> headers, URL url,
        Map<String, String> formParam, String[] signHeaderPrefixes) throws MalformedURLException {
    if (headers != null) {
        for (Map.Entry<String, String> e : headers.entrySet()) {
            requestBuilder.removeHeaders(e.getKey()).addHeader(e.getKey(), e.getValue());
        }
    }
    StringBuilder stringBuilder = new StringBuilder();
    if (StringUtils.isNotBlank(url.getPath())) {
        stringBuilder.append(url.getPath());
    }
    if (StringUtils.isNotBlank(url.getQuery())) {
        stringBuilder.append("?");
        stringBuilder.append(url.getQuery());
    }
    requestBuilder.addHeader(SystemHeader.X_CA_SIGNATURE,
            SignUtil.sign(requestBuilder, stringBuilder.toString(), formParam, appSecret, signHeaderPrefixes));
}

From source file:com.yahoo.validatar.execution.rest.JSON.java

/**
 * Creates a HttpUriRequest based on the metadata configuration.
 * @param metadata The metadata configuration.
 * @return A configured request object.//from  w ww. ja va 2s.co  m
 */
private HttpUriRequest createRequest(Map<String, String> metadata) {
    String verb = metadata.getOrDefault(VERB_KEY, DEFAULT_VERB);
    String url = metadata.get(URL_KEY);
    if (url == null || url.isEmpty()) {
        throw new IllegalArgumentException("The " + URL_KEY + " must be provided and contain a valid url.");
    }
    RequestBuilder builder;
    if (GET.equals(verb)) {
        builder = RequestBuilder.get(url);
    } else if (POST.equals(verb)) {
        builder = RequestBuilder.post(url);
        String body = metadata.getOrDefault(BODY_KEY, EMPTY_BODY);
        builder.setEntity(new StringEntity(body, Charset.defaultCharset()));
    } else {
        throw new UnsupportedOperationException("This HTTP method is not currently supported: " + verb);
    }
    // Everything else is assumed to be a header
    metadata.entrySet().stream().filter(entry -> !KNOWN_KEYS.contains(entry.getKey()))
            .forEach(entry -> builder.addHeader(entry.getKey(), entry.getValue()));
    return builder.build();
}

From source file:org.eclipse.rdf4j.http.client.RDF4JProtocolSession.java

@Override
protected HttpUriRequest getUpdateMethod(QueryLanguage ql, String update, String baseURI, Dataset dataset,
        boolean includeInferred, int maxExecutionTime, Binding... bindings) {
    RequestBuilder builder = null;
    if (transactionURL != null) {
        builder = RequestBuilder.put(transactionURL);
        builder.addHeader("Content-Type", Protocol.SPARQL_UPDATE_MIME_TYPE + "; charset=utf-8");
        builder.addParameter(Protocol.ACTION_PARAM_NAME, Action.UPDATE.toString());
        for (NameValuePair nvp : getUpdateMethodParameters(ql, null, baseURI, dataset, includeInferred,
                maxExecutionTime, bindings)) {
            builder.addParameter(nvp);/*from  w w  w .  j  ava 2s  .  c  om*/
        }
        // in a PUT request, we carry the only actual update string as the
        // request body - the rest is sent as request parameters
        builder.setEntity(new StringEntity(update, UTF8));
    } else {
        builder = RequestBuilder.post(getUpdateURL());
        builder.addHeader("Content-Type", Protocol.FORM_MIME_TYPE + "; charset=utf-8");

        builder.setEntity(new UrlEncodedFormEntity(getUpdateMethodParameters(ql, update, baseURI, dataset,
                includeInferred, maxExecutionTime, bindings), UTF8));
    }
    // functionality to provide custom http headers as required by the
    // applications
    for (Map.Entry<String, String> additionalHeader : getAdditionalHttpHeaders().entrySet()) {
        builder.addHeader(additionalHeader.getKey(), additionalHeader.getValue());
    }
    return builder.build();
}

From source file:org.keycloak.adapters.authorization.cip.HttpClaimInformationPointProvider.java

private void setHeaders(RequestBuilder builder, HttpFacade httpFacade) {
    Object headersDef = config.get("headers");

    if (headersDef != null) {
        Map<String, Object> headers = Map.class.cast(headersDef);

        for (Entry<String, Object> header : headers.entrySet()) {
            Object value = header.getValue();
            List<String> headerValues = new ArrayList<>();

            if (value instanceof Collection) {
                Collection values = Collection.class.cast(value);
                Iterator iterator = values.iterator();

                while (iterator.hasNext()) {
                    headerValues.addAll(PlaceHolders.resolve(iterator.next().toString(), httpFacade));
                }/*from w w  w .  jav  a 2 s  . c om*/
            } else {
                headerValues.addAll(PlaceHolders.resolve(value.toString(), httpFacade));
            }

            for (String headerValue : headerValues) {
                builder.addHeader(header.getKey(), headerValue);
            }
        }
    }
}