@Override public BodyBuilder cacheControl(CacheControl cacheControl) { this.headers.setCacheControl(cacheControl); return this; }
@Override public ServerResponse.BodyBuilder cacheControl(CacheControl cacheControl) { this.headers.setCacheControl(cacheControl); return this; }
@Override public EntityResponse.Builder<T> cacheControl(CacheControl cacheControl) { this.headers.setCacheControl(cacheControl); return this; }
@Override public BodyBuilder cacheControl(CacheControl cacheControl) { this.headers.setCacheControl(cacheControl); return this; }
protected void addNoCacheHeaders(ServerHttpResponse response) { response.getHeaders().setCacheControl("no-store, no-cache, must-revalidate, max-age=0"); }
protected void addCacheHeaders(ServerHttpResponse response) { response.getHeaders().setCacheControl("public, max-age=" + ONE_YEAR); response.getHeaders().setExpires(new Date().getTime() + ONE_YEAR * 1000); }
@Test public void cacheControl() { headers.setCacheControl("no-cache"); assertEquals("Invalid Cache-Control header", "no-cache", headers.getCacheControl()); assertEquals("Invalid Cache-Control header", "no-cache", headers.getFirst("cache-control")); }
exchange.getResponse().getHeaders().setCacheControl(cacheControl);
@Test public void cacheControlEmpty() { headers.setCacheControl(CacheControl.empty()); assertNull("Invalid Cache-Control header", headers.getCacheControl()); assertNull("Invalid Cache-Control header", headers.getFirst("cache-control")); }
@Test public void cacheControlBuilder() { headers.setCacheControl(CacheControl.noCache()); assertEquals("Invalid Cache-Control header", "no-cache", headers.getCacheControl()); assertEquals("Invalid Cache-Control header", "no-cache", headers.getFirst("cache-control")); }
@Test public void cacheControl() { CacheControl control = CacheControl.maxAge(1, TimeUnit.HOURS).noTransform(); HttpHeaders headers = new HttpHeaders(); headers.setCacheControl(control.getHeaderValue()); HeaderAssertions assertions = headerAssertions(headers); // Success assertions.cacheControl(control); try { assertions.cacheControl(CacheControl.noStore()); fail("Wrong value expected"); } catch (AssertionError error) { // Expected } }
@Test // SPR-14005 public void doOverwriteExistingCacheControlHeaders() { MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("")); exchange.getResponse().getHeaders().setCacheControl(CacheControl.noStore().getHeaderValue()); setPathWithinHandlerMapping(exchange, "foo.css"); this.handler.handle(exchange).block(TIMEOUT); assertEquals("max-age=3600", exchange.getResponse().getHeaders().getCacheControl()); }
target.setCacheControl((String) value);
private static void setCacheHeaders(HttpHeaders headers) { Integer seconds = 60 * 60 * 24 * 500; headers.setCacheControl("max-age=" + seconds); headers.setExpires(System.currentTimeMillis() + seconds * 1000L); }
public MessageBundleController() { clientMessagesCache = new HashMap<Locale, String>(); acceptHeaderLocaleResolver = new AcceptHeaderLocaleResolver(); clientMessagesResponseHeaders = new HttpHeaders(); // set the common response headers that will be used by the getClientMessages response clientMessagesResponseHeaders.setCacheControl("max-age=" + CLIENT_MESSAGE_BUNDLE_CACHE_CONTROL_MAX_AGE); clientMessagesResponseHeaders.setContentType(MediaType.parseMediaType(JAVASCRIPT_CONTENT_TYPE)); Locale.setDefault(Locale.ENGLISH); }
/** * @return 不支持客户端缓存,不支持客户端保存数据的响应头 */ protected HttpHeaders noCache() { HttpHeaders headers = new HttpHeaders(); headers.setCacheControl("no-cache, no-store, max-age=0, must-revalidate"); headers.setPragma("no-cache"); headers.setExpires(-1); return headers; } }
@Override public ServerResponse.BodyBuilder cacheControl(CacheControl cacheControl) { String ccValue = cacheControl.getHeaderValue(); if (ccValue != null) { this.headers.setCacheControl(cacheControl.getHeaderValue()); } return this; }
@RequestMapping(value = "/{id}/download", method = RequestMethod.GET) public ResponseEntity<byte[]> download(@PathVariable String id) throws Exception { DocumentId documentId = new DocumentId(id); byte[] bytes = documentPdfService.generatePdf(documentId); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.parseMediaType("application/pdf")); String filename = documentPdfService.getFileName(documentId); headers.setContentDispositionFormData(filename, filename); headers.setCacheControl("must-revalidate, post-check=0, pre-check=0"); return new ResponseEntity<>(bytes, headers, HttpStatus.OK); }
@RequestMapping(value = "/{id}/download", method = RequestMethod.GET) public ResponseEntity<byte[]> download(@PathVariable String id) throws Exception { DocumentId documentId = new DocumentId(id); byte[] bytes = documentPdfService.generatePdf(documentId); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.parseMediaType("application/pdf")); String filename = documentPdfService.getFileName(documentId); headers.setContentDispositionFormData(filename, filename); headers.setCacheControl("must-revalidate, post-check=0, pre-check=0"); return new ResponseEntity<>(bytes, headers, HttpStatus.OK); }
protected void setExpiryHeaders(long millis) { Date now = new Date(); this.headers.setDate(now.getTime()); this.headers.setExpires(new ExpiresHeaderImpl(now, millis).getValue()); this.headers.setCacheControl(new CacheControlHeaderImpl(millis).getValue()); }