List of usage examples for org.apache.http.client.methods HttpRequestBase setHeaders
public void setHeaders(Header[] headerArr)
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; }