List of usage examples for org.springframework.http CacheControl maxAge
Duration maxAge
To view the source code for org.springframework.http CacheControl maxAge.
Click Source Link
From source file:com.saasovation.identityaccess.resource.AbstractResource.java
protected CacheControl cacheControlFor(int aNumberOfSeconds) { return CacheControl.maxAge(30, TimeUnit.SECONDS); }
From source file:ru.mystamps.web.config.MvcConfig.java
@Override public void addResourceHandlers(ResourceHandlerRegistry registry) { VersionResourceResolver resourceResolver = new VersionResourceResolver() .addFixedVersionStrategy(Url.RESOURCES_VERSION, "/**"); @SuppressWarnings("checkstyle:magicnumber") CacheControl cacheControl = CacheControl.maxAge(7, TimeUnit.DAYS); registry.addResourceHandler("/static/**").addResourceLocations("/WEB-INF/static/") .setCacheControl(cacheControl).resourceChain(true).addResolver(resourceResolver); registry.addResourceHandler("/public/js/**").addResourceLocations("classpath:/js/").resourceChain(true) .addResolver(resourceResolver); // For WebJars: registry.addResourceHandler("/public/bootstrap/**") .addResourceLocations("classpath:/META-INF/resources/webjars/bootstrap/"); registry.addResourceHandler("/public/jquery/**") .addResourceLocations("classpath:/META-INF/resources/webjars/jquery/"); registry.addResourceHandler("/public/selectize/**") .addResourceLocations("classpath:/META-INF/resources/webjars/selectize.js/"); }
From source file:sagan.projects.support.BadgeController.java
/** * Creates a SVG badge for a project with a given {@link ReleaseStatus}. * * @param projectId/*w ww . j a v a2s. c om*/ * @param releaseStatus * @return * @throws IOException */ private ResponseEntity<byte[]> badgeFor(String projectId, ReleaseStatus releaseStatus) throws IOException { Project project = service.getProject(projectId); if (project == null) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } Optional<ProjectRelease> gaRelease = getRelease(project.getProjectReleases(), projectRelease -> projectRelease.getReleaseStatus() == releaseStatus); if (!gaRelease.isPresent()) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } byte[] svgBadge = versionBadgeService.createSvgBadge(project, gaRelease.get()); return ResponseEntity.ok().eTag(gaRelease.get().getVersion()) .cacheControl(CacheControl.maxAge(1L, TimeUnit.HOURS)).body(svgBadge); }
From source file:me.j360.trace.autoconfiguration.ui.ZipkinUiAutoConfiguration.java
@RequestMapping(value = "/config.json", method = GET, produces = APPLICATION_JSON_VALUE) public ResponseEntity<ZipkinUiProperties> serveUiConfig() { return ResponseEntity.ok().cacheControl(CacheControl.maxAge(10, TimeUnit.MINUTES)).body(ui); }
From source file:me.j360.trace.autoconfiguration.ui.ZipkinUiAutoConfiguration.java
@RequestMapping(value = "/index.html", method = GET) public ResponseEntity<Resource> serveIndex() { return ResponseEntity.ok().cacheControl(CacheControl.maxAge(1, TimeUnit.MINUTES)).body(indexHtml); }
From source file:me.j360.trace.server.ZipkinQueryApiV1.java
/** * We cache names if there are more than 3 services. This helps people getting started: if we * cache empty results, users have more questions. We assume caching becomes a concern when zipkin * is in active use, and active use usually implies more than 3 services. *///from w ww . j a va 2 s . c om ResponseEntity<List<String>> maybeCacheNames(List<String> names) { ResponseEntity.BodyBuilder response = ResponseEntity.ok(); if (serviceCount > 3) { response.cacheControl(CacheControl.maxAge(namesMaxAge, TimeUnit.SECONDS).mustRevalidate()); } return response.body(names); }
From source file:com.erudika.scoold.controllers.SearchController.java
@ResponseBody @GetMapping("/opensearch.xml") public ResponseEntity<String> openSearch() { String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + "<OpenSearchDescription xmlns=\"http://a9.com/-/spec/opensearch/1.1/\" " + " xmlns:moz=\"http://www.mozilla.org/2006/browser/search/\">\n" + " <ShortName>" + Config.APP_NAME + "</ShortName>\n" + " <Description>Search for questions and answers</Description>\n" + " <InputEncoding>UTF-8</InputEncoding>\n" + " <Image width=\"16\" height=\"16\" type=\"image/x-icon\">http://scoold.com/favicon.ico</Image>\n" + " <Url type=\"text/html\" method=\"get\" template=\"" + ScooldServer.getServerURL() + "/search?q={searchTerms}\"></Url>\n" + "</OpenSearchDescription>"; return ResponseEntity.ok().contentType(MediaType.APPLICATION_XML) .cacheControl(CacheControl.maxAge(1, TimeUnit.HOURS)).eTag(Utils.md5(xml)).body(xml); }
From source file:com.erudika.scoold.controllers.SearchController.java
@ResponseBody @GetMapping("/feed.xml") public ResponseEntity<String> feed() { String feed = ""; try {/*w w w . jav a 2s . c om*/ feed = new SyndFeedOutput().outputString(getFeed()); } catch (Exception ex) { logger.error("Could not generate feed", ex); } return ResponseEntity.ok().contentType(MediaType.APPLICATION_ATOM_XML) .cacheControl(CacheControl.maxAge(1, TimeUnit.HOURS)).eTag(Utils.md5(feed)).body(feed); }
From source file:io.spring.initializr.web.project.MainController.java
private ResponseEntity<String> serviceCapabilitiesFor(InitializrMetadataVersion version, MediaType contentType) {//from www . ja v a 2 s. c om String appUrl = generateAppUrl(); String content = getJsonMapper(version).write(this.metadataProvider.get(), appUrl); return ResponseEntity.ok().contentType(contentType).eTag(createUniqueId(content)) .cacheControl(CacheControl.maxAge(7, TimeUnit.DAYS)).body(content); }
From source file:io.spring.initializr.web.project.MainController.java
private ResponseEntity<String> dependenciesFor(InitializrMetadataVersion version, String bootVersion) { InitializrMetadata metadata = this.metadataProvider.get(); Version v = bootVersion != null ? Version.parse(bootVersion) : Version.parse(metadata.getBootVersions().getDefault().getId()); DependencyMetadata dependencyMetadata = this.dependencyMetadataProvider.get(metadata, v); String content = new DependencyMetadataV21JsonMapper().write(dependencyMetadata); return ResponseEntity.ok().contentType(version.getMediaType()).eTag(createUniqueId(content)) .cacheControl(CacheControl.maxAge(7, TimeUnit.DAYS)).body(content); }