Example usage for org.apache.http.client.utils DateUtils formatDate

List of usage examples for org.apache.http.client.utils DateUtils formatDate

Introduction

In this page you can find the example usage for org.apache.http.client.utils DateUtils formatDate.

Prototype

public static String formatDate(final Date date) 

Source Link

Document

Formats the given date according to the RFC 1123 pattern.

Usage

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;
}