List of usage examples for org.apache.http.client.methods HttpUriRequest getAllHeaders
Header[] getAllHeaders();
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()); } } }