File tree Expand file tree Collapse file tree 2 files changed +8
-3
lines changed
main/java/org/springframework/web/reactive/function/server
test/java/org/springframework/web/reactive/function/server Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Original file line number Diff line number Diff line change 18
18
19
19
import java .net .URI ;
20
20
import java .util .Arrays ;
21
+ import java .util .Collections ;
21
22
import java .util .HashSet ;
22
23
import java .util .List ;
23
24
import java .util .Map ;
35
36
import org .springframework .http .MediaType ;
36
37
import org .springframework .http .server .reactive .ServerHttpRequest ;
37
38
import org .springframework .util .Assert ;
38
- import org .springframework .util .StringUtils ;
39
39
import org .springframework .web .reactive .function .BodyExtractor ;
40
40
import org .springframework .web .server .WebSession ;
41
41
import org .springframework .web .util .UriUtils ;
@@ -157,7 +157,12 @@ public static RequestPredicate accept(MediaType... mediaTypes) {
157
157
@ Override
158
158
public boolean test (ServerRequest .Headers headers ) {
159
159
List <MediaType > acceptedMediaTypes = headers .accept ();
160
- MediaType .sortBySpecificityAndQuality (acceptedMediaTypes );
160
+ if (acceptedMediaTypes .isEmpty ()) {
161
+ acceptedMediaTypes = Collections .singletonList (MediaType .ALL );
162
+ }
163
+ else {
164
+ MediaType .sortBySpecificityAndQuality (acceptedMediaTypes );
165
+ }
161
166
boolean match = acceptedMediaTypes .stream ()
162
167
.anyMatch (acceptedMediaType -> mediaTypeSet .stream ()
163
168
.anyMatch (acceptedMediaType ::isCompatibleWith ));
Original file line number Diff line number Diff line change @@ -140,7 +140,7 @@ public void accept() throws Exception {
140
140
MockServerRequest request = MockServerRequest .builder ().header ("Accept" , json .toString ()).build ();
141
141
assertTrue (predicate .test (request ));
142
142
143
- request = MockServerRequest .builder ().build ();
143
+ request = MockServerRequest .builder ().header ( "Accept" , MediaType . TEXT_XML_VALUE ). build ();
144
144
assertFalse (predicate .test (request ));
145
145
}
146
146
You can’t perform that action at this time.
0 commit comments