From 168f4b8f70941ea1bc58656b4b54af284f4f0a82 Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Wed, 1 Mar 2017 16:14:12 -0600 Subject: [PATCH] Prevent Duplicate Cache Headers Fixes gh-4199 --- .../writers/CacheControlHeadersWriter.java | 48 ++++++++-- .../CacheControlHeadersWriterTests.java | 94 ++++++++++++++++--- 2 files changed, 123 insertions(+), 19 deletions(-) diff --git a/web/src/main/java/org/springframework/security/web/header/writers/CacheControlHeadersWriter.java b/web/src/main/java/org/springframework/security/web/header/writers/CacheControlHeadersWriter.java index ae6c93443e..c4415fbe78 100644 --- a/web/src/main/java/org/springframework/security/web/header/writers/CacheControlHeadersWriter.java +++ b/web/src/main/java/org/springframework/security/web/header/writers/CacheControlHeadersWriter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,14 +15,20 @@ */ package org.springframework.security.web.header.writers; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + import org.springframework.security.web.header.Header; +import org.springframework.security.web.header.HeaderWriter; +import org.springframework.util.ReflectionUtils; /** - * A {@link StaticHeadersWriter} that inserts headers to prevent caching. Specifically it - * adds the following headers: + * Inserts headers to prevent caching if no cache control headers have been specified. + * Specifically it adds the following headers: *