public class SpincastCacheHeadersRequestContextAddon<R extends RequestContext<?>> extends Object implements CacheHeadersRequestContextAddon<R>
| Modifier and Type | Field and Description |
|---|---|
protected org.slf4j.Logger |
logger |
| Constructor and Description |
|---|
SpincastCacheHeadersRequestContextAddon(R requestContext,
ETagFactory etagFactory) |
| Modifier and Type | Method and Description |
|---|---|
CacheHeadersRequestContextAddon<R> |
cache(int seconds)
The number of seconds the client should cache this resource
before requesting it again.
|
CacheHeadersRequestContextAddon<R> |
cache(int seconds,
boolean isPrivate)
The number of seconds the client should cache this resource
before requesting it again.
|
CacheHeadersRequestContextAddon<R> |
cache(int seconds,
boolean isPrivate,
Integer cdnSeconds)
The number of seconds the client should cache this resource
before requesting it again.
|
CacheHeadersRequestContextAddon<R> |
eTag(String currentTag)
Specifies the current ETag (strong) of the resource.
|
CacheHeadersRequestContextAddon<R> |
eTag(String currentTag,
boolean currentTagIsWeak)
Specifies the current strong or weak ETag of the resource.
|
CacheHeadersRequestContextAddon<R> |
eTag(String currentTag,
boolean currentTagIsWeak,
boolean weakComparison)
Specifies the current strong or weak ETag of the resource.
|
protected String |
formatDateForHttpHeader(Date date) |
protected Date |
getDateFromIfModifiedSinceHeader() |
protected Date |
getDateFromIfUnmodifiedSinceHeader() |
protected ETag |
getETag() |
protected ETagFactory |
getEtagFactory() |
List<ETag> |
getEtagsFromIfMatchHeader() |
List<ETag> |
getEtagsFromIfNoneMatchHeader() |
protected Object |
getExchange() |
protected Date |
getLastModificationDate() |
protected R |
getRequestContext() |
protected boolean |
isEtagMatches(ETag requestETag,
boolean weakComparison) |
protected boolean |
isEtagsFromIfMatchHeaderContainsAWildcard() |
protected boolean |
isEtagsFromIfNoneMatchHeaderContainsAWildcard() |
protected boolean |
isETagWeakComparison() |
protected boolean |
isIfMatchEtagMatches() |
protected boolean |
isIfNoneMatchEtagMatches() |
CacheHeadersRequestContextAddon<R> |
lastModified(Date lastModificationDate)
Specifies the last modification date of the resource.
|
SpincastCacheHeadersRequestContextAddon<R> |
noCache()
Sends "No Cache" headers so the resource is not cached
at all by the client.
|
protected void |
setETag(ETag eTag) |
protected void |
setETagWeakComparison(boolean eTagWeakComparison) |
protected void |
setLastModificationDate(Date lastModificationDate) |
boolean |
validate(boolean resourceCurrentlyExists)
Call this when you are done setting
ETag and/or Last-Modified to validate
them agains the headers sent by the client. |
@Inject public SpincastCacheHeadersRequestContextAddon(R requestContext, ETagFactory etagFactory)
protected R getRequestContext()
protected ETagFactory getEtagFactory()
protected Object getExchange()
protected ETag getETag()
protected void setETag(ETag eTag)
protected boolean isETagWeakComparison()
protected void setETagWeakComparison(boolean eTagWeakComparison)
protected Date getLastModificationDate()
protected void setLastModificationDate(Date lastModificationDate)
public CacheHeadersRequestContextAddon<R> eTag(String currentTag)
CacheHeadersRequestContextAddonA strong comparison will be used to compare the request ETag to this current ETag.
Skip, or use null if the resource doesn't exist.
eTag in interface CacheHeadersRequestContextAddon<R extends RequestContext<?>>public CacheHeadersRequestContextAddon<R> eTag(String currentTag, boolean currentTagIsWeak)
CacheHeadersRequestContextAddonA strong comparison will be used to compare the request ETag to this current ETag.
Skip, or use null if the resource doesn't exist.
eTag in interface CacheHeadersRequestContextAddon<R extends RequestContext<?>>public CacheHeadersRequestContextAddon<R> eTag(String currentTag, boolean currentTagIsWeak, boolean weakComparison)
CacheHeadersRequestContextAddon
Skip, or use null if the resource doesn't exist.
eTag in interface CacheHeadersRequestContextAddon<R extends RequestContext<?>>weakComparison - should a weak comparison be used instead of
a strong one to compare the request ETag to the current ETag?public CacheHeadersRequestContextAddon<R> lastModified(Date lastModificationDate)
CacheHeadersRequestContextAddon
Skip, or use null if the resource doesn't exist.
lastModified in interface CacheHeadersRequestContextAddon<R extends RequestContext<?>>protected boolean isEtagsFromIfMatchHeaderContainsAWildcard()
protected boolean isEtagsFromIfNoneMatchHeaderContainsAWildcard()
protected boolean isIfMatchEtagMatches()
protected boolean isIfNoneMatchEtagMatches()
protected boolean isEtagMatches(ETag requestETag, boolean weakComparison)
protected Date getDateFromIfModifiedSinceHeader()
protected Date getDateFromIfUnmodifiedSinceHeader()
public CacheHeadersRequestContextAddon<R> cache(int seconds)
CacheHeadersRequestContextAddoncache in interface CacheHeadersRequestContextAddon<R extends RequestContext<?>>public CacheHeadersRequestContextAddon<R> cache(int seconds, boolean isPrivate)
CacheHeadersRequestContextAddoncache in interface CacheHeadersRequestContextAddon<R extends RequestContext<?>>isPrivate - should the cache be 'private'?
(help)public CacheHeadersRequestContextAddon<R> cache(int seconds, boolean isPrivate, Integer cdnSeconds)
CacheHeadersRequestContextAddoncache in interface CacheHeadersRequestContextAddon<R extends RequestContext<?>>isPrivate - should the cache be 'private'?
(help)cdnSeconds - The number of seconds the resource associated with
this route should be cached by a CDN/proxy. If null, it
won't be used.public SpincastCacheHeadersRequestContextAddon<R> noCache()
CacheHeadersRequestContextAddonnoCache in interface CacheHeadersRequestContextAddon<R extends RequestContext<?>>public boolean validate(boolean resourceCurrentlyExists)
CacheHeadersRequestContextAddonETag and/or Last-Modified to validate
them agains the headers sent by the client.
If this method returns true, the route handler should return immediately
without returning/creating/modifying/deleting the associated resource! Appropriate headers
have already been set on the response.
validate in interface CacheHeadersRequestContextAddon<R extends RequestContext<?>>resourceCurrentlyExists - Does the resource currently exist?Copyright © 2017. All rights reserved.