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

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

Introduction

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

Prototype

public abstract String getMethod();

Source Link

Usage

From source file:com.smartsheet.api.internal.http.DefaultHttpClient.java

/**
 * Log to the SLF4J logger (level based upon response status code). Override this function to add logging
 * or capture performance metrics.//from  w w w . j a v a2 s .c  o m
 *
 * @param request request
 * @param requestEntity request body
 * @param response response
 * @param responseEntity response body
 * @param durationMillis response time in ms
 * @throws IOException
 */
public void logRequest(HttpRequestBase request, HttpEntitySnapshot requestEntity, HttpResponse response,
        HttpEntitySnapshot responseEntity, long durationMillis) throws IOException {

    logger.info("{} {}, Response Code:{}, Request completed in {} ms", request.getMethod(), request.getURI(),
            response.getStatusCode(), durationMillis);
    if (response.getStatusCode() != 200) {
        // log the request and response on error
        logger.warn("{}",
                RequestAndResponseData.of(request, requestEntity, response, responseEntity, REQUEST_RESPONSE));
    } else {
        // log the summary request and response on success
        logger.debug("{}", RequestAndResponseData.of(request, requestEntity, response, responseEntity,
                REQUEST_RESPONSE_SUMMARY));
    }
}

From source file:me.buom.shiro.test.AppTest.java

private Header[] buildHeader(ApiKey apiKey, HttpRequestBase httpRequest, String contentType, String entity)
        throws Exception {

    String accessKey = apiKey.getAccessKey();
    String secretKey = apiKey.getSecretKey();

    String contentMd5 = entity != null ? DigestUtils.md5Hex(entity) : "";
    String dateString = dateFormatter.get().format(new Date());

    String stringToSign = String.format(Locale.US, "%s\n%s\n%s\n%s\n%s", httpRequest.getMethod(), contentMd5,
            contentType, dateString, httpRequest.getURI().getPath());

    byte[] hexHmac = HmacSha1.hash(secretKey, stringToSign);
    String base64Hmac = Base64.encodeToString(hexHmac);

    Header[] headers = new Header[] { new BasicHeader("Content-Type", contentType),
            new BasicHeader("Content-MD5", contentMd5), new BasicHeader("Date", dateString),
            new BasicHeader("Authorization", String.format(Locale.US, "AWS %s:%s", accessKey, base64Hmac)), };

    return headers;
}

From source file:com.intuit.tank.httpclient4.TankHttpClient4.java

private void sendRequest(BaseRequest request, @Nonnull HttpRequestBase method, String requestBody) {
    String uri = null;/*  ww  w . jav  a 2  s  . co m*/
    long waitTime = 0L;
    CloseableHttpResponse response = null;
    try {
        uri = method.getURI().toString();
        LOG.debug(request.getLogUtil().getLogMessage(
                "About to " + method.getMethod() + " request to " + uri + " with requestBody  " + requestBody,
                LogEventType.Informational));
        List<String> cookies = new ArrayList<String>();
        if (context.getCookieStore().getCookies() != null) {
            for (Cookie cookie : context.getCookieStore().getCookies()) {
                cookies.add("REQUEST COOKIE: " + cookie.toString());
            }
        }
        request.logRequest(uri, requestBody, method.getMethod(), request.getHeaderInformation(), cookies,
                false);
        setHeaders(request, method, request.getHeaderInformation());
        long startTime = System.currentTimeMillis();
        request.setTimestamp(new Date(startTime));
        response = httpclient.execute(method, context);

        // read response body
        byte[] responseBody = new byte[0];
        // check for no content headers
        if (response.getStatusLine().getStatusCode() != 203 && response.getStatusLine().getStatusCode() != 202
                && response.getStatusLine().getStatusCode() != 204) {
            try {
                InputStream httpInputStream = response.getEntity().getContent();
                responseBody = IOUtils.toByteArray(httpInputStream);
            } catch (Exception e) {
                LOG.warn("could not get response body: " + e);
            }
        }
        long endTime = System.currentTimeMillis();
        processResponse(responseBody, startTime, endTime, request, response.getStatusLine().getReasonPhrase(),
                response.getStatusLine().getStatusCode(), response.getAllHeaders());
        waitTime = endTime - startTime;
    } catch (Exception ex) {
        LOG.error(request.getLogUtil().getLogMessage(
                "Could not do " + method.getMethod() + " to url " + uri + " |  error: " + ex.toString(),
                LogEventType.IO), ex);
        throw new RuntimeException(ex);
    } finally {
        try {
            method.releaseConnection();
            if (response != null) {
                response.close();
            }
        } catch (Exception e) {
            LOG.warn("Could not release connection: " + e, e);
        }
        if (method.getMethod().equalsIgnoreCase("post")
                && request.getLogUtil().getAgentConfig().getLogPostResponse()) {
            LOG.info(request.getLogUtil()
                    .getLogMessage("Response from POST to " + request.getRequestUrl() + " got status code "
                            + request.getResponse().getHttpCode() + " BODY { " + request.getResponse().getBody()
                            + " }", LogEventType.Informational));
        }
    }
    if (waitTime != 0) {
        doWaitDueToLongResponse(request, waitTime, uri);
    }
}

From source file:mobi.jenkinsci.ci.JenkinsCIPlugin.java

protected byte[] retrieveUrl(final String userAgent, final String linkUrl,
        final HashMap<String, HeaderElement[]> contentHeaders, final Object ctx) throws Exception {
    final JenkinsClient client = (JenkinsClient) ctx;
    final HttpRequestBase get = getNewHttpRequest(null, linkUrl);
    if (userAgent != null) {
        get.setHeader("User-Agent", userAgent);
    }/*from w w w. ja v a2  s. c o m*/
    final HttpResponse response = client.http.execute(get);
    try {
        final int status = response.getStatusLine().getStatusCode();
        if (status != HttpURLConnection.HTTP_OK) {
            throw new IOException("HTTP- " + get.getMethod() + " " + linkUrl + " returned status " + status);
        }

        if (contentHeaders != null) {
            for (final Header header : response.getAllHeaders()) {
                contentHeaders.put(header.getName(), header.getElements());
            }
        }

        final ByteArrayOutputStream out = new ByteArrayOutputStream();
        final InputStream content = response.getEntity().getContent();
        IOUtils.copy(content, out);
        content.close();
        return out.toByteArray();
    } finally {
        get.releaseConnection();
    }
}

From source file:com.kappaware.logtrawler.output.httpclient.HttpClient.java

public String exec(HttpRequestBase request, ContentType contentType, String requestData, List<Header> headers)
        throws HttpClientException {
    if (headers != null) {
        for (Header h : headers) {
            request.setHeader(h);/*from  w  w  w  . j  av  a  2s . c  o  m*/
        }
    }
    if (requestData != null) {
        ((HttpEntityEnclosingRequestBase) request).setEntity(new StringEntity(requestData, contentType));
    }
    CloseableHttpResponse response = null;
    try {
        response = httpclient.execute(request);
        int statusCode = response.getStatusLine().getStatusCode();
        if (statusCode == 404 && this.on404 == On404.NULL_ON_GET && request.getMethod().equals("GET")) {
            return null;
        }
        if (statusCode >= 200 && statusCode < 300) {
            return getEntity(response);
        } else {
            request.getURI();
            throw new HttpClientException("Unexpected HTTP Response code", request.getMethod(),
                    request.getURI(), requestData, response.getStatusLine().getStatusCode(),
                    response.getStatusLine().getReasonPhrase(), getEntity(response));
        }
    } catch (Exception e) {
        if (e instanceof HttpClientException) {
            throw (HttpClientException) e;
        } else {
            throw new HttpClientException("Exception in HTTP Client", request.getMethod(), request.getURI(),
                    requestData, e);
        }
    } finally {
        if (response != null) {
            try {
                response.close();
            } catch (IOException e) {
            }
        }
    }
}

From source file:mobi.jenkinsci.ci.JenkinsCIPlugin.java

@Override
public RawBinaryNode download(final HttpServletRequest req, final String url, final Account account,
        final PluginConfig pluginConf) throws IOException {
    final JenkinsClient client = JenkinsClient.getInstance(account, pluginConf);
    final HttpRequestBase get = getNewHttpRequest(req, url);
    final ByteArrayOutputStream out = new ByteArrayOutputStream();
    final RawBinaryNode result = new RawBinaryNode();
    try {/*from  w w  w. j a v  a  2s.  c  om*/
        final HttpResponse response = client.http.execute(get);

        final StatusLine status = response.getStatusLine();
        if (status.getStatusCode() != HttpURLConnection.HTTP_OK) {
            throw new IOException("HTTP-" + get.getMethod() + " " + url + " failed: status code " + status);
        }
        IOUtils.copy(response.getEntity().getContent(), out);
        for (final Header h : response.getAllHeaders()) {
            final String headerName = h.getName();
            if (headerName.equalsIgnoreCase(HttpHeaders.CONTENT_TYPE)) {
                result.setHttpContentType(h.getValue());
            } else if (headerName.equalsIgnoreCase(HttpHeaders.CONTENT_LENGTH)) {
                result.setSize(Long.parseLong(h.getValue()));
            } else if (headerName.equalsIgnoreCase(HttpHeaders.CONTENT_ENCODING)) {
                result.setHttpCharacterEncoding(h.getValue());
            }
        }
    } finally {
        get.releaseConnection();
    }
    result.setData(new ByteArrayInputStream(out.toByteArray()));
    return result;
}

From source file:net.community.chest.gitcloud.facade.frontend.git.GitController.java

private StatusLine executeRemoteRequest(HttpRequestBase request, HttpServletRequest req,
        HttpServletResponse rsp) throws IOException {
    copyRequestHeadersValues(req, request);

    final CloseableHttpResponse response;
    if (HttpPost.METHOD_NAME.equalsIgnoreCase(request.getMethod())) {
        response = transferPostedData((HttpEntityEnclosingRequestBase) request, req);
    } else {// w  w  w.  jav  a 2s .c  om
        response = client.execute(request);
    }

    try {
        HttpEntity rspEntity = response.getEntity();
        StatusLine statusLine = response.getStatusLine();
        int statusCode = statusLine.getStatusCode();
        if ((statusCode < HttpServletResponse.SC_OK) || (statusCode >= 300)) {
            String reason = StringUtils.trimToEmpty(statusLine.getReasonPhrase());
            logger.warn("executeRemoteRequest(" + req.getMethod() + ")[" + req.getRequestURI() + "]["
                    + req.getQueryString() + "]" + " bad response (" + statusCode + ") from remote end: "
                    + reason);
            EntityUtils.consume(rspEntity);
            rsp.sendError(statusCode, reason);
        } else {
            rsp.setStatus(statusCode);

            copyResponseHeadersValues(req, response, rsp);
            transferBackendResponse(req, rspEntity, rsp);
        }

        return statusLine;
    } finally {
        response.close();
    }
}