if (entry.expired()) cache.remove(request.getUri().toString(), entry.getMediaType()); BrowserCache.Header[] headers = entry.getValidationHeaders(); for (BrowserCache.Header header : headers)
public Entry put(String key, MediaType mediaType, MultivaluedMap<String, String> headers, byte[] cached, int expires, String etag, String lastModified) { Entry previousValue = internalCache.get(key, mediaType); int sizeDiff = -1; if (previousValue == null) sizeDiff = cached.length; else sizeDiff = cached.length - previousValue.getCached().length; if (bytes.addAndGet(sizeDiff) > maxBytes) { clear(); bytes.addAndGet(sizeDiff); } return internalCache.put(key, mediaType, headers, cached, expires, etag, lastModified); }
private Response cachedResponse(BrowserCache.Entry entry) { ByteArrayInputStream bais = new ByteArrayInputStream(entry.getCached()); Response.ResponseBuilder builder = Response.ok().entity(bais); for (Map.Entry<String, List<String>> header : entry.getHeaders().entrySet()) { for (String val : header.getValue()) { builder.header(header.getKey(), val); } } return builder.build(); }
public void updateOnNotModified(ClientRequestContext request, BrowserCache.Entry old, ClientResponseContext response) old.getHeaders().remove(HttpHeaders.CACHE_CONTROL); old.getHeaders().remove(HttpHeaders.EXPIRES); old.getHeaders().remove(HttpHeaders.LAST_MODIFIED); String cc = (String) response.getHeaderString(HttpHeaders.CACHE_CONTROL); String exp = (String) response.getHeaderString(HttpHeaders.EXPIRES); old.getHeaders().putSingle(HttpHeaders.CACHE_CONTROL, cc); old.getHeaders().putSingle(HttpHeaders.CACHE_CONTROL, exp); String etag = (String) response.getHeaderString(HttpHeaders.ETAG); if (etag == null) etag = old.getHeaders().getFirst(HttpHeaders.ETAG); else old.getHeaders().putSingle(HttpHeaders.ETAG, etag); old.getHeaders().putSingle(HttpHeaders.LAST_MODIFIED, lastModified); BrowserCache.Entry entry = cache.put(request.getUri().toString(), old.getMediaType(), old.getHeaders(), old.getCached(), expires, etag, lastModified); useCacheEntry(response, entry);
public void updateOnNotModified(ClientRequestContext request, BrowserCache.Entry old, ClientResponseContext response) old.getHeaders().remove(HttpHeaders.CACHE_CONTROL); old.getHeaders().remove(HttpHeaders.EXPIRES); old.getHeaders().remove(HttpHeaders.LAST_MODIFIED); String cc = (String) response.getHeaderString(HttpHeaders.CACHE_CONTROL); String exp = (String) response.getHeaderString(HttpHeaders.EXPIRES); old.getHeaders().putSingle(HttpHeaders.CACHE_CONTROL, cc); old.getHeaders().putSingle(HttpHeaders.CACHE_CONTROL, exp); String etag = (String) response.getHeaderString(HttpHeaders.ETAG); if (etag == null) etag = old.getHeaders().getFirst(HttpHeaders.ETAG); else old.getHeaders().putSingle(HttpHeaders.ETAG, etag); old.getHeaders().putSingle(HttpHeaders.LAST_MODIFIED, lastModified); BrowserCache.Entry entry = cache.put(request.getUri().toString(), old.getMediaType(), old.getHeaders(), old.getCached(), expires, etag, lastModified); useCacheEntry(response, entry);
if (entry.expired()) cache.remove(request.getUri().toString(), entry.getMediaType()); BrowserCache.Header[] headers = entry.getValidationHeaders(); for (BrowserCache.Header header : headers)
if (entry.expired()) cache.remove(request.getUri().toString(), entry.getMediaType()); BrowserCache.Header[] headers = entry.getValidationHeaders(); for (BrowserCache.Header header : headers)
public Entry put(String key, MediaType mediaType, MultivaluedMap<String, String> headers, byte[] cached, int expires, String etag, String lastModified) { Entry previousValue = internalCache.get(key, mediaType); int sizeDiff = -1; if (previousValue == null) sizeDiff = cached.length; else sizeDiff = cached.length - previousValue.getCached().length; if (bytes.addAndGet(sizeDiff) > maxBytes) { clear(); bytes.addAndGet(sizeDiff); } return internalCache.put(key, mediaType, headers, cached, expires, etag, lastModified); }
public Entry put(String key, MediaType mediaType, MultivaluedMap<String, String> headers, byte[] cached, int expires, String etag, String lastModified) { Entry previousValue = internalCache.get(key, mediaType); int sizeDiff = -1; if (previousValue == null) sizeDiff = cached.length; else sizeDiff = cached.length - previousValue.getCached().length; if (bytes.addAndGet(sizeDiff) > maxBytes) { clear(); bytes.addAndGet(sizeDiff); } return internalCache.put(key, mediaType, headers, cached, expires, etag, lastModified); }
private void useCacheEntry(ClientResponseContext response, BrowserCache.Entry entry) { ByteArrayInputStream bais = new ByteArrayInputStream(entry.getCached()); response.setEntityStream(bais); response.setStatus(200); for (Map.Entry<String, List<String>> header : entry.getHeaders().entrySet()) { response.getHeaders().remove(header.getKey()); for (String val : header.getValue()) { response.getHeaders().add(header.getKey(), val); } } }
public Entry remove(String key, MediaType type) { Entry entry = internalCache.remove(key, type); if (entry != null) bytes.addAndGet(-1 * entry.getCached().length); return entry; }
private void useCacheEntry(ClientResponseContext response, BrowserCache.Entry entry) { ByteArrayInputStream bais = new ByteArrayInputStream(entry.getCached()); response.setEntityStream(bais); response.setStatus(200); for (Map.Entry<String, List<String>> header : entry.getHeaders().entrySet()) { response.getHeaders().remove(header.getKey()); for (String val : header.getValue()) { response.getHeaders().add(header.getKey(), val); } } }
private Response cachedResponse(BrowserCache.Entry entry) { ByteArrayInputStream bais = new ByteArrayInputStream(entry.getCached()); Response.ResponseBuilder builder = Response.ok().entity(bais); for (Map.Entry<String, List<String>> header : entry.getHeaders().entrySet()) { for (String val : header.getValue()) { builder.header(header.getKey(), val); } } return builder.build(); }
private Response cachedResponse(BrowserCache.Entry entry) { ByteArrayInputStream bais = new ByteArrayInputStream(entry.getCached()); Response.ResponseBuilder builder = Response.ok().entity(bais); for (Map.Entry<String, List<String>> header : entry.getHeaders().entrySet()) { for (String val : header.getValue()) { builder.header(header.getKey(), val); } } return builder.build(); }
public Entry remove(String key, MediaType type) { Entry entry = internalCache.remove(key, type); if (entry != null) bytes.addAndGet(-1 * entry.getCached().length); return entry; }
public void updateOnNotModified(ClientRequestContext request, BrowserCache.Entry old, ClientResponseContext response) old.getHeaders().remove(HttpHeaders.CACHE_CONTROL); old.getHeaders().remove(HttpHeaders.EXPIRES); old.getHeaders().remove(HttpHeaders.LAST_MODIFIED); String cc = (String) response.getHeaderString(HttpHeaders.CACHE_CONTROL); String exp = (String) response.getHeaderString(HttpHeaders.EXPIRES); old.getHeaders().putSingle(HttpHeaders.CACHE_CONTROL, cc); old.getHeaders().putSingle(HttpHeaders.CACHE_CONTROL, exp); String etag = (String) response.getHeaderString(HttpHeaders.ETAG); if (etag == null) etag = old.getHeaders().getFirst(HttpHeaders.ETAG); else old.getHeaders().putSingle(HttpHeaders.ETAG, etag); old.getHeaders().putSingle(HttpHeaders.LAST_MODIFIED, lastModified); BrowserCache.Entry entry = cache.put(request.getUri().toString(), old.getMediaType(), old.getHeaders(), old.getCached(), expires, etag, lastModified); useCacheEntry(response, entry);
private void useCacheEntry(ClientResponseContext response, BrowserCache.Entry entry) { ByteArrayInputStream bais = new ByteArrayInputStream(entry.getCached()); response.setEntityStream(bais); response.setStatus(200); for (Map.Entry<String, List<String>> header : entry.getHeaders().entrySet()) { response.getHeaders().remove(header.getKey()); for (String val : header.getValue()) { response.getHeaders().add(header.getKey(), val); } } }
public Entry remove(String key, MediaType type) { Entry entry = internalCache.remove(key, type); if (entry != null) bytes.addAndGet(-1 * entry.getCached().length); return entry; }