Example usage for org.apache.http.client.methods HttpRequestBase setHeaders

List of usage examples for org.apache.http.client.methods HttpRequestBase setHeaders

Introduction

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

Prototype

public void setHeaders(Header[] headerArr) 

Source Link

Usage

From source file:com.clutch.ClutchAPIClient.java

private static void sendRequest(String url, boolean post, JSONObject payload, String version,
        final ClutchAPIResponseHandler responseHandler) {
    BasicHeader[] headers = { new BasicHeader("X-App-Version", version),
            new BasicHeader("X-UDID", ClutchUtils.getUDID()), new BasicHeader("X-API-Version", VERSION),
            new BasicHeader("X-App-Key", appKey), new BasicHeader("X-Bundle-Version", versionName),
            new BasicHeader("X-Platform", "Android"), };
    StringEntity entity = null;//www.ja v a2  s. c  om
    try {
        entity = new StringEntity(payload.toString());
    } catch (UnsupportedEncodingException e) {
        Log.e(TAG, "Could not encode the JSON payload and attach it to the request: " + payload.toString());
        return;
    }
    HttpRequestBase request = null;
    if (post) {
        request = new HttpPost(url);
        ((HttpEntityEnclosingRequestBase) request).setEntity(entity);
        request.setHeaders(headers);
    } else {
        request = new HttpGet(url);
    }

    class StatusCodeAndResponse {
        public int statusCode;
        public String response;

        public StatusCodeAndResponse(int statusCode, String response) {
            this.statusCode = statusCode;
            this.response = response;
        }
    }

    new AsyncTask<HttpRequestBase, Void, StatusCodeAndResponse>() {
        @Override
        protected StatusCodeAndResponse doInBackground(HttpRequestBase... requests) {
            try {
                HttpResponse resp = client.execute(requests[0]);

                HttpEntity entity = resp.getEntity();
                InputStream inputStream = entity.getContent();

                ByteArrayOutputStream content = new ByteArrayOutputStream();

                int readBytes = 0;
                byte[] sBuffer = new byte[512];
                while ((readBytes = inputStream.read(sBuffer)) != -1) {
                    content.write(sBuffer, 0, readBytes);
                }

                inputStream.close();

                String response = new String(content.toByteArray());

                content.close();

                return new StatusCodeAndResponse(resp.getStatusLine().getStatusCode(), response);
            } catch (IOException e) {
                if (responseHandler instanceof ClutchAPIDownloadResponseHandler) {
                    ((ClutchAPIDownloadResponseHandler) responseHandler).onFailure(e, "");
                } else {
                    responseHandler.onFailure(e, null);
                }
            }
            return null;
        }

        @Override
        protected void onPostExecute(StatusCodeAndResponse resp) {
            if (responseHandler instanceof ClutchAPIDownloadResponseHandler) {
                if (resp.statusCode == 200) {
                    ((ClutchAPIDownloadResponseHandler) responseHandler).onSuccess(resp.response);
                } else {
                    ((ClutchAPIDownloadResponseHandler) responseHandler).onFailure(null, resp.response);
                }
            } else {
                if (resp.statusCode == 200) {
                    responseHandler.handleSuccessMessage(resp.response);
                } else {
                    responseHandler.handleFailureMessage(null, resp.response);
                }
            }
        }
    }.execute(request);
}

From source file:com.mgmtp.perfload.core.client.web.request.HttpRequestHandler.java

@Override
public ResponseInfo execute(final RequestTemplate template, final UUID requestId) throws Exception {
    URI uri = createAbsoluteURI(template.getUri());
    List<NameValuePair> params = transformRequestParams(template.getRequestParameters());
    HttpRequestBase request = createRequest(template.getType(), uri, params, template.getBody());
    request.setHeaders(transformRequestHeaders(template.getRequestHeaders()));
    ResponseInfo responseInfo = httpClientManagerProvider.get().executeRequest(request, requestId);
    responseInfo.setUriAlias(template.getUriAlias());
    return responseInfo;
}

From source file:com.kolich.havalo.client.service.HavaloClient.java

public Either<HttpFailure, Integer> deleteObject(final Header[] headers, final String... path) {
    // The deletion of an object is only successful when the
    // resulting status code is a 204 No Content.  Any other status
    // code on the response is failure.
    return new HavaloStatusCodeClosure(client_, SC_NO_CONTENT) {
        @Override//w  ww  .j  ava 2  s  . co  m
        public void before(final HttpRequestBase request) throws Exception {
            if (headers != null) {
                request.setHeaders(headers);
            }
            super.before(request);
        }
    }.delete(API_ACTION_OBJECT, path);
}

From source file:com.kolich.havalo.client.service.HavaloClient.java

public Either<HttpFailure, FileObject> putObject(final InputStream input, final long contentLength,
        final Header[] headers, final String... path) {
    // The upload of an object is only successful when the
    // resulting status code is a 200 OK.  Any other status
    // code on the response is failure.
    return new HavaloGsonClosure<FileObject>(client_, gson_.create(), FileObject.class, SC_OK) {
        @Override//www  .  j a v  a2 s.  co m
        public void before(final HttpRequestBase request) throws Exception {
            if (headers != null) {
                request.setHeaders(headers);
            }
            ((HttpPut) request).setEntity(new InputStreamEntity(input, contentLength));
            super.before(request);
        }
    }.put(API_ACTION_OBJECT, path);
}

From source file:com.windigo.http.client.ApacheHttpClient.java

/**
 * Execute the given {@link HttpRequestBase}. Closes all the expired
 * connection pool items and set heeaders if present.
 * /*from w ww .  j av  a2  s.c o  m*/
 * @param httpRequest
 * @throws IOException
 * @return {@link HttpResponse}
 */
public HttpResponse executeHttpRequest(HttpRequestBase httpRequest) throws IOException {

    Logger.log("[Request] Executing http request for: " + httpRequest.getURI().toString());

    // set headers for request
    if (headers != null && headers.length > 0) {
        httpRequest.setHeaders(headers);
        Logger.log("[Request] Found " + headers.length + " header");
    }

    try {
        mHttpClient.getConnectionManager().closeExpiredConnections();
        return mHttpClient.execute(httpRequest);
    } catch (IOException e) {
        httpRequest.abort();
        throw e;
    }

}

From source file:com.github.grantjforrester.bdd.rest.httpclient.HttpClientRequest.java

HttpRequestBase getRequestImpl(URI baseUri) {
    HttpRequestBase request = null;

    switch (method) {
    case HEAD://from w  w  w .  j a va  2  s  .c  om
        request = new HttpHead();
        break;
    case OPTIONS:
        request = new HttpOptions();
        break;
    case GET:
        request = new HttpGet();
        break;
    case POST:
        request = new HttpPost();
        break;
    case PUT:
        request = new HttpPut();
        break;
    case DELETE:
        request = new HttpDelete();
        break;
    case PATCH:
        request = new HttpPatch();
    }

    request.setURI(baseUri.resolve(uri));
    request.setHeaders(headers.toArray(new Header[headers.size()]));
    if (content != null) {
        ((HttpEntityEnclosingRequest) request).setEntity(new ByteArrayEntity(content));
    }

    return request;
}

From source file:org.apache.zeppelin.sap.universe.UniverseClient.java

private void setHeaders(HttpRequestBase request, String token) {
    request.setHeaders(commonHeaders);
    if (StringUtils.isNotBlank(token)) {
        request.addHeader(TOKEN_HEADER, token);
    }/*from  w  ww .j  a v a  2s .co m*/
}

From source file:com.andrestrequest.http.DefaultRequestHandler.java

private HttpRequestBase buildRequest(HttpMethod method, String path, Map<String, String> headers, Object body,
        Map<String, Object> params) throws UnsupportedEncodingException {
    AcceptedMediaType mediaType = AndRestConfig.getResponseMediaType();

    HttpRequestBase request = null;
    StringEntity entity = getEntity(body);
    switch (method) {
    case DELETE://from   w  w  w.  java2s  . c o m
        request = new HttpDelete();
        break;
    case GET:
        request = new HttpGet();
        break;
    case POST:
        request = new HttpPost();
        if (entity != null) {
            ((HttpPost) request).setEntity(entity);
        }
        break;
    case PUT:
        request = new HttpPut();
        if (entity != null) {
            ((HttpPut) request).setEntity(entity);
        }
        break;
    default:
        return null;
    }

    try {
        if (!path.toLowerCase(Locale.ENGLISH).startsWith("http")) {
            URIBuilder builder = buildUri(method, path, params, mediaType);
            request.setURI(builder.build());
        } else {
            request.setURI(new URI(path));
        }
    } catch (URISyntaxException e) {
        throw new RequestInvalidException("Invalid URI requested.", e);
    }
    //      request.addHeader("accept", mediaType.getMediaType());
    //      request.addHeader(HEADER_KEY_API, AppConfig.getInstance().getApiKey());
    //      request.addHeader(HEADER_USER_AGENT, XIVELY_USER_AGENT);
    /**
     *  Header
     */
    if (headers != null && !headers.isEmpty()) {
        int index = 0;
        Header[] header = new Header[headers.size()];
        for (Entry<String, String> element : headers.entrySet()) {
            header[index++] = new BasicHeader(element.getKey(), element.getValue());
        }
        request.setHeaders(header);
    }
    //      if (params != null && !params.isEmpty()) {
    //         HttpParams hparams = new SyncBasicHttpParams();
    //         for (Entry<String, Object> param : params.entrySet()) {
    //            hparams.setParameter(param.getKey(), param.getValue());
    //         }
    //         request.setParams(hparams);
    //      }
    return request;
}

From source file:com.simple.toadiot.rtinfosdk.http.DefaultRequestHandler.java

private HttpRequestBase buildRequest(HttpMethod method, String path, Map<String, String> headers, Object body,
        Map<String, Object> params) {
    AcceptedMediaType mediaType = AppConfig.getResponseMediaType();

    HttpRequestBase request = null;
    StringEntity entity = getEntity(body);
    switch (method) {
    case DELETE:/*from   ww w .  j av a  2 s.  co  m*/
        request = new HttpDelete();
        break;
    case GET:
        request = new HttpGet();
        break;
    case POST:
        request = new HttpPost();
        if (entity != null) {
            ((HttpPost) request).setEntity(entity);
        }
        break;
    case PUT:
        request = new HttpPut();
        if (entity != null) {
            ((HttpPut) request).setEntity(entity);
        }
        break;
    default:
        return null;
    }

    try {
        if (!path.toLowerCase(Locale.ENGLISH).startsWith("http")) {
            URIBuilder uriBuilder = buildUri(method, path, params, mediaType);
            request.setURI(uriBuilder.build());
        } else {
            request.setURI(new URI(path));
        }
    } catch (URISyntaxException e) {
        throw new RequestInvalidException("Invalid URI requested.", e);
    }
    //      request.addHeader("accept", mediaType.getMediaType());
    //      request.addHeader(HEADER_KEY_API, AppConfig.getInstance().getApiKey());
    //      request.addHeader(HEADER_USER_AGENT, XIVELY_USER_AGENT);
    /**
     *  Header
     */
    request.addHeader("Content-Type", mediaType.getMediaType() + ";charset=" + AppConfig.getCharset());
    if (headers != null && !headers.isEmpty()) {
        int index = 0;
        Header[] header = new Header[headers.size()];
        for (Entry<String, String> element : headers.entrySet()) {
            header[index++] = new BasicHeader(element.getKey(), element.getValue());
        }
        request.setHeaders(header);
    }
    //      if (params != null && !params.isEmpty()) {
    //         HttpParams hparams = new SyncBasicHttpParams();
    //         for (Entry<String, Object> param : params.entrySet()) {
    //            hparams.setParameter(param.getKey(), param.getValue());
    //         }
    //         request.setParams(hparams);
    //      }
    return request;
}

From source file:net.java.sip.communicator.service.httputil.HttpUtils.java

/**
 * Executes the method and return the result. Handle ask for password
 * when hitting password protected site.
 * Keep asking for password till user clicks cancel or enters correct
 * password. When 'remember password' is checked password is saved, if this
 * password and username are not correct clear them, if there are correct
 * they stay saved.//from  w  w w  .j  a va 2 s.  c  om
 * @param httpClient the configured http client to use.
 * @param req the request for now it is get or post.
 * @param redirectHandler handles redirection, should we redirect and
 * the actual redirect.
 * @param parameters if we are redirecting we can use already filled
 * username and password in order to avoid asking the user twice.
 *
 * @return the result http entity.
 */
private static HttpEntity executeMethod(DefaultHttpClient httpClient, HttpRequestBase req,
        RedirectHandler redirectHandler, List<NameValuePair> parameters) throws Throwable {
    // do it when response (first execution) or till we are unauthorized
    HttpResponse response = null;
    int redirects = 0;
    while (response == null || response.getStatusLine().getStatusCode() == HttpStatus.SC_UNAUTHORIZED
            || response.getStatusLine().getStatusCode() == HttpStatus.SC_FORBIDDEN) {
        // if we were unauthorized, lets clear the method and recreate it
        // for new connection with new credentials.
        if (response != null && (response.getStatusLine().getStatusCode() == HttpStatus.SC_UNAUTHORIZED
                || response.getStatusLine().getStatusCode() == HttpStatus.SC_FORBIDDEN)) {
            if (logger.isDebugEnabled())
                logger.debug("Will retry http connect and " + "credentials input as latest are not correct!");

            throw new AuthenticationException("Authorization needed");
        } else
            response = httpClient.execute(req);

        // if user click cancel no need to retry, stop trying
        if (!((HTTPCredentialsProvider) httpClient.getCredentialsProvider()).retry()) {
            if (logger.isDebugEnabled())
                logger.debug("User canceled credentials input.");
            break;
        }

        // check for post redirect as post redirects are not handled
        // automatically
        // RFC2616 (10.3 Redirection 3xx).
        // The second request (forwarded method) can only be a GET or HEAD.
        Header locationHeader = response.getFirstHeader("location");

        if (locationHeader != null && req instanceof HttpPost
                && (response.getStatusLine().getStatusCode() == HttpStatus.SC_MOVED_PERMANENTLY
                        || response.getStatusLine().getStatusCode() == HttpStatus.SC_MOVED_TEMPORARILY
                        || response.getStatusLine().getStatusCode() == HttpStatus.SC_SEE_OTHER)
                && redirects < MAX_REDIRECTS) {
            HttpRequestBase oldreq = req;
            oldreq.abort();

            String newLocation = locationHeader.getValue();

            // lets ask redirection handler if any
            if (redirectHandler != null && redirectHandler.handleRedirect(newLocation, parameters)) {
                return null;
            }

            req = new HttpGet(newLocation);
            req.setParams(oldreq.getParams());
            req.setHeaders(oldreq.getAllHeaders());

            redirects++;
            response = httpClient.execute(req);
        }
    }

    // if we finally managed to login return the result.
    if (response != null && response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
        return response.getEntity();
    }

    // is user has canceled no result needed.
    return null;
}