List of usage examples for org.apache.http.client.methods HttpHead HttpHead
public HttpHead(final String uri)
From source file:org.mariotaku.twidere.util.httpclient.HttpClientImpl.java
@Override public twitter4j.http.HttpResponse request(final twitter4j.http.HttpRequest req) throws TwitterException { try {/*w ww . j a va 2 s . c o m*/ HttpRequestBase commonsRequest; final HostAddressResolver resolver = conf.getHostAddressResolver(); final String url_string = req.getURL(); final URI url_orig; try { url_orig = new URI(url_string); } catch (final URISyntaxException e) { throw new TwitterException(e); } final String host = url_orig.getHost(), authority = url_orig.getAuthority(); final String resolved_host = resolver != null ? resolver.resolve(host) : null; final String resolved_url = !isEmpty(resolved_host) ? url_string.replace("://" + host, "://" + resolved_host) : url_string; if (req.getMethod() == RequestMethod.GET) { commonsRequest = new HttpGet(resolved_url); } else if (req.getMethod() == RequestMethod.POST) { final HttpPost post = new HttpPost(resolved_url); // parameter has a file? boolean hasFile = false; final HttpParameter[] params = req.getParameters(); if (params != null) { for (final HttpParameter parameter : params) { if (parameter.isFile()) { hasFile = true; break; } } if (!hasFile) { if (params.length > 0) { post.setEntity(new UrlEncodedFormEntity(params)); } } else { final MultipartEntity me = new MultipartEntity(); for (final HttpParameter parameter : params) { if (parameter.isFile()) { final ContentBody body = new FileBody(parameter.getFile(), parameter.getContentType()); me.addPart(parameter.getName(), body); } else { final ContentBody body = new StringBody(parameter.getValue(), "text/plain; charset=UTF-8", Charset.forName("UTF-8")); me.addPart(parameter.getName(), body); } } post.setEntity(me); } } post.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false); commonsRequest = post; } else if (req.getMethod() == RequestMethod.DELETE) { commonsRequest = new HttpDelete(resolved_url); } else if (req.getMethod() == RequestMethod.HEAD) { commonsRequest = new HttpHead(resolved_url); } else if (req.getMethod() == RequestMethod.PUT) { commonsRequest = new HttpPut(resolved_url); } else throw new TwitterException("Unsupported request method " + req.getMethod()); final Map<String, String> headers = req.getRequestHeaders(); for (final String headerName : headers.keySet()) { commonsRequest.addHeader(headerName, headers.get(headerName)); } String authorizationHeader; if (req.getAuthorization() != null && (authorizationHeader = req.getAuthorization().getAuthorizationHeader(req)) != null) { commonsRequest.addHeader("Authorization", authorizationHeader); } if (!isEmpty(resolved_host) && !resolved_host.equals(host)) { commonsRequest.addHeader("Host", authority); } final ApacheHttpClientHttpResponseImpl res; try { res = new ApacheHttpClientHttpResponseImpl(client.execute(commonsRequest), conf); } catch (final IllegalStateException e) { throw new TwitterException("Please check your API settings.", e); } catch (final NullPointerException e) { // Bug http://code.google.com/p/android/issues/detail?id=5255 throw new TwitterException("Please check your APN settings, make sure not to use WAP APNs.", e); } catch (final OutOfMemoryError e) { // I don't know why OOM thown, but it should be catched. System.gc(); throw new TwitterException("Unknown error", e); } final int statusCode = res.getStatusCode(); if (statusCode < OK || statusCode > ACCEPTED) throw new TwitterException(res.asString(), req, res); return res; } catch (final IOException e) { throw new TwitterException(e); } }
From source file:de.taimos.httputils.HTTPRequest.java
/** * @return the {@link HttpResponse}//from w w w . j a v a 2s. c o m */ public HttpResponse head() { return this.execute(new HttpHead(this.buildURI())); }
From source file:me.code4fun.roboq.Request.java
protected HttpUriRequest createHttpRequest(int method, String url, Options opts) { String url1 = makeUrl(url, opts); // Create HTTP request HttpUriRequest httpReq;/*from w w w .ja v a 2 s . c o m*/ if (GET == method) { httpReq = new HttpGet(url1); } else if (POST == method) { httpReq = new HttpPost(url1); } else if (PUT == method) { httpReq = new HttpPut(url1); } else if (DELETE == method) { httpReq = new HttpDelete(url1); } else if (TRACE == method) { httpReq = new HttpTrace(url1); } else if (HEAD == method) { httpReq = new HttpHead(url1); } else if (OPTIONS == method) { httpReq = new HttpOptions(url1); } else { throw new IllegalStateException("Illegal HTTP method " + method); } // Set headers Map<String, Object> headers = opts.getHeaders(); for (Map.Entry<String, Object> entry : headers.entrySet()) { String k = entry.getKey(); Object v = entry.getValue(); if (v != null && v.getClass().isArray()) { int len = Array.getLength(v); for (int i = 0; i < len; i++) { Object v0 = Array.get(v, i); httpReq.addHeader(k, o2s(v0, "")); } } else if (v instanceof List) { for (Object v0 : (List) v) httpReq.addHeader(k, o2s(v0, "")); } else { httpReq.addHeader(k, o2s(v, "")); } } // set body if (httpReq instanceof HttpEntityEnclosingRequestBase) { ((HttpEntityEnclosingRequestBase) httpReq).setEntity(createRequestBody(method, url, opts)); } return httpReq; }
From source file:org.perfcake.message.sender.HttpClientSender.java
@Override public void preSend(final Message message, final Properties messageAttributes) throws Exception { super.preSend(message, messageAttributes); if (storeCookies && localCookieManager.get() == null) { localCookieManager.set(new CookieManager(null, CookiePolicy.ACCEPT_ALL)); }//from ww w. jav a 2 s. c o m currentMethod = getDynamicMethod(messageAttributes); payloadLength = 0; if (message == null) { payload = null; } else if (message.getPayload() != null) { payload = message.getPayload().toString(); payloadLength = payload.length(); } final URI uri = url.toURI(); switch (currentMethod) { case GET: currentRequest = new HttpGet(uri); break; case POST: currentRequest = new HttpPost(uri); break; case PUT: currentRequest = new HttpPut(uri); break; case PATCH: currentRequest = new HttpPatch(uri); break; case DELETE: currentRequest = new HttpDelete(uri); break; case HEAD: currentRequest = new HttpHead(uri); break; case TRACE: currentRequest = new HttpTrace(uri); break; case OPTIONS: currentRequest = new HttpOptions(uri); } StringEntity msg = null; if (payload != null && (currentRequest instanceof HttpEntityEnclosingRequestBase)) { ((HttpEntityEnclosingRequestBase) currentRequest).setEntity( new StringEntity(payload, ContentType.create("text/plain", Utils.getDefaultEncoding()))); } if (storeCookies) { popCookies(); } if (log.isDebugEnabled()) { log.debug("Setting HTTP headers: "); } // set message properties as HTTP headers if (message != null) { for (final Entry<Object, Object> property : message.getProperties().entrySet()) { final String pKey = property.getKey().toString(); final String pValue = property.getValue().toString(); currentRequest.setHeader(pKey, pValue); if (log.isDebugEnabled()) { log.debug(pKey + ": " + pValue); } } } // set message headers as HTTP headers if (message != null) { if (message.getHeaders().size() > 0) { for (final Entry<Object, Object> property : message.getHeaders().entrySet()) { final String pKey = property.getKey().toString(); final String pValue = property.getValue().toString(); currentRequest.setHeader(pKey, pValue); if (log.isDebugEnabled()) { log.debug(pKey + ": " + pValue); } } } } if (log.isDebugEnabled()) { log.debug("End of HTTP headers."); } }
From source file:com.iflytek.cssp.SwiftAPI.SwiftClient.java
public SwiftClientResponse HeadContainer(String url, String Container, String accesskey, String secretkey) throws IOException, CSSPException { Map<String, String> headers = new LinkedHashMap<String, String>(); BasicHttpParams httpParameters = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParameters, connectionTimeout); HttpConnectionParams.setSoTimeout(httpParameters, soTimeout); //default enable auto redirect httpParameters.setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, Boolean.TRUE); HttpClient httpClient = new DefaultHttpClient(httpParameters); HttpHead httphead = new HttpHead(url + "/" + encode(Container)); CSSPSignature signature = new CSSPSignature("HEAD", null, "/" + Container, null, null); signature.getDate();/* www .j av a 2 s. c o m*/ String auth = signature.getSinature(); String signa = signature.HmacSHA1Encrypt(auth, secretkey); httphead.addHeader(DATE, signature.Date); httphead.addHeader(AUTH, CSSP + accesskey + ":" + signa); //httphead.addHeader(AUTH_TOKEN, token); HttpResponse response = httpClient.execute(httphead); Header[] Headers = response.getAllHeaders(); for (Header Header : Headers) { headers.put(Header.getName(), Header.getValue()); } if (isMatch_2XX(response.getStatusLine().getStatusCode()))//2xx 401 { return new SwiftClientResponse(headers, response.getStatusLine().getStatusCode(), response.getStatusLine(), null, null); } else { logger.error("[get metadata for Container: error, StatusCode is ]" + response.getStatusLine().getStatusCode()); return new ExceptionHandle().ContainerExceptionHandle(response, headers); } }
From source file:net.ychron.unirestinst.http.HttpClientHelper.java
private HttpRequestBase prepareRequest(HttpRequest request, boolean async) { Object defaultHeaders = options.getOption(Option.DEFAULT_HEADERS); if (defaultHeaders != null) { @SuppressWarnings("unchecked") Set<Entry<String, String>> entrySet = ((Map<String, String>) defaultHeaders).entrySet(); for (Entry<String, String> entry : entrySet) { request.header(entry.getKey(), entry.getValue()); }/*from www . j a v a 2 s . c o m*/ } if (!request.getHeaders().containsKey(USER_AGENT_HEADER)) { request.header(USER_AGENT_HEADER, USER_AGENT); } if (!request.getHeaders().containsKey(ACCEPT_ENCODING_HEADER)) { request.header(ACCEPT_ENCODING_HEADER, "gzip"); } HttpRequestBase reqObj = null; String urlToRequest = null; try { URL url = new URL(request.getUrl()); URI uri = new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), URLDecoder.decode(url.getPath(), "UTF-8"), "", url.getRef()); urlToRequest = uri.toURL().toString(); if (url.getQuery() != null && !url.getQuery().trim().equals("")) { if (!urlToRequest.substring(urlToRequest.length() - 1).equals("?")) { urlToRequest += "?"; } urlToRequest += url.getQuery(); } else if (urlToRequest.substring(urlToRequest.length() - 1).equals("?")) { urlToRequest = urlToRequest.substring(0, urlToRequest.length() - 1); } } catch (Exception e) { throw new RuntimeException(e); } switch (request.getHttpMethod()) { case GET: reqObj = new HttpGet(urlToRequest); break; case POST: reqObj = new HttpPost(urlToRequest); break; case PUT: reqObj = new HttpPut(urlToRequest); break; case DELETE: reqObj = new HttpDeleteWithBody(urlToRequest); break; case PATCH: reqObj = new HttpPatchWithBody(urlToRequest); break; case OPTIONS: reqObj = new HttpOptions(urlToRequest); break; case HEAD: reqObj = new HttpHead(urlToRequest); break; } Set<Entry<String, List<String>>> entrySet = request.getHeaders().entrySet(); for (Entry<String, List<String>> entry : entrySet) { List<String> values = entry.getValue(); if (values != null) { for (String value : values) { reqObj.addHeader(entry.getKey(), value); } } } // Set body if (!(request.getHttpMethod() == HttpMethod.GET || request.getHttpMethod() == HttpMethod.HEAD)) { if (request.getBody() != null) { HttpEntity entity = request.getBody().getEntity(); if (async) { if (reqObj.getHeaders(CONTENT_TYPE) == null || reqObj.getHeaders(CONTENT_TYPE).length == 0) { reqObj.setHeader(entity.getContentType()); } try { ByteArrayOutputStream output = new ByteArrayOutputStream(); entity.writeTo(output); NByteArrayEntity en = new NByteArrayEntity(output.toByteArray()); ((HttpEntityEnclosingRequestBase) reqObj).setEntity(en); } catch (IOException e) { throw new RuntimeException(e); } } else { ((HttpEntityEnclosingRequestBase) reqObj).setEntity(entity); } } } return reqObj; }
From source file:com.dwdesign.tweetings.util.httpclient.HttpClientImpl.java
@Override public twitter4j.internal.http.HttpResponse request(final twitter4j.internal.http.HttpRequest req) throws TwitterException { try {/* www .ja va2s .c o m*/ HttpRequestBase commonsRequest; //final HostAddressResolver resolver = conf.getHostAddressResolver(); final String url_string = req.getURL(); final URL url_orig = new URL(url_string); final String host = url_orig.getHost(); //final String resolved_host = resolver != null ? resolver.resolve(host) : null; //final String resolved_url = resolved_host != null ? url_string.replace("://" + host, "://" + resolved_host) // : url_string; final String resolved_url = url_string; if (req.getMethod() == RequestMethod.GET) { commonsRequest = new HttpGet(resolved_url); } else if (req.getMethod() == RequestMethod.POST) { final HttpPost post = new HttpPost(resolved_url); // parameter has a file? boolean hasFile = false; if (req.getParameters() != null) { for (final HttpParameter parameter : req.getParameters()) { if (parameter.isFile()) { hasFile = true; break; } } if (!hasFile) { final ArrayList<NameValuePair> args = new ArrayList<NameValuePair>(); for (final HttpParameter parameter : req.getParameters()) { args.add(new BasicNameValuePair(parameter.getName(), parameter.getValue())); } if (args.size() > 0) { post.setEntity(new UrlEncodedFormEntity(args, "UTF-8")); } } else { final MultipartEntity me = new MultipartEntity(); for (final HttpParameter parameter : req.getParameters()) { if (parameter.isFile()) { final ContentBody body = new FileBody(parameter.getFile(), parameter.getContentType()); me.addPart(parameter.getName(), body); } else { final ContentBody body = new StringBody(parameter.getValue(), "text/plain; charset=UTF-8", Charset.forName("UTF-8")); me.addPart(parameter.getName(), body); } } post.setEntity(me); } } post.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false); commonsRequest = post; } else if (req.getMethod() == RequestMethod.DELETE) { commonsRequest = new HttpDelete(resolved_url); } else if (req.getMethod() == RequestMethod.HEAD) { commonsRequest = new HttpHead(resolved_url); } else if (req.getMethod() == RequestMethod.PUT) { commonsRequest = new HttpPut(resolved_url); } else throw new AssertionError(); final Map<String, String> headers = req.getRequestHeaders(); for (final String headerName : headers.keySet()) { commonsRequest.addHeader(headerName, headers.get(headerName)); } String authorizationHeader; if (req.getAuthorization() != null && (authorizationHeader = req.getAuthorization().getAuthorizationHeader(req)) != null) { commonsRequest.addHeader("Authorization", authorizationHeader); } //if (resolved_host != null && !host.equals(resolved_host)) { //commonsRequest.addHeader("Host", host); //} final ApacheHttpClientHttpResponseImpl res = new ApacheHttpClientHttpResponseImpl( client.execute(commonsRequest), conf); final int statusCode = res.getStatusCode(); if (statusCode < OK && statusCode > ACCEPTED) throw new TwitterException(res.asString(), res); return res; } catch (final IOException e) { throw new TwitterException(e); } }
From source file:com.sun.jersey.client.apache4.ApacheHttpClient4Handler.java
private HttpUriRequest getUriHttpRequest(final ClientRequest cr) { final String strMethod = cr.getMethod(); final URI uri = cr.getURI(); final Boolean bufferingEnabled = isBufferingEnabled(cr); final HttpEntity entity = getHttpEntity(cr, bufferingEnabled); final HttpUriRequest request; if (strMethod.equals("GET")) { request = new HttpGet(uri); } else if (strMethod.equals("POST")) { request = new HttpPost(uri); } else if (strMethod.equals("PUT")) { request = new HttpPut(uri); } else if (strMethod.equals("DELETE")) { request = new HttpDelete(uri); } else if (strMethod.equals("HEAD")) { request = new HttpHead(uri); } else if (strMethod.equals("OPTIONS")) { request = new HttpOptions(uri); } else {// w ww .j av a 2 s . c om request = new HttpEntityEnclosingRequestBase() { @Override public String getMethod() { return strMethod; } @Override public URI getURI() { return uri; } }; } if (entity != null && request instanceof HttpEntityEnclosingRequestBase) { ((HttpEntityEnclosingRequestBase) request).setEntity(entity); } else if (entity != null) { throw new ClientHandlerException( "Adding entity to http method " + cr.getMethod() + " is not supported."); } // Set the read timeout final Integer readTimeout = (Integer) cr.getProperties().get(ApacheHttpClient4Config.PROPERTY_READ_TIMEOUT); if (readTimeout != null) { request.getParams().setIntParameter(HttpConnectionParams.SO_TIMEOUT, readTimeout); } // Set chunk size final Integer chunkSize = (Integer) cr.getProperties().get(ClientConfig.PROPERTY_CHUNKED_ENCODING_SIZE); if (chunkSize != null && !bufferingEnabled) { client.getParams().setIntParameter(CoreConnectionPNames.MIN_CHUNK_LIMIT, chunkSize); } return request; }
From source file:com.floragunn.searchguard.HeaderAwareJestHttpClient.java
protected HttpUriRequest constructHttpMethod(final String methodName, final String url, final Object data) throws UnsupportedEncodingException { HttpUriRequest httpUriRequest = null; if (methodName.equalsIgnoreCase("POST")) { httpUriRequest = new HttpPost(url); log.debug("POST method created based on client request"); } else if (methodName.equalsIgnoreCase("PUT")) { httpUriRequest = new HttpPut(url); log.debug("PUT method created based on client request"); } else if (methodName.equalsIgnoreCase("DELETE")) { httpUriRequest = new HttpDeleteWithEntity(url); log.debug("DELETE method created based on client request"); } else if (methodName.equalsIgnoreCase("GET")) { httpUriRequest = new HttpGetWithEntity(url); log.debug("GET method created based on client request"); } else if (methodName.equalsIgnoreCase("HEAD")) { httpUriRequest = new HttpHead(url); log.debug("HEAD method created based on client request"); }//from w ww .j ava2s.c o m if (httpUriRequest != null && httpUriRequest instanceof HttpEntityEnclosingRequestBase && data != null) { ((HttpEntityEnclosingRequestBase) httpUriRequest) .setEntity(new StringEntity(createJsonStringEntity(data), entityEncoding)); } return httpUriRequest; }