List of usage examples for org.apache.http.client.utils DateUtils formatDate
public static String formatDate(final Date date)
From source file:com.k42b3.quantum.worker.FeedWorker.java
@Override protected void fetch(HttpClient httpClient) { try {//from w w w.java 2 s . c o m String url = worker.getParams().get("url"); HttpGet httpGet = new HttpGet(url); if (worker.getLastRequest() != null) { httpGet.addHeader("If-Modified-Since", DateUtils.formatDate(worker.getLastRequest())); } logger.info("Request " + url); HttpResponse response = httpClient.execute(httpGet); SyndFeedInput input = new SyndFeedInput(); SyndFeed feed = input.build(new InputStreamReader(response.getEntity().getContent())); List<SyndEntry> entries = feed.getEntries(); for (int i = 0; i < entries.size(); i++) { SyndEntry entry = entries.get(i); Message message = new Message(); message.setMid(entry.getUri()); message.setUrl(entry.getLink()); message.setMessage(entry.getTitle()); message.setProducer(worker.getParams().get("url")); message.setDate(entry.getPublishedDate()); queue.push(this, message); } } catch (IllegalArgumentException e) { logger.error(e.getMessage(), e); } catch (FeedException e) { logger.error(e.getMessage(), e); } catch (ClientProtocolException e) { logger.error(e.getMessage(), e); } catch (IOException e) { logger.error(e.getMessage(), e); } }
From source file:org.apache.juneau.rest.client.DateHeader.java
/** * Creates a date request property in RFC2616 format. * * @param name The header name./*from w w w . j a v a 2 s. c o m*/ * @param value The header value. */ public DateHeader(String name, Date value) { super(name, DateUtils.formatDate(value)); }
From source file:com.k42b3.quantum.worker.GitHubCommitWorker.java
@Override protected void fetch(HttpClient httpClient) { try {/* w w w . java 2 s . c o m*/ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX"); String url = "https://api.github.com/repos/" + worker.getParams().get("owner") + "/" + worker.getParams().get("repo") + "/commits"; if (worker.getLastRequest() != null) { url = url + "?since=" + sdf.format(worker.getLastRequest()); } HttpGet httpGet = new HttpGet(url); if (worker.getLastRequest() != null) { httpGet.addHeader("If-Modified-Since", DateUtils.formatDate(worker.getLastRequest())); } logger.info("Request " + url); HttpResponse response = httpClient.execute(httpGet); if (response.getStatusLine().getStatusCode() == 304) { return; } String json = EntityUtils.toString(response.getEntity()); Gson gson = new Gson(); Commits[] commits = gson.fromJson(json, Commits[].class); for (int i = 0; i < commits.length; i++) { try { Date date = sdf.parse(commits[i].getCommit().getAuthor().getDate()); Message message = new Message(); message.setMid(commits[i].getSha()); message.setUrl(commits[i].getHtmlUrl()); message.setMessage(commits[i].getCommit().getMessage()); message.setProducer(worker.getParams().get("repo")); message.setDate(date); queue.push(this, message); } catch (ParseException e) { logger.error(e.getMessage(), e); } } } catch (ClientProtocolException e) { logger.error(e.getMessage(), e); } catch (IOException e) { logger.error(e.getMessage(), e); } }
From source file:com.arpnetworking.configuration.triggers.UriTrigger.java
/** * {@inheritDoc}//ww w. ja v a 2 s. co m */ @Override public boolean evaluateAndReset() { HttpGet request = null; try { LOGGER.debug().setMessage("Evaluating trigger").addData("uri", _uri).addData("headers", _headers).log(); request = new HttpGet(_uri); if (!_headers.isEmpty()) { request.setHeaders(_headers.toArray(new Header[_headers.size()])); } if (_previousETag.isPresent()) { request.addHeader(HttpHeaders.IF_NONE_MATCH, _previousETag.get()); } if (_previousLastModified.isPresent()) { request.addHeader(HttpHeaders.IF_MODIFIED_SINCE, DateUtils.formatDate(_previousLastModified.get())); } final HttpResponse response = CLIENT.execute(request); if (response.getStatusLine().getStatusCode() == 304) { LOGGER.debug().setMessage("Uri unmodified").addData("uri", _uri) .addData("status", response.getStatusLine().getStatusCode()).log(); return false; } if (response.getStatusLine().getStatusCode() / 100 != 2) { LOGGER.warn().setMessage("Failed to retrieve url").addData("uri", _uri) .addData("status", response.getStatusLine().getStatusCode()).log(); return false; } if (response.getFirstHeader(HttpHeaders.ETAG) == null && response.getFirstHeader(HttpHeaders.LAST_MODIFIED) == null) { LOGGER.warn().setMessage("Untriggerable uri missing both etag and last modified") .addData("uri", _uri).addData("headers", response.getAllHeaders()).log(); return false; } return isLastModifiedChanged(response) || isEtagChanged(response); } catch (final IOException e) { LOGGER.warn().setMessage("Failed to evaluate url trigger").addData("uri", _uri).setThrowable(e).log(); } finally { if (request != null) { request.releaseConnection(); } } return false; }
From source file:com.hypersocket.netty.HttpResponseServletWrapper.java
@Override public void setDateHeader(String name, long date) { setHeader(name, DateUtils.formatDate(new Date(date))); }
From source file:com.hypersocket.netty.HttpResponseServletWrapper.java
@Override public void addDateHeader(String name, long date) { response.setHeader(name, DateUtils.formatDate(new Date(date))); }
From source file:net.staticsnow.nexus.repository.apt.internal.proxy.AptProxyFacet.java
private HttpGet buildFetchRequest(Content oldVersion, URI fetchUri) { HttpGet getRequest = new HttpGet(fetchUri); if (oldVersion != null) { DateTime lastModified = oldVersion.getAttributes().get(Content.CONTENT_LAST_MODIFIED, DateTime.class); if (lastModified != null) { getRequest.addHeader(HttpHeaders.IF_MODIFIED_SINCE, DateUtils.formatDate(lastModified.toDate())); }// w w w. jav a 2 s . c om final String etag = oldVersion.getAttributes().get(Content.CONTENT_ETAG, String.class); if (etag != null) { getRequest.addHeader(HttpHeaders.IF_NONE_MATCH, "\"" + etag + "\""); } } return getRequest; }
From source file:com.gargoylesoftware.htmlunit.util.StringUtils.java
/** * Formats the specified date according to RFC 1123. * * @param date the date to format/* w ww . j a v a 2 s .com*/ * @return the specified date, formatted according to RFC 1123 */ public static String formatHttpDate(final Date date) { WebAssert.notNull("date", date); return DateUtils.formatDate(date); }
From source file:org.fcrepo.client.integration.FcrepoClientIT.java
@Test public void testGetUnmodified() throws Exception { // Check that get returns a 304 if the item hasn't changed according to last-modified/etag final FcrepoResponse response = create(); // Get tomorrows date to provide as the modified-since date final String lastModified = response.getHeaderValue(LAST_MODIFIED); final Date modDate = DateUtils.parseDate(lastModified); final Calendar cal = Calendar.getInstance(); cal.setTime(modDate);//www. j ava 2s .c om cal.add(Calendar.DATE, 1); final FcrepoResponse modResp = client.get(url).ifModifiedSince(DateUtils.formatDate(cal.getTime())) .perform(); assertEquals(NOT_MODIFIED.getStatusCode(), modResp.getStatusCode()); final String originalEtag = response.getHeaderValue(ETAG); final FcrepoResponse etagResp = client.get(url).ifNoneMatch(originalEtag).perform(); assertEquals(NOT_MODIFIED.getStatusCode(), etagResp.getStatusCode()); }
From source file:org.sonatype.nexus.repository.proxy.ProxyFacetSupport.java
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());/*from www . j a v a 2 s .c o m*/ 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, "\"" + etag + "\""); } } log.debug("Fetching: {}", request); HttpResponse response = execute(context, client, request); log.debug("Response: {}", response); StatusLine status = response.getStatusLine(); log.debug("Status: {}", status); 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)); result.getAttributes().set(Content.CONTENT_ETAG, extractETag(response)); 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; }