public abstract class AbstractHttpCache extends Object implements HttpCache
createKey(org.apache.shindig.gadgets.http.HttpRequest) in the base class and append any custom data to the end of the key instead
of building your own keys from scratch.| Modifier and Type | Field and Description |
|---|---|
static long |
REFETCH_STRICT_NO_CACHE_AFTER_MS_DEFAULT |
| Constructor and Description |
|---|
AbstractHttpCache() |
| Modifier and Type | Method and Description |
|---|---|
HttpResponse |
addResponse(HttpRequest request,
HttpResponse response)
Add a request/response pair to the cache.
|
protected abstract void |
addResponseImpl(String key,
HttpResponse response) |
String |
createKey(HttpRequest request)
Produce a key from the given request.
|
protected static String |
getAppUrl(HttpRequest request) |
protected static String |
getInstanceId(HttpRequest request) |
protected static String |
getOwnerId(HttpRequest request) |
HttpResponse |
getResponse(HttpRequest request) |
protected abstract HttpResponse |
getResponseImpl(String key) |
protected static String |
getServiceName(HttpRequest request) |
protected static String |
getTokenName(HttpRequest request) |
protected static String |
getTokenOwner(HttpRequest request) |
protected static String |
getViewerId(HttpRequest request) |
protected boolean |
isCacheable(HttpRequest request) |
protected boolean |
isCacheable(HttpRequest request,
HttpResponse response,
boolean allowStrictNoCacheResponses) |
HttpResponse |
removeResponse(HttpRequest request) |
protected abstract void |
removeResponseImpl(String key) |
protected boolean |
responseStillUsable(HttpResponse response)
Utility function to verify that an entry is usable
The cache still serve staled data, it is the responsible of the user
to decide if to use it or not (use isStale).
|
void |
setRefetchStrictNoCacheAfterMs(long refetchStrictNoCacheAfterMs) |
@Inject(optional=true) public static long REFETCH_STRICT_NO_CACHE_AFTER_MS_DEFAULT
protected abstract HttpResponse getResponseImpl(String key)
protected abstract void addResponseImpl(String key, HttpResponse response)
protected abstract void removeResponseImpl(String key)
public HttpResponse getResponse(HttpRequest request)
getResponse in interface HttpCachepublic HttpResponse addResponse(HttpRequest request, HttpResponse response)
HttpCacheaddResponse in interface HttpCachepublic void setRefetchStrictNoCacheAfterMs(long refetchStrictNoCacheAfterMs)
public HttpResponse removeResponse(HttpRequest request)
removeResponse in interface HttpCacheprotected boolean isCacheable(HttpRequest request)
protected boolean isCacheable(HttpRequest request, HttpResponse response, boolean allowStrictNoCacheResponses)
public String createKey(HttpRequest request)
null,
depending on authentication rules. See individual methods for details. New cache key items
should always be inserted using CacheKeyBuilder#setParam(String, Object).protected static String getOwnerId(HttpRequest request)
protected static String getViewerId(HttpRequest request)
protected static String getTokenOwner(HttpRequest request)
protected static String getAppUrl(HttpRequest request)
protected static String getInstanceId(HttpRequest request)
protected static String getServiceName(HttpRequest request)
protected static String getTokenName(HttpRequest request)
protected boolean responseStillUsable(HttpResponse response)
Copyright © 2007-2014 The Apache Software Foundation. All Rights Reserved.