Java Code Examples for org.apache.http.HttpResponse#getLastHeader()
The following examples show how to use
org.apache.http.HttpResponse#getLastHeader() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DigitalOceanClient.java From digitalocean-api-java with MIT License | 6 votes |
/** Easy method for HTTP header values (first/last) */ private String getSimpleHeaderValue(String header, HttpResponse httpResponse, boolean first) { if (StringUtils.isBlank(header)) { return StringUtils.EMPTY; } Header h; if (first) { h = httpResponse.getFirstHeader(header); } else { h = httpResponse.getLastHeader(header); } if (h == null) { return null; } return h.getValue(); }
Example 2
Source File: AptProxyFacet.java From nexus-repository-apt with Eclipse Public License 1.0 | 5 votes |
private DateTime getDateHeader(HttpResponse response, String name) { Header h = response.getLastHeader(name); if (h != null) { try { return new DateTime(DateUtils.parseDate(h.getValue()).getTime()); } catch (Exception ex) { log.warn("Invalid date '{}', will skip", h); } } return null; }
Example 3
Source File: AptProxyFacet.java From nexus-repository-apt with Eclipse Public License 1.0 | 5 votes |
private String getQuotedStringHeader(HttpResponse response, String name) { Header h = response.getLastHeader(name); if (h != null) { String value = h.getValue(); if (!Strings.isNullOrEmpty(value)) { if (value.startsWith("\"") && value.endsWith("\"")) { return value.substring(1, value.length() - 1); } else { return value; } } } return null; }
Example 4
Source File: AptProxyFacet.java From nexus-public with Eclipse Public License 1.0 | 5 votes |
private DateTime getDateHeader(final HttpResponse response, final String name) { Header h = response.getLastHeader(name); if (h != null) { try { return new DateTime(DateUtils.parseDate(h.getValue()).getTime()); } catch (Exception ex) { log.warn("Invalid date '{}', will skip. {}", h, log.isDebugEnabled() ? ex : null); } } return null; }
Example 5
Source File: AptProxyFacet.java From nexus-public with Eclipse Public License 1.0 | 5 votes |
private String getQuotedStringHeader(final HttpResponse response, final String name) { Header h = response.getLastHeader(name); if (h != null) { String value = h.getValue(); if (!Strings.isNullOrEmpty(value)) { if (value.startsWith("\"") && value.endsWith("\"")) { return value.substring(1, value.length() - 1); } else { return value; } } } return null; }
Example 6
Source File: ProxyFacetSupport.java From nexus-public with Eclipse Public License 1.0 | 5 votes |
/** * Extract Last-Modified date from response if possible, or {@code null}. */ @Nullable private DateTime extractLastModified(final HttpRequestBase request, final HttpResponse response) { final Header lastModifiedHeader = response.getLastHeader(HttpHeaders.LAST_MODIFIED); if (lastModifiedHeader != null) { try { return new DateTime(DateUtils.parseDate(lastModifiedHeader.getValue()).getTime()); } catch (Exception ex) { log.warn("Could not parse date '{}' received from {}; using system current time as item creation time", lastModifiedHeader, request.getURI()); } } return null; }
Example 7
Source File: ApiProxyServlet.java From onboard with Apache License 2.0 | 5 votes |
protected boolean doResponseRedirectOrNotModifiedLogic(HttpServletRequest servletRequest, HttpServletResponse servletResponse, HttpResponse proxyResponse, int statusCode) throws ServletException, IOException { // Check if the proxy response is a redirect // The following code is adapted from org.tigris.noodle.filters.CheckForRedirect if (statusCode >= HttpServletResponse.SC_MULTIPLE_CHOICES /* 300 */ && statusCode < HttpServletResponse.SC_NOT_MODIFIED /* 304 */) { Header locationHeader = proxyResponse.getLastHeader(HttpHeaders.LOCATION); if (locationHeader == null) { throw new ServletException("Received status code: " + statusCode + " but no " + HttpHeaders.LOCATION + " header was found in the response"); } // Modify the redirect to go to this proxy servlet rather that the proxied host String locStr = rewriteUrlFromResponse(servletRequest, locationHeader.getValue()); servletResponse.sendRedirect(locStr); return true; } // 304 needs special handling. See: // http://www.ics.uci.edu/pub/ietf/http/rfc1945.html#Code304 // We get a 304 whenever passed an 'If-Modified-Since' // header and the data on disk has not changed; server // responds w/ a 304 saying I'm not going to send the // body because the file has not changed. if (statusCode == HttpServletResponse.SC_NOT_MODIFIED) { servletResponse.setIntHeader(HttpHeaders.CONTENT_LENGTH, 0); servletResponse.setStatus(HttpServletResponse.SC_NOT_MODIFIED); return true; } return false; }
Example 8
Source File: ApacheHttpClientIT.java From uavstack with Apache License 2.0 | 4 votes |
/** * for http client * * @param args * @return */ public void doEnd(Object[] args) { Map<String, Object> params = new HashMap<String, Object>(); String server = ""; int rc = -1; String responseState = ""; if (Throwable.class.isAssignableFrom(args[0].getClass())) { Throwable e = (Throwable) args[0]; responseState = e.toString(); } else { HttpResponse response = (HttpResponse) args[0]; Header sheader = response.getLastHeader("Server"); if (sheader != null) { server = sheader.getValue(); } responseState = response.getStatusLine().getStatusCode() + ""; rc = 1; } if (logger.isDebugable()) { logger.debug("Invoke END:" + rc + "," + server, null); } params.put(CaptureConstants.INFO_CLIENT_TARGETSERVER, server); params.put(CaptureConstants.INFO_CLIENT_RESPONSECODE, rc); params.put(CaptureConstants.INFO_CLIENT_TYPE, "apache.http.Client"); params.put(CaptureConstants.INFO_CLIENT_APPID, this.applicationId); params.put(CaptureConstants.INFO_CLIENT_REQUEST_URL, targetURl); params.put(CaptureConstants.INFO_CLIENT_RESPONSESTATE, responseState); UAVServer.instance().runMonitorCaptureOnServerCapPoint(CaptureConstants.CAPPOINT_APP_CLIENT, Monitor.CapturePhase.DOCAP, params); if (ivcContextParams != null) { ivcContextParams.putAll(params); } UAVServer.instance().runSupporter("com.creditease.uav.apm.supporters.InvokeChainSupporter", "runCap", InvokeChainConstants.CHAIN_APP_CLIENT, InvokeChainConstants.CapturePhase.DOCAP, ivcContextParams, ApacheHttpClientAdapter.class, args); }
Example 9
Source File: ProxyFacetSupport.java From nexus-public with Eclipse Public License 1.0 | 4 votes |
protected Content fetch(String url, Context context, @Nullable Content stale) throws IOException { HttpClient client = httpClient.getHttpClient(); checkState(config.remoteUrl.isAbsolute(), "Invalid remote URL '%s' for proxy repository %s, please fix your configuration", config.remoteUrl, getRepository().getName()); URI uri; try { uri = config.remoteUrl.resolve(url); } catch (IllegalArgumentException e) { // NOSONAR log.warn("Unable to resolve url. Reason: {}", e.getMessage()); throw new BadRequestException("Invalid repository path"); } HttpRequestBase request = buildFetchHttpRequest(uri, context); if (stale != null) { final DateTime lastModified = stale.getAttributes().get(Content.CONTENT_LAST_MODIFIED, DateTime.class); if (lastModified != null) { request.addHeader(HttpHeaders.IF_MODIFIED_SINCE, DateUtils.formatDate(lastModified.toDate())); } final String etag = stale.getAttributes().get(Content.CONTENT_ETAG, String.class); if (etag != null) { request.addHeader(HttpHeaders.IF_NONE_MATCH, ETagHeaderUtils.quote(etag)); } } log.debug("Fetching: {}", request); HttpResponse response = execute(context, client, request); log.debug("Response: {}", response); StatusLine status = response.getStatusLine(); log.debug("Status: {}", status); mayThrowBypassHttpErrorException(response); final CacheInfo cacheInfo = getCacheController(context).current(); if (status.getStatusCode() == HttpStatus.SC_OK) { HttpEntity entity = response.getEntity(); log.debug("Entity: {}", entity); final Content result = createContent(context, response); result.getAttributes().set(Content.CONTENT_LAST_MODIFIED, extractLastModified(request, response)); final Header etagHeader = response.getLastHeader(HttpHeaders.ETAG); result.getAttributes().set(Content.CONTENT_ETAG, etagHeader == null ? null : ETagHeaderUtils.extract(etagHeader.getValue())); result.getAttributes().set(CacheInfo.class, cacheInfo); return result; } try { if (status.getStatusCode() == HttpStatus.SC_NOT_MODIFIED) { checkState(stale != null, "Received 304 without conditional GET (bad server?) from %s", uri); indicateVerified(context, stale, cacheInfo); } mayThrowProxyServiceException(response); } finally { HttpClientUtils.closeQuietly(response); } return null; }
Example 10
Source File: RemoteSystemClient.java From ghwatch with Apache License 2.0 | 4 votes |
private static String getHeaderValue(HttpResponse httpResponse, String headerName) { Header header = httpResponse.getLastHeader(headerName); if (header != null) return Utils.trimToNull(header.getValue()); return null; }