【发布时间】:2020-09-17 07:17:05
【问题描述】:
在 micronaut 过滤器中,我指定自己的标题,例如。 G。我使用“max-age”指令设置“Cache-Control”标头。因此,我想删除“Expires”标头,因为通过使用“Cache-Control”,“Expires”标头会被忽略 1。
从过滤器返回 StreamedFile 时,“Expires”和“Date”标头由 FileTypeHandler 2 设置,我不知道如何更改。
有没有办法改变它?
例子:
@Filter("/**")
public class MyFilter implements HttpServerFilter {
@Inject
ImageService imageService;
@Override
public Publisher<MutableHttpResponse<?>> doFilter(HttpRequest<?> request, ServerFilterChain chain) {
File image = imageService.getImage(request);
return Publishers.just(
HttpResponse.ok(new StreamedFile(new FileInputStream(image), MediaType.IMAGE_JPEG_TYPE))
.header("Cache-Control", "max-age=31449600")
.header("Access-Control-Allow-Methods", "GET")
.header("Referrer-Policy", "same-origin")
);
}
}
【问题讨论】: