Example usage for org.springframework.http HttpHeaders getETag

List of usage examples for org.springframework.http HttpHeaders getETag

Introduction

In this page you can find the example usage for org.springframework.http HttpHeaders getETag.

Prototype

@Nullable
public String getETag() 

Source Link

Document

Return the entity tag of the body, as specified by the ETag header.

Usage

From source file:net.eusashead.hateoas.hal.response.impl.HalResponseBuilderImplTest.java

private void assertHeaders(ResponseEntity<Representation> response) {
    HttpHeaders headers = response.getHeaders();
    Assert.assertNotNull(headers.getETag());
    Assert.assertEquals("W/\"123456789\"", headers.getETag());
    Assert.assertEquals(123456000, headers.getLastModified());
    Assert.assertNotNull(headers.getDate());
    Assert.assertNotNull(headers.getExpires());
    Assert.assertEquals(headers.getDate() + 1000000, headers.getExpires());
    Assert.assertNotNull(headers.getCacheControl());
    Assert.assertEquals("public, must-revalidate, proxy-revalidate, max-age=1000", headers.getCacheControl());

}

From source file:org.springframework.cloud.stream.app.http.source.DefaultMixedCaseContentTypeHttpHeaderMapper.java

private Object getHttpHeader(HttpHeaders source, String name) {
    if (ACCEPT.equalsIgnoreCase(name)) {
        return source.getAccept();
    } else if (ACCEPT_CHARSET.equalsIgnoreCase(name)) {
        return source.getAcceptCharset();
    } else if (ALLOW.equalsIgnoreCase(name)) {
        return source.getAllow();
    } else if (CACHE_CONTROL.equalsIgnoreCase(name)) {
        String cacheControl = source.getCacheControl();
        return (StringUtils.hasText(cacheControl)) ? cacheControl : null;
    } else if (CONTENT_LENGTH.equalsIgnoreCase(name)) {
        long contentLength = source.getContentLength();
        return (contentLength > -1) ? contentLength : null;
    } else if (CONTENT_TYPE.equalsIgnoreCase(name)) {
        return source.getContentType();
    } else if (DATE.equalsIgnoreCase(name)) {
        long date = source.getDate();
        return (date > -1) ? date : null;
    } else if (ETAG.equalsIgnoreCase(name)) {
        String eTag = source.getETag();
        return (StringUtils.hasText(eTag)) ? eTag : null;
    } else if (EXPIRES.equalsIgnoreCase(name)) {
        try {//from w ww .j  ava2s. co  m
            long expires = source.getExpires();
            return (expires > -1) ? expires : null;
        } catch (Exception e) {
            if (logger.isDebugEnabled()) {
                logger.debug(e.getMessage());
            }
            // According to RFC 2616
            return null;
        }
    } else if (IF_NONE_MATCH.equalsIgnoreCase(name)) {
        return source.getIfNoneMatch();
    } else if (IF_MODIFIED_SINCE.equalsIgnoreCase(name)) {
        long modifiedSince = source.getIfModifiedSince();
        return (modifiedSince > -1) ? modifiedSince : null;
    } else if (IF_UNMODIFIED_SINCE.equalsIgnoreCase(name)) {
        String unmodifiedSince = source.getFirst(IF_UNMODIFIED_SINCE);
        return unmodifiedSince != null ? this.getFirstDate(unmodifiedSince, IF_UNMODIFIED_SINCE) : null;
    } else if (LAST_MODIFIED.equalsIgnoreCase(name)) {
        long lastModified = source.getLastModified();
        return (lastModified > -1) ? lastModified : null;
    } else if (LOCATION.equalsIgnoreCase(name)) {
        return source.getLocation();
    } else if (PRAGMA.equalsIgnoreCase(name)) {
        String pragma = source.getPragma();
        return (StringUtils.hasText(pragma)) ? pragma : null;
    }
    return source.get(name);
}

From source file:org.springframework.data.keyvalue.riak.core.AbstractRiakTemplate.java

protected RiakMetaData extractMetaData(HttpHeaders headers) throws IOException {
    Map<String, Object> props = new LinkedHashMap<String, Object>();
    for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
        List<String> val = entry.getValue();
        Object prop = (1 == val.size() ? val.get(0) : val);
        try {/*  w  ww  .ja va2s .c  o  m*/
            if (entry.getKey().equals("Last-Modified") || entry.getKey().equals("Date")) {
                prop = httpDate.parse(val.get(0));
            }
        } catch (ParseException e) {
            log.error(e.getMessage(), e);
        }

        if (entry.getKey().equals("Link")) {
            List<String> links = new ArrayList<String>();
            for (String link : entry.getValue()) {
                String[] parts = link.split(",");
                for (String part : parts) {
                    String s = part.replaceAll("<(.+)>; rel=\"(\\S+)\"[,]?", "").trim();
                    if (!"".equals(s)) {
                        links.add(s);
                    }
                }
            }
            props.put("Link", links);
        } else {
            props.put(entry.getKey().toString(), prop);
        }
    }
    props.put("ETag", headers.getETag());
    RiakMetaData meta = new RiakMetaData(headers.getContentType(), props);

    return meta;
}

From source file:org.springframework.data.keyvalue.riak.core.AbstractRiakTemplate.java

@SuppressWarnings({ "unchecked" })
protected <K, T> T checkCache(K key, Class<T> requiredType) {
    BucketKeyPair bucketKeyPair = resolveBucketKeyPair(key, requiredType);
    RiakValue<?> obj = cache.get(bucketKeyPair);
    if (null != obj) {
        String bucketName = (null != bucketKeyPair.getBucket() ? bucketKeyPair.getBucket().toString()
                : requiredType.getName());
        RestTemplate restTemplate = getRestTemplate();
        try {// w ww.j  ava2 s  .co m
            HttpHeaders resp = restTemplate.headForHeaders(defaultUri, bucketName, bucketKeyPair.getKey());
            if (!obj.getMetaData().getProperties().get("ETag").toString().equals(resp.getETag())) {
                obj = null;
            } else {
                if (log.isDebugEnabled()) {
                    log.debug("Returning CACHED object: " + obj);
                }
            }
        } catch (ResourceAccessException ignored) {
            return null;
        }
    }

    if (null != obj && obj.getClass() == requiredType) {
        return (T) obj.get();
    } else {
        return null;
    }
}

From source file:org.springframework.integration.http.support.DefaultHttpHeaderMapper.java

private Object getHttpHeader(HttpHeaders source, String name) {
    if (ACCEPT.equalsIgnoreCase(name)) {
        return source.getAccept();
    } else if (ACCEPT_CHARSET.equalsIgnoreCase(name)) {
        return source.getAcceptCharset();
    } else if (ALLOW.equalsIgnoreCase(name)) {
        return source.getAllow();
    } else if (CACHE_CONTROL.equalsIgnoreCase(name)) {
        String cacheControl = source.getCacheControl();
        return (StringUtils.hasText(cacheControl)) ? cacheControl : null;
    } else if (CONTENT_LENGTH.equalsIgnoreCase(name)) {
        long contentLength = source.getContentLength();
        return (contentLength > -1) ? contentLength : null;
    } else if (CONTENT_TYPE.equalsIgnoreCase(name)) {
        return source.getContentType();
    } else if (DATE.equalsIgnoreCase(name)) {
        long date = source.getDate();
        return (date > -1) ? date : null;
    } else if (ETAG.equalsIgnoreCase(name)) {
        String eTag = source.getETag();
        return (StringUtils.hasText(eTag)) ? eTag : null;
    } else if (EXPIRES.equalsIgnoreCase(name)) {
        try {/* w w  w  .  j a va 2  s.com*/
            long expires = source.getExpires();
            return (expires > -1) ? expires : null;
        } catch (Exception e) {
            if (logger.isDebugEnabled()) {
                logger.debug(e.getMessage());
            }
            // According to RFC 2616
            return null;
        }
    } else if (IF_NONE_MATCH.equalsIgnoreCase(name)) {
        return source.getIfNoneMatch();
    } else if (IF_UNMODIFIED_SINCE.equalsIgnoreCase(name)) {
        long unmodifiedSince = source.getIfNotModifiedSince();
        return (unmodifiedSince > -1) ? unmodifiedSince : null;
    } else if (LAST_MODIFIED.equalsIgnoreCase(name)) {
        long lastModified = source.getLastModified();
        return (lastModified > -1) ? lastModified : null;
    } else if (LOCATION.equalsIgnoreCase(name)) {
        return source.getLocation();
    } else if (PRAGMA.equalsIgnoreCase(name)) {
        String pragma = source.getPragma();
        return (StringUtils.hasText(pragma)) ? pragma : null;
    }
    return source.get(name);
}