Repository: zeppelin Updated Branches: refs/heads/branch-0.7 88e8cff36 -> 68190f958
[ZEPPELIN-2896] Replacing addHeader with setHeader method in CorsFilter.java ### What is this PR for? HTTP Response Headers were being added multiple times. Replacing addHeader method with setHeader overrides the Response Header value with new/existing value instead of adding another duplicate response Header. ### What type of PR is it? [Bug Fix] ### What is the Jira issue? * https://issues.apache.org/jira/browse/ZEPPELIN-2896 ### How should this be tested? Open the Zeppelin URL in Chrome Browser. Select "More Tools" -> "Developer Tools" from the right-side menu. Under Network Section, select the request with name "localhost" and check for "Response Headers". You should see response headers appearing only once. ![screen shot 2017-09-04 at 3 21 32 pm](https://user-images.githubusercontent.com/6433184/30021436-feb7a6e4-9184-11e7-9161-f9f8350b7df2.png) Author: krishna-pandey <krish.pande...@gmail.com> Closes #2564 from krishna-pandey/ZEPPELIN-2896 and squashes the following commits: 66aa3b229 [krishna-pandey] Fixing test cases in CorsFilterTest.java 89a3fdcd3 [krishna-pandey] replacing addHeader with setHeader (cherry picked from commit faa9d861571d80f3061940fbee5d0f11cc4acac3) Signed-off-by: Prabhjyot Singh <prabhjyotsi...@gmail.com> Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/68190f95 Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/68190f95 Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/68190f95 Branch: refs/heads/branch-0.7 Commit: 68190f95857a6a756d925db223e36bf1b0f00041 Parents: 88e8cff Author: krishna-pandey <krish.pande...@gmail.com> Authored: Tue Sep 5 12:18:54 2017 +0530 Committer: Prabhjyot Singh <prabhjyotsi...@gmail.com> Committed: Wed Sep 6 16:19:35 2017 +0530 ---------------------------------------------------------------------- .../java/org/apache/zeppelin/server/CorsFilter.java | 16 ++++++++-------- .../org/apache/zeppelin/server/CorsFilterTest.java | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zeppelin/blob/68190f95/zeppelin-server/src/main/java/org/apache/zeppelin/server/CorsFilter.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/server/CorsFilter.java b/zeppelin-server/src/main/java/org/apache/zeppelin/server/CorsFilter.java index 3a74bf4..b5cca5b 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/server/CorsFilter.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/server/CorsFilter.java @@ -73,19 +73,19 @@ public class CorsFilter implements Filter { } private void addCorsHeaders(HttpServletResponse response, String origin) { - response.addHeader("Access-Control-Allow-Origin", origin); - response.addHeader("Access-Control-Allow-Credentials", "true"); - response.addHeader("Access-Control-Allow-Headers", "authorization,Content-Type"); - response.addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, HEAD, DELETE"); + response.setHeader("Access-Control-Allow-Origin", origin); + response.setHeader("Access-Control-Allow-Credentials", "true"); + response.setHeader("Access-Control-Allow-Headers", "authorization,Content-Type"); + response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, HEAD, DELETE"); DateFormat fullDateFormatEN = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, new Locale("EN", "en")); - response.addHeader("Date", fullDateFormatEN.format(new Date())); + response.setHeader("Date", fullDateFormatEN.format(new Date())); ZeppelinConfiguration zeppelinConfiguration = ZeppelinConfiguration.create(); - response.addHeader("X-FRAME-OPTIONS", zeppelinConfiguration.getXFrameOptions()); + response.setHeader("X-FRAME-OPTIONS", zeppelinConfiguration.getXFrameOptions()); if (zeppelinConfiguration.useSsl()) { - response.addHeader("Strict-Transport-Security", zeppelinConfiguration.getStrictTransport()); + response.setHeader("Strict-Transport-Security", zeppelinConfiguration.getStrictTransport()); } - response.addHeader("X-XSS-Protection", zeppelinConfiguration.getXxssProtection()); + response.setHeader("X-XSS-Protection", zeppelinConfiguration.getXxssProtection()); } @Override http://git-wip-us.apache.org/repos/asf/zeppelin/blob/68190f95/zeppelin-server/src/test/java/org/apache/zeppelin/server/CorsFilterTest.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/server/CorsFilterTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/server/CorsFilterTest.java index df2a6e9..7ee9951 100644 --- a/zeppelin-server/src/test/java/org/apache/zeppelin/server/CorsFilterTest.java +++ b/zeppelin-server/src/test/java/org/apache/zeppelin/server/CorsFilterTest.java @@ -58,7 +58,7 @@ public class CorsFilterTest { count++; return null; } - }).when(mockResponse).addHeader(anyString(), anyString()); + }).when(mockResponse).setHeader(anyString(), anyString()); filter.doFilter(mockRequest, mockResponse, mockedFilterChain); Assert.assertTrue(headers[0].equals("http://localhost:8080")); @@ -82,7 +82,7 @@ public class CorsFilterTest { count++; return null; } - }).when(mockResponse).addHeader(anyString(), anyString()); + }).when(mockResponse).setHeader(anyString(), anyString()); filter.doFilter(mockRequest, mockResponse, mockedFilterChain); Assert.assertTrue(headers[0].equals(""));