@@ -83,7 +83,6 @@ public class SecureHeadersGatewayFilterFactory
83
83
*/
84
84
public static final String X_PERMITTED_CROSS_DOMAIN_POLICIES_HEADER = SecureHeadersProperties .X_PERMITTED_CROSS_DOMAIN_POLICIES_HEADER ;
85
85
86
-
87
86
private final SecureHeadersProperties properties ;
88
87
89
88
public SecureHeadersGatewayFilterFactory (SecureHeadersProperties properties ) {
@@ -106,8 +105,9 @@ public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
106
105
Set <String > headersToAddToResponse = assembleHeaders (originalConfig , properties );
107
106
108
107
Config config = originalConfig .withDefaults (properties );
109
- return chain .filter (exchange ).then (Mono .fromRunnable (() ->
110
- applySecurityHeaders (responseHeaders , headersToAddToResponse , config )));
108
+ return chain .filter (exchange )
109
+ .then (Mono
110
+ .fromRunnable (() -> applySecurityHeaders (responseHeaders , headersToAddToResponse , config )));
111
111
}
112
112
113
113
@ Override
@@ -120,36 +120,32 @@ public String toString() {
120
120
/**
121
121
* Applies security headers to the response using the given filter configuration.
122
122
* @param responseHeaders - the http headers of the response
123
- * @param headersToAddToResponse - the security headers that are to be added to the response
123
+ * @param headersToAddToResponse - the security headers that are to be added to the
124
+ * response
124
125
* @param config - the security filter configuration
125
126
*/
126
127
private void applySecurityHeaders (HttpHeaders responseHeaders , Set <String > headersToAddToResponse , Config config ) {
127
128
128
- addHeaderIfEnabled (responseHeaders , headersToAddToResponse ,
129
- SecureHeadersProperties . X_XSS_PROTECTION_HEADER , config .getXssProtectionHeaderValue ());
129
+ addHeaderIfEnabled (responseHeaders , headersToAddToResponse , SecureHeadersProperties . X_XSS_PROTECTION_HEADER ,
130
+ config .getXssProtectionHeaderValue ());
130
131
131
132
addHeaderIfEnabled (responseHeaders , headersToAddToResponse ,
132
133
SecureHeadersProperties .STRICT_TRANSPORT_SECURITY_HEADER ,
133
134
config .getStrictTransportSecurityHeaderValue ());
134
135
135
- addHeaderIfEnabled (responseHeaders , headersToAddToResponse ,
136
- SecureHeadersProperties .X_FRAME_OPTIONS_HEADER ,
136
+ addHeaderIfEnabled (responseHeaders , headersToAddToResponse , SecureHeadersProperties .X_FRAME_OPTIONS_HEADER ,
137
137
config .getFrameOptionsHeaderValue ());
138
138
139
139
addHeaderIfEnabled (responseHeaders , headersToAddToResponse ,
140
- SecureHeadersProperties .X_CONTENT_TYPE_OPTIONS_HEADER ,
141
- config .getContentTypeOptionsHeaderValue ());
140
+ SecureHeadersProperties .X_CONTENT_TYPE_OPTIONS_HEADER , config .getContentTypeOptionsHeaderValue ());
142
141
143
- addHeaderIfEnabled (responseHeaders , headersToAddToResponse ,
144
- SecureHeadersProperties .REFERRER_POLICY_HEADER ,
142
+ addHeaderIfEnabled (responseHeaders , headersToAddToResponse , SecureHeadersProperties .REFERRER_POLICY_HEADER ,
145
143
config .getReferrerPolicyHeaderValue ());
146
144
147
145
addHeaderIfEnabled (responseHeaders , headersToAddToResponse ,
148
- SecureHeadersProperties .CONTENT_SECURITY_POLICY_HEADER ,
149
- config .getContentSecurityPolicyHeaderValue ());
146
+ SecureHeadersProperties .CONTENT_SECURITY_POLICY_HEADER , config .getContentSecurityPolicyHeaderValue ());
150
147
151
- addHeaderIfEnabled (responseHeaders , headersToAddToResponse ,
152
- SecureHeadersProperties .X_DOWNLOAD_OPTIONS_HEADER ,
148
+ addHeaderIfEnabled (responseHeaders , headersToAddToResponse , SecureHeadersProperties .X_DOWNLOAD_OPTIONS_HEADER ,
153
149
config .getDownloadOptionsHeaderValue ());
154
150
155
151
addHeaderIfEnabled (responseHeaders , headersToAddToResponse ,
@@ -164,15 +160,14 @@ private void applySecurityHeaders(HttpHeaders responseHeaders, Set<String> heade
164
160
}
165
161
}
166
162
167
- addHeaderIfEnabled (responseHeaders , headersToAddToResponse ,
168
- SecureHeadersProperties .PERMISSIONS_POLICY_HEADER ,
163
+ addHeaderIfEnabled (responseHeaders , headersToAddToResponse , SecureHeadersProperties .PERMISSIONS_POLICY_HEADER ,
169
164
permissionPolicyHeaderValue );
170
165
}
171
166
172
167
/**
173
- * Assembles the set of security headers that are to be applied to the response
174
- * - When route specific arguments are set, route specific headers are applied.
175
- * - When no route specific arguments are set, global default headers are applied.
168
+ * Assembles the set of security headers that are to be applied to the response - When
169
+ * route specific arguments are set, route specific headers are applied. - When no
170
+ * route specific arguments are set, global default headers are applied.
176
171
* @param config - the global / route configuration supplied
177
172
* @param properties - default security headers configuration provided
178
173
* @return set of security headers that are to be added to the response
@@ -190,8 +185,8 @@ private Set<String> assembleHeaders(Config config, SecureHeadersProperties prope
190
185
return headersToAddToResponse ;
191
186
}
192
187
193
-
194
- private void addHeaderIfEnabled ( HttpHeaders headers , Set < String > headersToAdd , String headerName , String headerValue ) {
188
+ private void addHeaderIfEnabled ( HttpHeaders headers , Set < String > headersToAdd , String headerName ,
189
+ String headerValue ) {
195
190
if (headersToAdd .contains (headerName .toLowerCase (Locale .ROOT ))) {
196
191
headers .addIfAbsent (headerName , headerValue );
197
192
}
@@ -362,7 +357,9 @@ public void setPermissionPolicyHeaderValue(String permissionPolicyHeaderValue) {
362
357
void setEnable (Set <String > enable ) {
363
358
if (enable != null ) {
364
359
this .routeFilterConfigProvided = true ;
365
- this .routeEnabledHeaders = enable .stream ().map (String ::toLowerCase ).collect (Collectors .toUnmodifiableSet ());
360
+ this .routeEnabledHeaders = enable .stream ()
361
+ .map (String ::toLowerCase )
362
+ .collect (Collectors .toUnmodifiableSet ());
366
363
}
367
364
}
368
365
@@ -379,7 +376,9 @@ Set<String> getRouteEnabledHeaders() {
379
376
void setDisable (Set <String > disable ) {
380
377
if (disable != null ) {
381
378
this .routeFilterConfigProvided = true ;
382
- this .routeDisabledHeaders = disable .stream ().map (String ::toLowerCase ).collect (Collectors .toUnmodifiableSet ());
379
+ this .routeDisabledHeaders = disable .stream ()
380
+ .map (String ::toLowerCase )
381
+ .collect (Collectors .toUnmodifiableSet ());
383
382
}
384
383
}
385
384
0 commit comments