Example usage for org.springframework.http CacheControl maxAge

List of usage examples for org.springframework.http CacheControl maxAge

Introduction

In this page you can find the example usage for org.springframework.http CacheControl maxAge.

Prototype

Duration maxAge

To view the source code for org.springframework.http CacheControl maxAge.

Click Source Link

Usage

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