Example usage for org.apache.http.client.methods HttpUriRequest getAllHeaders

List of usage examples for org.apache.http.client.methods HttpUriRequest getAllHeaders

Introduction

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

Prototype

Header[] getAllHeaders();

Source Link

Usage

From source file:pl.openrnd.connection.rest.ConnectionHandler.java

/**
 * Handles provided request and returns response related to it.
 *
 * The method creates a log if logging mechanism is enabled.
 *
 * Request is executed in a caller thread.
 *
 * @param request Request object/*  w w  w .jav a2s .  co m*/
 * @return Response object
 */
public Response handleRequest(Request request) {
    Response result = null;

    int requestNumber = mRequestCounter++;
    Timer timer = null;

    HttpEntity httpEntity = null;
    InputStream inputStream = null;
    RestConnectionLog.Builder builder = null;
    if (mConnectionLogger.areLogsEnabled()) {
        builder = new RestConnectionLog.Builder();
        builder.request(request);
    }

    Log.d(TAG,
            String.format("handleRequest(%d): ---> [%s]", requestNumber, request.getClass().getSimpleName()));

    try {
        HttpUriRequest httpUriRequest = request.getHttpUriRequest();

        Log.d(TAG,
                String.format("handleRequest(%d): uri[%s]", requestNumber, httpUriRequest.getURI().toString()));

        logHeaders(requestNumber, httpUriRequest.getAllHeaders());

        HttpResponse httpResponse;

        timer = startRequestTimer(request);
        if (builder != null) {
            builder.request(httpUriRequest);

            httpResponse = execute(httpUriRequest, request.getConnectionTimeout(), request.getReadTimeout());

            builder.response(httpResponse);
        } else {
            httpResponse = execute(httpUriRequest, request.getConnectionTimeout(), request.getReadTimeout());
        }
        stopRequestTimer(timer);

        int statusCode = httpResponse.getStatusLine().getStatusCode();
        String reasonPhrase = httpResponse.getStatusLine().getReasonPhrase();

        Log.d(TAG, String.format("handleRequest(%d): http response[%d / %s]", requestNumber, statusCode,
                reasonPhrase));

        logHeaders(requestNumber, httpResponse.getAllHeaders());

        httpEntity = httpResponse.getEntity();
        inputStream = httpEntity.getContent();

        boolean isStatusCodeSupported = request.supportsAllStatusCodes();

        if (!isStatusCodeSupported) {
            int[] supportedStatusCodes = request.getSupportedStatusCodes();
            for (int supportedStatusCode : supportedStatusCodes) {
                if (statusCode == supportedStatusCode) {
                    isStatusCodeSupported = true;
                    break;
                }
            }
        }

        if (isStatusCodeSupported) {
            result = request.getResponse(statusCode, reasonPhrase, httpResponse.getAllHeaders(), inputStream);
        } else {
            throw new UnsupportedResponseException(statusCode, reasonPhrase, httpResponse.getAllHeaders(),
                    inputStream);
        }
    } catch (Exception exc) {
        Log.e(TAG, String.format("handleRequest(%d): ", requestNumber), exc);

        stopRequestTimer(timer);

        result = request.getResponse(exc);
    } finally {
        if (httpEntity != null) {
            try {
                httpEntity.consumeContent();
            } catch (Exception exc) {
                Log.e(TAG, String.format("handleRequest(%d): ", requestNumber), exc);
            }
        }

        if (inputStream != null) {
            try {
                inputStream.close();
            } catch (Exception exc) {
                Log.e(TAG, String.format("handleRequest(%d): ", requestNumber), exc);
            }
        }
    }

    if (builder != null) {
        builder.cookies(mCookieStore);
        builder.response(result);

        mConnectionLogger.addConnectionLog(builder.build());
    }

    Log.d(TAG, String.format("handleRequest(%d): <---", requestNumber));

    return result;
}

From source file:com.mutu.gpstracker.breadcrumbs.DownloadBreadcrumbsTrackTask.java

/**
 * Retrieve the OAuth Request Token and present a browser to the user to
 * authorize the token./*w w w .  j a v a2s.  co  m*/
 */
@Override
protected Uri doInBackground(Uri... params) {
    determineProgressGoal(null);

    Uri trackUri = null;
    String trackName = mAdapter.getBreadcrumbsTracks().getValueForItem(mTrack, BreadcrumbsTracks.NAME);
    HttpEntity responseEntity = null;
    try {
        HttpUriRequest request = new HttpGet(
                "http://api.gobreadcrumbs.com/v1/tracks/" + mTrack.second + "/placemarks.gpx");
        if (isCancelled()) {
            throw new IOException("Fail to execute request due to canceling");
        }
        mConsumer.sign(request);
        if (BreadcrumbsAdapter.DEBUG) {
            Log.d(TAG, "Execute request: " + request.getURI());
            for (Header header : request.getAllHeaders()) {
                Log.d(TAG, "   with header: " + header.toString());
            }
        }
        HttpResponse response = mHttpclient.execute(request);
        responseEntity = response.getEntity();
        InputStream is = responseEntity.getContent();
        InputStream stream = new BufferedInputStream(is, 8192);
        if (BreadcrumbsAdapter.DEBUG) {
            stream = XmlCreator.convertStreamToLoggedStream(TAG, stream);
        }
        trackUri = importTrack(stream, trackName);
    } catch (OAuthMessageSignerException e) {
        handleError(e, mContext.getString(R.string.error_importgpx_xml));
    } catch (OAuthExpectationFailedException e) {
        handleError(e, mContext.getString(R.string.error_importgpx_xml));
    } catch (OAuthCommunicationException e) {
        handleError(e, mContext.getString(R.string.error_importgpx_xml));
    } catch (IOException e) {
        handleError(e, mContext.getString(R.string.error_importgpx_xml));
    } finally {
        if (responseEntity != null) {
            try {
                //EntityUtils.consume(responseEntity);
                responseEntity.consumeContent();
            } catch (IOException e) {
                Log.e(TAG, "Failed to close the content stream", e);
            }
        }
    }
    return trackUri;
}

From source file:com.shenit.commons.utils.HttpUtils.java

/**
 * ?//ww  w  . j  av a  2  s.c o  m
 * 
 * @param req
 * @return
 */
public static String dumpRequest(HttpUriRequest req) {
    if (req == null)
        return null;
    char column = ':', rtn = '\n', space = ' ';
    StringBuilder builder = new StringBuilder(req.getMethod());
    builder.append(space).append(req.getURI()).append(space).append(req.getProtocolVersion()).append(rtn)
            .append(rtn);
    builder.append("HEADERS:\n");
    Header[] headers = req.getAllHeaders();
    int length = headers.length;
    for (int i = 0; i < length; i++) {
        builder.append(headers[i].getName()).append(column).append(headers[i].getValue()).append(rtn);
    }
    if (req instanceof HttpPost || req instanceof HttpPut) {
        builder.append(rtn);
        builder.append("BODY:\n");
        if (null != ((HttpPost) req).getEntity()) {
            BufferedReader reader = null;
            try {
                InputStreamReader isReader = new InputStreamReader(((HttpPost) req).getEntity().getContent());
                reader = new BufferedReader(isReader);
                String line;
                while ((line = reader.readLine()) != null) {
                    builder.append(line);
                }
            } catch (IllegalStateException | IOException e) {
                if (LOG.isWarnEnabled())
                    LOG.warn("[dumpRequest] Could not read request due to exception", e);
            } finally {
                if (reader != null)
                    try {
                        reader.close();
                    } catch (IOException e) {
                        if (LOG.isWarnEnabled())
                            LOG.warn("[dumpRequest] could not close reader due to exception", e);
                    }
            }
        }
    }
    return builder.toString();
}

From source file:anhttpclient.impl.DefaultWebBrowser.java

/**
 * Execute specified request//from  w  ww  .  ja  va  2  s  . c  o  m
 *
 * @param httpUriRequest request to execute
 * @return code of http response
 * @throws java.io.IOException if errors occurs during request
 * @throws java.net.SocketTimeoutException if timeout occurs see params
 *          settings in {@link #setDefaultMethodParams} method
 */
private HttpResponse executeMethod(HttpUriRequest httpUriRequest) throws IOException {
    if (log.isDebugEnabled()) {
        for (Header header : httpUriRequest.getAllHeaders()) {
            log.debug(String.format("ANHTTPCLIENT. Request header: [%s: %s]", header.getName(),
                    header.getValue()));
        }
    }

    HttpContext localContext = new BasicHttpContext();
    localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
    return httpClient.execute(httpUriRequest, localContext);
}

From source file:com.mutu.gpstracker.breadcrumbs.GetBreadcrumbsTracksTask.java

/**
 * Retrieve the OAuth Request Token and present a browser to the user to
 * authorize the token.//from   w w w  .j a va2s . c  o  m
 */
@Override
protected Void doInBackground(Void... params) {
    mTracks = new LinkedList<Object[]>();
    HttpEntity responseEntity = null;
    try {

        HttpUriRequest request = new HttpGet(
                "http://api.gobreadcrumbs.com/v1/bundles/" + mBundleId + "/tracks.xml");
        if (isCancelled()) {
            throw new IOException("Fail to execute request due to canceling");
        }
        mConsumer.sign(request);
        if (BreadcrumbsAdapter.DEBUG) {
            Log.d(TAG, "Execute request: " + request.getURI());
            for (Header header : request.getAllHeaders()) {
                Log.d(TAG, "   with header: " + header.toString());
            }
        }
        HttpResponse response = mHttpclient.execute(request);
        responseEntity = response.getEntity();
        InputStream is = responseEntity.getContent();
        InputStream stream = new BufferedInputStream(is, 8192);
        if (BreadcrumbsAdapter.DEBUG) {
            stream = XmlCreator.convertStreamToLoggedStream(TAG, stream);
        }

        XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        factory.setNamespaceAware(true);
        XmlPullParser xpp = factory.newPullParser();
        xpp.setInput(stream, "UTF-8");

        String tagName = null;
        int eventType = xpp.getEventType();

        String trackName = null, description = null, difficulty = null, startTime = null, endTime = null,
                trackRating = null, isPublic = null;
        Integer trackId = null, bundleId = null, totalTime = null;
        Float lat = null, lng = null, totalDistance = null;
        while (eventType != XmlPullParser.END_DOCUMENT) {
            if (eventType == XmlPullParser.START_TAG) {
                tagName = xpp.getName();
            } else if (eventType == XmlPullParser.END_TAG) {
                if ("track".equals(xpp.getName()) && trackId != null && bundleId != null) {
                    mTracks.add(new Object[] { trackId, trackName, bundleId, description, difficulty, startTime,
                            endTime, isPublic, lat, lng, totalDistance, totalTime, trackRating });
                }
                tagName = null;
            } else if (eventType == XmlPullParser.TEXT) {
                if ("bundle-id".equals(tagName)) {
                    bundleId = Integer.parseInt(xpp.getText());
                } else if ("description".equals(tagName)) {
                    description = xpp.getText();
                } else if ("difficulty".equals(tagName)) {
                    difficulty = xpp.getText();
                } else if ("start-time".equals(tagName)) {
                    startTime = xpp.getText();
                } else if ("end-time".equals(tagName)) {
                    endTime = xpp.getText();
                } else if ("id".equals(tagName)) {
                    trackId = Integer.parseInt(xpp.getText());
                } else if ("is-public".equals(tagName)) {
                    isPublic = xpp.getText();
                } else if ("lat".equals(tagName)) {
                    lat = Float.parseFloat(xpp.getText());
                } else if ("lng".equals(tagName)) {
                    lng = Float.parseFloat(xpp.getText());
                } else if ("name".equals(tagName)) {
                    trackName = xpp.getText();
                } else if ("track-rating".equals(tagName)) {
                    trackRating = xpp.getText();
                }
            }
            eventType = xpp.next();
        }
    } catch (OAuthMessageSignerException e) {
        mService.removeAuthentication();
        handleError(mContext.getString(R.string.taskerror_breadcrumbs_track), e,
                "Failed to sign the request with authentication signature");
    } catch (OAuthExpectationFailedException e) {
        mService.removeAuthentication();
        handleError(mContext.getString(R.string.taskerror_breadcrumbs_track), e,
                "The request did not authenticate");
    } catch (OAuthCommunicationException e) {
        mService.removeAuthentication();
        handleError(mContext.getString(R.string.taskerror_breadcrumbs_track), e,
                "The authentication communication failed");
    } catch (IOException e) {
        handleError(mContext.getString(R.string.taskerror_breadcrumbs_track), e,
                "A problem during communication");
    } catch (XmlPullParserException e) {
        handleError(mContext.getString(R.string.taskerror_breadcrumbs_track), e,
                "A problem while reading the XML data");
    } finally {
        if (responseEntity != null) {
            try {
                //EntityUtils.consume(responseEntity);
                responseEntity.consumeContent();
            } catch (IOException e) {
                Log.e(TAG, "Failed to close the content stream", e);
            }
        }
    }
    return null;
}

From source file:org.obiba.opal.rest.client.magma.OpalJavaClient.java

private HttpResponse execute(HttpUriRequest msg) throws IOException {
    msg.addHeader("Accept", "application/x-protobuf, text/html");
    authenticate(msg);/*from ww w. j  a  v  a2 s  .  c o m*/
    log.debug("{} {}", msg.getMethod(), msg.getURI());
    if (log.isTraceEnabled()) {
        for (Header allHeader : msg.getAllHeaders()) {
            log.trace("  {} {}", allHeader.getName(), allHeader.getValue());
        }
    }
    try {
        return getClient().execute(msg, ctx);
    } finally {
        cleanupCache();
    }
}

From source file:edu.isi.misd.tagfiler.client.JakartaClient.java

synchronized private void debug(HttpUriRequest request) {
    Header headers[] = request.getAllHeaders();
    for (int i = 0; i < headers.length; i++) {
        try {//from  w w  w .j  a  v a2s  .  co m
            System.out.println(headers[i].getName() + ": " + URLDecoder.decode(headers[i].getValue(), "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

From source file:com.socialize.provider.BaseSocializeProvider.java

private HttpResponse executeRequest(HttpClient client, HttpUriRequest request) throws IOException {

    if (logger != null && logger.isDebugEnabled()) {

        StringBuilder builder = new StringBuilder();
        Header[] allHeaders = request.getAllHeaders();

        for (Header header : allHeaders) {
            builder.append(header.getName());
            builder.append(":");
            builder.append(header.getValue());
            builder.append("\n");
        }//from   ww w . j  a  v  a  2 s  .c  o m

        if (logger.isDebugEnabled()) {
            logger.debug(
                    "REQUEST \nurl:[" + request.getURI().toString() + "] \nheaders:\n" + builder.toString());

        }

        if (request instanceof HttpPost) {
            HttpPost post = (HttpPost) request;
            HttpEntity entity = post.getEntity();
            String requestData = ioUtils.readSafe(entity.getContent());

            if (logger.isDebugEnabled()) {
                logger.debug("REQUEST \ndata:[" + requestData + "]");
            }
        }
    }

    return client.execute(request);
}

From source file:org.dasein.cloud.ibm.sce.SCEMethod.java

public @Nullable Document getAsXML(@Nonnull URI uri, @Nonnull String resource)
        throws CloudException, InternalException {
    Logger std = SCE.getLogger(SCEMethod.class, "std");
    Logger wire = SCE.getLogger(SCEMethod.class, "wire");

    if (std.isTraceEnabled()) {
        std.trace("enter - " + SCEMethod.class.getName() + ".get(" + uri + ")");
    }/*www .  j a va  2s  .  c  om*/
    if (wire.isDebugEnabled()) {
        wire.debug("--------------------------------------------------------> " + uri.toASCIIString());
        wire.debug("");
    }
    try {
        HttpClient client = getClient();
        HttpUriRequest get = new HttpGet(uri);

        get.addHeader("Accept", "text/xml");
        if (wire.isDebugEnabled()) {
            wire.debug(get.getRequestLine().toString());
            for (Header header : get.getAllHeaders()) {
                wire.debug(header.getName() + ": " + header.getValue());
            }
            wire.debug("");
        }
        HttpResponse response;
        StatusLine status;

        try {
            APITrace.trace(provider, resource);
            response = client.execute(get);
            status = response.getStatusLine();
        } catch (IOException e) {
            std.error("get(): Failed to execute HTTP request due to a cloud I/O error: " + e.getMessage());
            if (std.isTraceEnabled()) {
                e.printStackTrace();
            }
            throw new CloudException(e);
        }
        if (std.isDebugEnabled()) {
            std.debug("get(): HTTP Status " + status);
        }
        Header[] headers = response.getAllHeaders();

        if (wire.isDebugEnabled()) {
            wire.debug(status.toString());
            for (Header h : headers) {
                if (h.getValue() != null) {
                    wire.debug(h.getName() + ": " + h.getValue().trim());
                } else {
                    wire.debug(h.getName() + ":");
                }
            }
            wire.debug("");
        }
        if (status.getStatusCode() == HttpServletResponse.SC_NOT_FOUND) {
            return null;
        }
        if (status.getStatusCode() != HttpServletResponse.SC_OK
                && status.getStatusCode() != HttpServletResponse.SC_NON_AUTHORITATIVE_INFORMATION) {
            std.error("get(): Expected OK for GET request, got " + status.getStatusCode());

            HttpEntity entity = response.getEntity();
            String body;

            if (entity == null) {
                throw new SCEException(CloudErrorType.GENERAL, status.getStatusCode(), status.getReasonPhrase(),
                        "An error was returned without explanation");
            }
            try {
                body = EntityUtils.toString(entity);
            } catch (IOException e) {
                throw new SCEException(CloudErrorType.GENERAL, status.getStatusCode(), status.getReasonPhrase(),
                        e.getMessage());
            }
            if (wire.isDebugEnabled()) {
                wire.debug(body);
            }
            wire.debug("");
            throw new SCEException(CloudErrorType.GENERAL, status.getStatusCode(), status.getReasonPhrase(),
                    body);
        } else {
            HttpEntity entity = response.getEntity();

            if (entity == null) {
                return null;
            }
            InputStream input;

            try {
                input = entity.getContent();
            } catch (IOException e) {
                std.error("get(): Failed to read response error due to a cloud I/O error: " + e.getMessage());
                if (std.isTraceEnabled()) {
                    e.printStackTrace();
                }
                throw new CloudException(e);
            }
            return parseResponse(input, true);
        }
    } finally {
        if (std.isTraceEnabled()) {
            std.trace("exit - " + SCEMethod.class.getName() + ".getStream()");
        }
        if (wire.isDebugEnabled()) {
            wire.debug("");
            wire.debug("--------------------------------------------------------> " + uri.toASCIIString());
        }
    }
}