Skip to content

Commit 8287289

Browse files
joerg-richter-5234marcusdacoregio
authored andcommitted
Fix XContentTypeOptionsServerHttpHeadersWriter
set constant value to X-Content-Type-Options Closes gh-13155
1 parent 1eefd43 commit 8287289

File tree

2 files changed

+39
-4
lines changed

2 files changed

+39
-4
lines changed

web/src/main/java/org/springframework/security/web/server/header/XContentTypeOptionsServerHttpHeadersWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
*/
2929
public class XContentTypeOptionsServerHttpHeadersWriter implements ServerHttpHeadersWriter {
3030

31-
public static final String X_CONTENT_OPTIONS = "X-Content-Options";
31+
public static final String X_CONTENT_OPTIONS = "X-Content-Type-Options";
3232

3333
public static final String NOSNIFF = "nosniff";
3434

web/src/test/java/org/springframework/security/web/server/header/XContentTypeOptionsServerHttpHeadersWriterTests.java

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,14 @@
3232
public class XContentTypeOptionsServerHttpHeadersWriterTests {
3333

3434
ContentTypeOptionsServerHttpHeadersWriter writer = new ContentTypeOptionsServerHttpHeadersWriter();
35-
3635
ServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
37-
3836
HttpHeaders headers = this.exchange.getResponse().getHeaders();
3937

38+
39+
XContentTypeOptionsServerHttpHeadersWriter writerXContentType = new XContentTypeOptionsServerHttpHeadersWriter();
40+
ServerWebExchange exchangeXContentType = MockServerWebExchange.from(MockServerHttpRequest.get("/").build());
41+
HttpHeaders headersXContentType = this.exchangeXContentType.getResponse().getHeaders();
42+
4043
@Test
4144
public void writeHeadersWhenNoHeadersThenWriteHeaders() {
4245
this.writer.writeHttpHeaders(this.exchange);
@@ -46,7 +49,7 @@ public void writeHeadersWhenNoHeadersThenWriteHeaders() {
4649
}
4750

4851
@Test
49-
public void writeHeadersWhenHeaderWrittenThenDoesNotOverrride() {
52+
public void writeHeadersWhenHeaderWrittenThenDoesNotOverride() {
5053
String headerValue = "value";
5154
this.headers.set(ContentTypeOptionsServerHttpHeadersWriter.X_CONTENT_OPTIONS, headerValue);
5255
this.writer.writeHttpHeaders(this.exchange);
@@ -55,4 +58,36 @@ public void writeHeadersWhenHeaderWrittenThenDoesNotOverrride() {
5558
.containsOnly(headerValue);
5659
}
5760

61+
@Test
62+
public void constantsMatchExpectedHeaderAndValue() {
63+
assertThat(ContentTypeOptionsServerHttpHeadersWriter.X_CONTENT_OPTIONS)
64+
.isEqualTo("X-Content-Type-Options");
65+
assertThat(ContentTypeOptionsServerHttpHeadersWriter.NOSNIFF).isEqualTo("nosniff");
66+
}
67+
68+
@Test
69+
public void writeHeadersWhenNoHeadersThenWriteHeadersForXContentTypeOptionsServerHttpHeadersWriter() {
70+
this.writerXContentType.writeHttpHeaders(this.exchangeXContentType);
71+
assertThat(this.headersXContentType).hasSize(1);
72+
assertThat(this.headersXContentType.get(XContentTypeOptionsServerHttpHeadersWriter.X_CONTENT_OPTIONS))
73+
.containsOnly(XContentTypeOptionsServerHttpHeadersWriter.NOSNIFF);
74+
}
75+
76+
@Test
77+
public void writeHeadersWhenHeaderWrittenThenDoesNotOverrideForXContentTypeOptionsServerHttpHeadersWriter() {
78+
String headerValue = "value";
79+
this.headersXContentType.set(XContentTypeOptionsServerHttpHeadersWriter.X_CONTENT_OPTIONS, headerValue);
80+
this.writerXContentType.writeHttpHeaders(this.exchangeXContentType);
81+
assertThat(this.headersXContentType).hasSize(1);
82+
assertThat(this.headersXContentType.get(XContentTypeOptionsServerHttpHeadersWriter.X_CONTENT_OPTIONS))
83+
.containsOnly(headerValue);
84+
}
85+
86+
@Test
87+
public void constantsMatchExpectedHeaderAndValueForXContentTypeOptionsServerHttpHeadersWriter() {
88+
assertThat(XContentTypeOptionsServerHttpHeadersWriter.X_CONTENT_OPTIONS)
89+
.isEqualTo("X-Content-Type-Options");
90+
assertThat(XContentTypeOptionsServerHttpHeadersWriter.NOSNIFF).isEqualTo("nosniff");
91+
}
92+
5893
}

0 commit comments

Comments
 (0)