Example usage for org.apache.http.client.methods HttpHead HttpHead

List of usage examples for org.apache.http.client.methods HttpHead HttpHead

Introduction

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

Prototype

public HttpHead(final String uri) 

Source Link

Usage

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;
}