List of usage examples for org.apache.http.client.methods HttpRequestBase setHeader
public void setHeader(String str, String str2)
From source file:com.rackspacecloud.client.service_registry.clients.BaseClient.java
protected ClientResponse performRequest(String path, List<NameValuePair> params, HttpRequestBase method, boolean parseAsJson, Type responseType, boolean reAuthenticate, int retryCount) throws Exception { int statusCode; this.authClient.refreshToken(reAuthenticate); String url = (this.apiUrl + "/" + this.authClient.getAuthToken().getTenant().get("id") + path); if (params != null) { url += "?" + URLEncodedUtils.format(params, "UTF-8"); }/*from w w w.ja va2 s . com*/ method.setURI(new URI(url)); method.setHeader("User-Agent", Client.VERSION); method.setHeader("X-Auth-Token", this.authClient.getAuthToken().getId()); HttpResponse response = this.client.execute(method); statusCode = response.getStatusLine().getStatusCode(); if ((statusCode == 401) && (retryCount < MAX_401_RETRIES)) { retryCount++; logger.info("API server returned 401, re-authenticating and re-trying the request"); return this.performRequest(path, params, method, parseAsJson, responseType, true, retryCount); } return new ClientResponse(response, parseAsJson, responseType); }
From source file:org.thevortex.lighting.jinks.client.WinkClient.java
/** * Execute the message, retrying on token renewals. * * @param message the message/* www. j a va 2 s . co m*/ * @return it's response * @throws IOException well... */ protected synchronized JsonNode execute(HttpRequestBase message, String payload) throws IOException { // have we authenticated? if (sessionToken == null) { doAuthenticate(); } logger.debug("Requesting {}", message.getURI()); if (payload != null) { logger.debug("With payload: {}", payload); ((HttpEntityEnclosingRequestBase) message).setEntity(new StringEntity(payload)); } message.setHeader("Authorization", "Bearer " + sessionToken); message.setHeader("Content-Type", "application/json"); message.setHeader("User-Agent", appName); for (int i = 0; i < AUTH_RETRY; i++) { logger.debug("Request {}", (i + 1)); try (CloseableHttpResponse response = getClient().execute(winkHost, message)) { StatusLine status = response.getStatusLine(); // because we could get error payloads, extract the response if there is any to be had HttpEntity entity = response.getEntity(); String responsePayload = entity == null ? null : EntityUtils.toString(entity); int statusCode = status.getStatusCode(); logger.debug("Received: code = {}\n{}", status, responsePayload); switch (statusCode) { case 200: // OK case 201: // created case 202: // accepted (processing not complete) { // if no response payload, return none if (entity == null) { logger.debug("No response payload for code {}", statusCode); return null; } return payloadMapper.readValue(responsePayload, ObjectNode.class); } case 204: // no content return null; case 401: break; default: logger.error("Response payload on error {}:\n{}", statusCode, responsePayload); handleErrorCodes(status); } } // interesting new wrinkle... catch (NoHttpResponseException e) { logger.warn("Stale connection - {}: retrying", e.getLocalizedMessage()); i--; } // attempt to renew the token doRenewAuth(); } throw new AuthenticationException("Unauthorized"); }
From source file:com.serphacker.serposcope.scraper.http.ScrapClient.java
protected void initializeRequest(HttpRequestBase request, HttpClientContext context) { if (request.getFirstHeader("user-agent") == null) { request.setHeader("User-Agent", useragent); }//from w ww. j ava 2 s. c o m for (Header requestHeader : requestHeaders) { request.setHeader(requestHeader); } RequestConfig.Builder configBuilder = RequestConfig .copy(request.getConfig() == null ? RequestConfig.DEFAULT : request.getConfig()); if (timeoutMS != null) { configBuilder.setConnectTimeout(timeoutMS); configBuilder.setConnectionRequestTimeout(timeoutMS); configBuilder.setSocketTimeout(timeoutMS); } if (maxRedirect == 0) { configBuilder.setRedirectsEnabled(false); } else { configBuilder.setMaxRedirects(maxRedirect); } RequestConfig config = configBuilder.build(); context.setAttribute(HttpClientContext.REQUEST_CONFIG, config); request.setConfig(config); }
From source file:org.lokra.seaweedfs.core.Connection.java
/** * Fetch http API input stream cache.//from w ww .j a v a2 s . c o m * * @param request Http request. * @return Stream fetch by http response. * @throws IOException Http connection is fail or server response within some error message. */ StreamResponse fetchStreamCacheByRequest(HttpRequestBase request) throws IOException { CloseableHttpResponse response = null; request.setHeader("Connection", "close"); StreamResponse cache; try { response = httpClient.execute(request, HttpClientContext.create()); HttpEntity entity = response.getEntity(); cache = new StreamResponse(entity.getContent(), response.getStatusLine().getStatusCode()); EntityUtils.consume(entity); } finally { if (response != null) { try { response.close(); } catch (IOException ignored) { } } request.releaseConnection(); } return cache; }
From source file:bixo.fetcher.SimpleHttpFetcher.java
public FetchedResult get(String url, List<Tuple2<?, ?>> headers) throws BaseFetchException { HttpRequestBase request = new HttpGet(); request.setHeader("User-Agent", _userAgent.getUserAgentString()); return fetch(request, url, null, headers); }
From source file:org.lokra.seaweedfs.core.Connection.java
/** * Fetch http API json result./* w w w. j av a 2s . c o m*/ * * @param request Http request. * @return Json fetch by http response. * @throws IOException Http connection is fail or server response within some error message. */ JsonResponse fetchJsonResultByRequest(HttpRequestBase request) throws IOException { CloseableHttpResponse response = null; request.setHeader("Connection", "close"); JsonResponse jsonResponse = null; try { response = httpClient.execute(request, HttpClientContext.create()); HttpEntity entity = response.getEntity(); jsonResponse = new JsonResponse(EntityUtils.toString(entity), response.getStatusLine().getStatusCode()); EntityUtils.consume(entity); } finally { if (response != null) { try { response.close(); } catch (IOException ignored) { } } request.releaseConnection(); } if (jsonResponse.json.contains("\"error\":\"")) { Map map = objectMapper.readValue(jsonResponse.json, Map.class); final String errorMsg = (String) map.get("error"); if (errorMsg != null) throw new SeaweedfsException(errorMsg); } return jsonResponse; }
From source file:bixo.fetcher.SimpleHttpFetcher.java
public FetchedResult post(String url, List<Tuple2<?, ?>> data, List<Tuple2<?, ?>> headers) throws BaseFetchException { HttpRequestBase request = new HttpPost(); request.setHeader("User-Agent", _userAgent.getUserAgentString()); return fetch(request, url, data, headers); }
From source file:com.oakesville.mythling.util.HttpHelper.java
private byte[] retrieveWithDigestAuth() throws IOException { AndroidHttpClient httpClient = null; InputStream is = null;//from www .j a v a 2 s.co m try { long startTime = System.currentTimeMillis(); httpClient = AndroidHttpClient.newInstance("Android"); HttpParams httpParams = httpClient.getParams(); HttpConnectionParams.setConnectionTimeout(httpParams, getConnectTimeout()); HttpConnectionParams.setSoTimeout(httpParams, getReadTimeout()); HttpHost host = new HttpHost(url.getHost(), url.getPort(), url.getProtocol()); HttpRequestBase job; if (method == Method.Get) job = new HttpGet(url.toString()); else if (method == Method.Post) { job = new HttpPost(url.toString()); ((HttpPost) job).setEntity(new ByteArrayEntity("".getBytes())); } else throw new IOException("Unsupported HTTP method: " + method); job.setHeader("Accept", "application/json"); HttpResponse response = null; try { response = httpClient.execute(host, job, getDigestAuthContext(url.getHost(), url.getPort(), user, password)); } catch (IOException ex) { Log.e(TAG, ex.getMessage(), ex); if (ipRetrieval != null) { // try and retrieve the backend IP String ip = retrieveBackendIp(); host = new HttpHost(ip, url.getPort(), url.getProtocol()); response = httpClient.execute(host, job, getDigestAuthContext(ip, url.getPort(), user, password)); // save the retrieved ip as the external static one Editor ed = sharedPrefs.edit(); ed.putString(AppSettings.MYTH_BACKEND_EXTERNAL_HOST, ip); ed.commit(); } else { throw ex; } } is = response.getEntity().getContent(); return extractResponseBytes(is, startTime); } finally { try { if (is != null) is.close(); if (httpClient != null) httpClient.close(); } catch (IOException ex) { Log.e(TAG, ex.getMessage(), ex); } } }
From source file:anhttpclient.impl.DefaultWebBrowser.java
/** * Add default headers to web request and * then add specific headers for current request * * @param httpMethodBase http method for adding headers * @param methodHeaders headers specific for current request *///from w w w.j ava2 s . c o m private void setHeaders(final HttpRequestBase httpMethodBase, final Map<String, String> methodHeaders) { //set default headers for (Map.Entry<String, String> entry : defaultHeaders.entrySet()) { httpMethodBase.setHeader(entry.getKey(), entry.getValue()); } //set method headers for (Map.Entry<String, String> entry : methodHeaders.entrySet()) { httpMethodBase.setHeader(entry.getKey(), entry.getValue()); } }
From source file:li.zeitgeist.api.ZeitgeistApi.java
/** * Set required Headers for the API, json accept only and authentication. * @param request/* w w w . j a v a 2s . c om*/ */ private void setHeaders(HttpRequestBase request) { request.setHeader("Accept", "application/json"); if (this.email != null && this.apiSecret != null && this.email.length() > 0 && this.apiSecret.length() > 0) { request.setHeader("X-API-Auth", this.email + "|" + this.apiSecret); } }