org.springframework.http.HttpHeaders#setExpires ( )源码实例Demo

下面列出了org.springframework.http.HttpHeaders#setExpires ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: jandy   文件: ProjectController.java
@RequestMapping(value = "/{account}/{projectName}/{branchName}.svg")
public ResponseEntity<String> getBadge(@PathVariable String account, @PathVariable String projectName, @PathVariable String branchName) throws Exception {
  QBuild b = QBuild.build;
  Page<Build> buildPage = buildRepository.findAll(b.branch.name.eq(branchName).and(b.branch.project.account.eq(account)).and(b.branch.project.name.eq(projectName)), new QPageRequest(0, 2, b.number.desc()));
  if (buildPage.getTotalPages() == 0)
    throw new BadgeUnknownException();
  Build latest = buildPage.getContent().get(0);

  long current = System.currentTimeMillis();
  HttpHeaders headers = new HttpHeaders(); // see #7
  headers.setExpires(current);
  headers.setDate(current);

  return ResponseEntity
      .ok()
      .headers(headers)
      .cacheControl(CacheControl.noCache())
      .lastModified(current)
      .eTag(Long.toString(latest.getId()))
      .body(FreeMarkerTemplateUtils.processTemplateIntoString(configurer.getConfiguration().getTemplate("badge/mybadge.ftl"), latest));
}
 
源代码2 项目: mica   文件: ICaptchaService.java
/**
 * 图片输出的头,避免验证码被缓存
 *
 * @return {HttpHeaders}
 */
default HttpHeaders getCaptchaHeaders() {
	HttpHeaders headers = new HttpHeaders();
	headers.setPragma("no-cache");
	headers.setCacheControl("no-cache");
	headers.setExpires(0);
	headers.setContentType(MediaType.IMAGE_JPEG);
	return headers;
}
 
private String getCookieHeader(Cookie cookie) {
	StringBuilder buf = new StringBuilder();
	buf.append(cookie.getName()).append('=').append(cookie.getValue() == null ? "" : cookie.getValue());
	if (StringUtils.hasText(cookie.getPath())) {
		buf.append("; Path=").append(cookie.getPath());
	}
	if (StringUtils.hasText(cookie.getDomain())) {
		buf.append("; Domain=").append(cookie.getDomain());
	}
	int maxAge = cookie.getMaxAge();
	if (maxAge >= 0) {
		buf.append("; Max-Age=").append(maxAge);
		buf.append("; Expires=");
		HttpHeaders headers = new HttpHeaders();
		headers.setExpires(maxAge > 0 ? System.currentTimeMillis() + 1000L * maxAge : 0);
		buf.append(headers.getFirst(HttpHeaders.EXPIRES));
	}

	if (cookie.getSecure()) {
		buf.append("; Secure");
	}
	if (cookie.isHttpOnly()) {
		buf.append("; HttpOnly");
	}
	if (cookie instanceof MockCookie) {
		MockCookie mockCookie = (MockCookie) cookie;
		if (StringUtils.hasText(mockCookie.getSameSite())) {
			buf.append("; SameSite=").append(mockCookie.getSameSite());
		}
	}
	return buf.toString();
}
 
private String getCookieHeader(Cookie cookie) {
	StringBuilder buf = new StringBuilder();
	buf.append(cookie.getName()).append('=').append(cookie.getValue() == null ? "" : cookie.getValue());
	if (StringUtils.hasText(cookie.getPath())) {
		buf.append("; Path=").append(cookie.getPath());
	}
	if (StringUtils.hasText(cookie.getDomain())) {
		buf.append("; Domain=").append(cookie.getDomain());
	}
	int maxAge = cookie.getMaxAge();
	if (maxAge >= 0) {
		buf.append("; Max-Age=").append(maxAge);
		buf.append("; Expires=");
		HttpHeaders headers = new HttpHeaders();
		headers.setExpires(maxAge > 0 ? System.currentTimeMillis() + 1000L * maxAge : 0);
		buf.append(headers.getFirst(HttpHeaders.EXPIRES));
	}

	if (cookie.getSecure()) {
		buf.append("; Secure");
	}
	if (cookie.isHttpOnly()) {
		buf.append("; HttpOnly");
	}
	if (cookie instanceof MockCookie) {
		MockCookie mockCookie = (MockCookie) cookie;
		if (StringUtils.hasText(mockCookie.getSameSite())) {
			buf.append("; SameSite=").append(mockCookie.getSameSite());
		}
	}
	return buf.toString();
}
 
private String getCookieHeader(Cookie cookie) {
	StringBuilder buf = new StringBuilder();
	buf.append(cookie.getName()).append('=').append(cookie.getValue() == null ? "" : cookie.getValue());
	if (StringUtils.hasText(cookie.getPath())) {
		buf.append("; Path=").append(cookie.getPath());
	}
	if (StringUtils.hasText(cookie.getDomain())) {
		buf.append("; Domain=").append(cookie.getDomain());
	}
	int maxAge = cookie.getMaxAge();
	if (maxAge >= 0) {
		buf.append("; Max-Age=").append(maxAge);
		buf.append("; Expires=");
		HttpHeaders headers = new HttpHeaders();
		headers.setExpires(maxAge > 0 ? System.currentTimeMillis() + 1000L * maxAge : 0);
		buf.append(headers.getFirst(HttpHeaders.EXPIRES));
	}

	if (cookie.getSecure()) {
		buf.append("; Secure");
	}
	if (cookie.isHttpOnly()) {
		buf.append("; HttpOnly");
	}
	if (cookie instanceof MockCookie) {
		MockCookie mockCookie = (MockCookie) cookie;
		if (StringUtils.hasText(mockCookie.getSameSite())) {
			buf.append("; SameSite=").append(mockCookie.getSameSite());
		}
	}
	return buf.toString();
}
 
private String getCookieHeader(Cookie cookie) {
	StringBuilder buf = new StringBuilder();
	buf.append(cookie.getName()).append('=').append(cookie.getValue() == null ? "" : cookie.getValue());
	if (StringUtils.hasText(cookie.getPath())) {
		buf.append("; Path=").append(cookie.getPath());
	}
	if (StringUtils.hasText(cookie.getDomain())) {
		buf.append("; Domain=").append(cookie.getDomain());
	}
	int maxAge = cookie.getMaxAge();
	if (maxAge >= 0) {
		buf.append("; Max-Age=").append(maxAge);
		buf.append("; Expires=");
		HttpHeaders headers = new HttpHeaders();
		headers.setExpires(maxAge > 0 ? System.currentTimeMillis() + 1000L * maxAge : 0);
		buf.append(headers.getFirst(HttpHeaders.EXPIRES));
	}

	if (cookie.getSecure()) {
		buf.append("; Secure");
	}
	if (cookie.isHttpOnly()) {
		buf.append("; HttpOnly");
	}
	if (cookie instanceof MockCookie) {
		MockCookie mockCookie = (MockCookie) cookie;
		if (StringUtils.hasText(mockCookie.getSameSite())) {
			buf.append("; SameSite=").append(mockCookie.getSameSite());
		}
	}
	return buf.toString();
}
 
源代码7 项目: fenixedu-academic   文件: PhotographController.java
@RequestMapping(value = "{username:.+}", method = RequestMethod.GET)
public ResponseEntity<byte[]> get(@PathVariable String username, @RequestParam(value = "s", required = false,
        defaultValue = "100") Integer size, @RequestHeader(value = "If-None-Match", required = false) String ifNoneMatch)
        throws IOException {

    if (size <= 0) {
        size = 100;
    }
    if (size > 512) {
        size = 512;
    }

    User user = User.findByUsername(username);

    if (user != null && user.getPerson() != null) {
        final Photograph personalPhoto =
                user.getPerson().isPhotoAvailableToCurrentUser() ? user.getPerson().getPersonalPhoto() : null;

        HttpHeaders headers = new HttpHeaders();
        String etag = "W/\"" + (personalPhoto == null ? "mm-av" : personalPhoto.getExternalId()) + "-" + size + "\"";
        headers.setETag(etag);
        headers.setExpires(DateTime.now().plusWeeks(2).getMillis());
        headers.setCacheControl("max-age=1209600");

        if (etag.equals(ifNoneMatch)) {
            return new ResponseEntity<>(headers, HttpStatus.NOT_MODIFIED);
        }

        if (personalPhoto != null) {
            headers.set("Content-Type", personalPhoto.getOriginal().getPictureFileFormat().getMimeType());
            return new ResponseEntity<>(personalPhoto.getCustomAvatar(size, size, PictureMode.ZOOM), headers, HttpStatus.OK);
        } else {
            try (InputStream mm =
                    PhotographController.class.getClassLoader().getResourceAsStream("META-INF/resources/img/mysteryman.png")) {
                headers.set("Content-Type", "image/png");
                return new ResponseEntity<>(Avatar.process(mm, "image/png", size), headers, HttpStatus.OK);
            }
        }
    }

    throw BennuCoreDomainException.resourceNotFound(username);
}