Merge branch '2.2.x'

Closes gh-20957
pull/20961/head
Brian Clozel 5 years ago
commit 939bb87a02

@ -32,6 +32,7 @@ import io.undertow.util.HttpString;
import org.springframework.boot.web.server.Compression; import org.springframework.boot.web.server.Compression;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.util.InvalidMimeTypeException;
import org.springframework.util.MimeType; import org.springframework.util.MimeType;
import org.springframework.util.MimeTypeUtils; import org.springframework.util.MimeTypeUtils;
@ -90,12 +91,18 @@ final class UndertowCompressionConfigurer {
public boolean resolve(HttpServerExchange value) { public boolean resolve(HttpServerExchange value) {
String contentType = value.getResponseHeaders().getFirst(HttpHeaders.CONTENT_TYPE); String contentType = value.getResponseHeaders().getFirst(HttpHeaders.CONTENT_TYPE);
if (contentType != null) { if (contentType != null) {
try {
MimeType parsed = MimeTypeUtils.parseMimeType(contentType);
for (MimeType mimeType : this.mimeTypes) { for (MimeType mimeType : this.mimeTypes) {
if (mimeType.isCompatibleWith(MimeTypeUtils.parseMimeType(contentType))) { if (mimeType.isCompatibleWith(parsed)) {
return true; return true;
} }
} }
} }
catch (InvalidMimeTypeException ex) {
return false;
}
}
return false; return false;
} }

@ -447,10 +447,12 @@ public abstract class AbstractReactiveWebServerFactoryTests {
} }
protected void assertResponseIsCompressed(ResponseEntity<Void> response) { protected void assertResponseIsCompressed(ResponseEntity<Void> response) {
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(response.getHeaders().getFirst("X-Test-Compressed")).isEqualTo("true"); assertThat(response.getHeaders().getFirst("X-Test-Compressed")).isEqualTo("true");
} }
protected void assertResponseIsNotCompressed(ResponseEntity<Void> response) { protected void assertResponseIsNotCompressed(ResponseEntity<Void> response) {
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(response.getHeaders().keySet()).doesNotContain("X-Test-Compressed"); assertThat(response.getHeaders().keySet()).doesNotContain("X-Test-Compressed");
} }

Loading…
Cancel
Save