List of usage examples for org.apache.http.impl.cookie DateUtils parseDate
public static Date parseDate(final String dateValue) throws DateParseException
From source file:com.stargame.ad.util.cache.AbCacheHeaderParser.java
/** * ???.//w w w.ja va 2 s . c o m * * @param response * the response * @return the ab cache. entry */ public static AbDiskCache.Entry parseCacheHeaders(AbCacheResponse response) { Map<String, String> headers = response.headers; long serverTimeMillis = 0; long expiredTimeMillis = 0; long maxAge = 0; boolean hasCacheControl = false; String serverEtag = null; String headerValue; // ?? headerValue = headers.get("Date"); if (headerValue != null) { try { serverTimeMillis = DateUtils.parseDate(headerValue).getTime(); } catch (Exception e) { e.printStackTrace(); serverTimeMillis = System.currentTimeMillis(); } } // Cache-Control? headerValue = headers.get("Cache-Control"); if (headerValue != null) { hasCacheControl = true; String[] tokens = headerValue.split(","); for (int i = 0; i < tokens.length; i++) { String token = tokens[i].trim(); if (token.equals("no-cache") || token.equals("no-store")) { return null; } else if (token.startsWith("max-age=")) { try { maxAge = Long.parseLong(token.substring(8)); } catch (Exception e) { } } else if (token.equals("must-revalidate") || token.equals("proxy-revalidate")) { maxAge = 0; } } } serverEtag = headers.get("ETag"); if (hasCacheControl) { expiredTimeMillis = serverTimeMillis + maxAge; } AbDiskCache.Entry entry = new AbDiskCache.Entry(); entry.data = response.data; entry.etag = serverEtag; entry.serverTimeMillis = serverTimeMillis; entry.expiredTimeMillis = expiredTimeMillis; entry.responseHeaders = headers; return entry; }
From source file:org.mcsoxford.rss.Dates.java
/** * Parses string as an RFC 822 date/time. * /* www .j a va2 s. co m*/ * @throws RSSFault if the string is not a valid RFC 822 date/time */ static java.util.Date parseRfc822(String date) { /* try { return RFC822.parse(date); } catch (ParseException e) { //throw new RSSFault(e); return null; } */ try { // The apache one's more reliable.. Android below 4.2 has some issue parsing dates with SimpleDateFormat return DateUtils.parseDate(date); } catch (DateParseException dpe) { throw new RSSFault(dpe); } }
From source file:com.ab.cache.AbCacheHeaderParser.java
/** * ???./*from ww w .ja va 2 s . c om*/ * * @param response the response * @return the ab cache. entry */ public static AbDiskCache.Entry parseCacheHeaders(AbCacheResponse response) { Map<String, String> headers = response.headers; long serverTimeMillis = 0; long expiredTimeMillis = 0; long maxAge = 0; boolean hasCacheControl = false; String serverEtag = null; String headerValue; //?? headerValue = headers.get("Date"); if (headerValue != null) { try { serverTimeMillis = DateUtils.parseDate(headerValue).getTime(); } catch (Exception e) { e.printStackTrace(); serverTimeMillis = System.currentTimeMillis(); } } //Cache-Control? headerValue = headers.get("Cache-Control"); if (headerValue != null) { hasCacheControl = true; String[] tokens = headerValue.split(","); for (int i = 0; i < tokens.length; i++) { String token = tokens[i].trim(); if (token.equals("no-cache") || token.equals("no-store")) { return null; } else if (token.startsWith("max-age=")) { try { maxAge = Long.parseLong(token.substring(8)); } catch (Exception e) { } } else if (token.equals("must-revalidate") || token.equals("proxy-revalidate")) { maxAge = 0; } } } serverEtag = headers.get("ETag"); if (hasCacheControl) { expiredTimeMillis = serverTimeMillis + maxAge; } AbDiskCache.Entry entry = new AbDiskCache.Entry(); entry.data = response.data; entry.etag = serverEtag; entry.serverTimeMillis = serverTimeMillis; entry.expiredTimeMillis = expiredTimeMillis; entry.responseHeaders = headers; return entry; }
From source file:com.micro.cache.MicroCacheHeaderParser.java
/** * ???./*from w w w . j a v a 2 s.com*/ * * @param response the response * @return the ab cache. entry */ public static MicroDiskCache.Entry parseCacheHeaders(MicroCacheResponse response) { Map<String, String> headers = response.headers; long serverTimeMillis = 0; long expiredTimeMillis = 0; long maxAge = 0; boolean hasCacheControl = false; String serverEtag = null; String headerValue; //?? headerValue = headers.get("Date"); if (headerValue != null) { try { serverTimeMillis = DateUtils.parseDate(headerValue).getTime(); } catch (Exception e) { e.printStackTrace(); serverTimeMillis = System.currentTimeMillis(); } } //Cache-Control? headerValue = headers.get("Cache-Control"); if (headerValue != null) { hasCacheControl = true; String[] tokens = headerValue.split(","); for (int i = 0; i < tokens.length; i++) { String token = tokens[i].trim(); if (token.equals("no-cache") || token.equals("no-store")) { return null; } else if (token.startsWith("max-age=")) { try { maxAge = Long.parseLong(token.substring(8)); } catch (Exception e) { } } else if (token.equals("must-revalidate") || token.equals("proxy-revalidate")) { maxAge = 0; } } } serverEtag = headers.get("ETag"); if (hasCacheControl) { expiredTimeMillis = serverTimeMillis + maxAge; } MicroDiskCache.Entry entry = new MicroDiskCache.Entry(); entry.data = response.data; entry.etag = serverEtag; entry.serverTimeMillis = serverTimeMillis; entry.expiredTimeMillis = expiredTimeMillis; entry.responseHeaders = headers; return entry; }
From source file:cn.org.eshow.framwork.cache.AbCacheHeaderParser.java
/** * ???.// w ww . j a v a2 s .co m * @param response * @param cacheMaxAge * @return */ public static AbDiskCache.Entry parseCacheHeaders(AbCacheResponse response, long cacheMaxAge) { //{andbase=HTTP/1.1 200 OK, ETag="620e0d-dae-4f5d6331a2300", Date=Fri, 26 Jun 2015 02:17:54 GMT, //Content-Length=3502, Last-Modified=Sun, 30 Mar 2014 17:23:56 GMT, X-Android-Received-Millis=1435285072907, //Keep-Alive=timeout=15, max=100, Content-Type=image/png, Connection=Keep-Alive, Accept-Ranges=bytes, //Server=Apache, Cache-Control=max-age=600000, X-Android-Sent-Millis=1435285072809} Map<String, String> headers = response.headers; long serverTimeMillis = 0; long expiredTimeMillis = 0; long maxAge = 0; boolean hasCacheControl = false; String serverEtag = null; String headerValue; //?? headerValue = headers.get("Date"); if (headerValue != null) { try { serverTimeMillis = DateUtils.parseDate(headerValue).getTime(); } catch (Exception e) { e.printStackTrace(); } } //???? if (serverTimeMillis == 0 || serverTimeMillis < System.currentTimeMillis()) { serverTimeMillis = System.currentTimeMillis(); } //Cache-Control? headerValue = headers.get("Cache-Control"); if (headerValue != null) { hasCacheControl = true; String[] tokens = headerValue.split(","); for (int i = 0; i < tokens.length; i++) { String token = tokens[i].trim(); if (token.equals("no-cache") || token.equals("no-store")) { break; } else if (token.startsWith("max-age=")) { try { maxAge = Long.parseLong(token.substring(8)); } catch (Exception e) { } } else if (token.equals("must-revalidate") || token.equals("proxy-revalidate")) { maxAge = 0; } } } //?Header?app if (maxAge == 0 && cacheMaxAge > 0) { hasCacheControl = true; maxAge = cacheMaxAge; } serverEtag = headers.get("ETag"); if (hasCacheControl) { expiredTimeMillis = serverTimeMillis + maxAge; } AbDiskCache.Entry entry = new AbDiskCache.Entry(); entry.data = response.data; entry.etag = serverEtag; entry.serverTimeMillis = serverTimeMillis; entry.expiredTimeMillis = expiredTimeMillis; entry.responseHeaders = headers; return entry; }
From source file:com.gistlabs.mechanize.cache.HttpCacheFilterTest.java
@SuppressWarnings("deprecation") @Test// ww w . j av a 2s. co m public void confirmDateUtil() throws DateParseException { Date date = DateUtils.parseDate("Sun, 09 Aug 2009 01:56:14 GMT"); assertEquals("9 Aug 2009 01:56:14 GMT", date.toGMTString()); }
From source file:org.wrml.runtime.syntax.DateSyntaxHandler.java
@Override public Date parseSyntacticText(final String dateString) { try {//w w w. j av a2 s . co m return DateUtils.parseDate(dateString); } catch (final DateParseException e) { throw new SyntaxHandlerException("Failed to transform String value \"" + dateString + "\" to a Date", e, this); } }
From source file:org.gradle.api.internal.artifacts.repositories.transport.http.HttpResponseResource.java
public long getLastModified() { Header responseHeader = response.getFirstHeader("last-modified"); if (responseHeader == null) { return 0; }/*w w w.ja v a 2s . c o m*/ try { return DateUtils.parseDate(responseHeader.getValue()).getTime(); } catch (Exception e) { return 0; } }
From source file:com.mothsoft.alexis.util.NetworkingUtil.java
public static HttpClientResponse get(final URL url, final String etag, final Date lastModifiedDate) throws IOException { final HttpGet get = new HttpGet(url.toExternalForm()); get.addHeader("Accept-Charset", "UTF-8"); if (etag != null) { get.addHeader("If-None-Match", etag); }// w ww.j av a 2s . co m if (lastModifiedDate != null) { get.addHeader("If-Modified-Since", DateUtils.formatDate(lastModifiedDate)); } int statusCode = -1; String responseEtag = null; Date responseLastModifiedDate = null; final HttpClient client = getClient(); HttpResponse response = client.execute(get); statusCode = response.getStatusLine().getStatusCode(); InputStream is = null; Charset charset = null; if (statusCode == 304) { responseEtag = etag; responseLastModifiedDate = lastModifiedDate; } else { final Header responseEtagHeader = response.getFirstHeader("Etag"); if (responseEtagHeader != null) { responseEtag = responseEtagHeader.getValue(); } final Header lastModifiedDateHeader = response.getFirstHeader("Last-Modified"); if (lastModifiedDateHeader != null) { try { responseLastModifiedDate = DateUtils.parseDate(lastModifiedDateHeader.getValue()); } catch (DateParseException e) { responseLastModifiedDate = null; } } final HttpEntity entity = response.getEntity(); // here's where to do intelligent checking of content type, content // length, etc. if (entity.getContentLength() > MAX_CONTENT_LENGTH) { get.abort(); throw new IOException("Exceeded maximum content length, length is: " + entity.getContentLength()); } is = entity.getContent(); charset = getCharset(entity); } return new HttpClientResponse(get, statusCode, responseEtag, responseLastModifiedDate, is, charset); }
From source file:com.gistlabs.mechanize.integration.test.ApacheImageCacheIT.java
protected Date date(final Resource res1) throws DateParseException { return DateUtils.parseDate(res1.getResponse().getFirstHeader("Date").getValue()); }