@@ -23,11 +23,15 @@ import java.util.concurrent.ThreadLocalRandom
2323
2424class RequestDecompressionConfigSpec extends Specification {
2525
26- def ' server request decompression can be disabled' (CharSequence contentEncoding, Object compressor) {
26+ def ' server request decompression can be disabled' (CharSequence contentEncoding, Object compressor, boolean http2 ) {
2727 given : ' an embedded server with request decompression disabled'
2828 Map<String , Object > cfg = [
29- ' spec.name' : ' RequestDecompressionConfigSpec' ,
30- ' micronaut.server.netty.request-decompression-enabled' : false
29+ ' spec.name' : ' RequestDecompressionConfigSpec' ,
30+ ' micronaut.server.netty.request-decompression-enabled' : false ,
31+ ' micronaut.server.ssl.port' : 0 ,
32+ ' micronaut.http.client.http-version' : http2 ? ' 2.0' : ' 1.1' ,
33+ ' micronaut.server.http-version' : http2 ? ' 2.0' : ' 1.1' ,
34+ ' micronaut.http.client.ssl.insecure-trust-all-certificates' : true ,
3135 ]
3236 EmbeddedServer server = ApplicationContext . run(EmbeddedServer , cfg)
3337 def client = server. applicationContext. createBean(HttpClient , server.URI ). toBlocking()
@@ -67,15 +71,23 @@ class RequestDecompressionConfigSpec extends Specification {
6771 server. stop()
6872
6973 where :
70- contentEncoding | compressor
71- HttpHeaderValues . GZIP | ZlibWrapper . GZIP
72- HttpHeaderValues . X_GZIP | ZlibWrapper . GZIP
74+ contentEncoding | compressor | http2
75+ HttpHeaderValues . GZIP | ZlibWrapper . GZIP | false
76+ HttpHeaderValues . X_GZIP | ZlibWrapper . GZIP | false
7377 // deflate can mean raw (NONE) or zlib wrapper; ensure both do not get decompressed by server
74- HttpHeaderValues . DEFLATE | ZlibWrapper . NONE
75- HttpHeaderValues . X_DEFLATE | ZlibWrapper . NONE
76- HttpHeaderValues . DEFLATE | ZlibWrapper . ZLIB
77- HttpHeaderValues . X_DEFLATE | ZlibWrapper . ZLIB
78- HttpHeaderValues . SNAPPY | new SnappyFrameEncoder ()
78+ HttpHeaderValues . DEFLATE | ZlibWrapper . NONE | false
79+ HttpHeaderValues . X_DEFLATE | ZlibWrapper . NONE | false
80+ HttpHeaderValues . DEFLATE | ZlibWrapper . ZLIB | false
81+ HttpHeaderValues . X_DEFLATE | ZlibWrapper . ZLIB | false
82+ HttpHeaderValues . SNAPPY | new SnappyFrameEncoder () | false
83+ HttpHeaderValues . GZIP | ZlibWrapper . GZIP | true
84+ HttpHeaderValues . X_GZIP | ZlibWrapper . GZIP | true
85+ // deflate can mean raw (NONE) or zlib wrapper; ensure both do not get decompressed by server
86+ HttpHeaderValues . DEFLATE | ZlibWrapper . NONE | true
87+ HttpHeaderValues . X_DEFLATE | ZlibWrapper . NONE | true
88+ HttpHeaderValues . DEFLATE | ZlibWrapper . ZLIB | true
89+ HttpHeaderValues . X_DEFLATE | ZlibWrapper . ZLIB | true
90+ HttpHeaderValues . SNAPPY | new SnappyFrameEncoder () | true
7991 }
8092
8193 @Requires (property = " spec.name" , value = " RequestDecompressionConfigSpec" )
0 commit comments