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