Skip to content

Commit 1f97f54

Browse files
authored
Enable HTTP compression support on all platforms (microsoft#1322)
1 parent d29cfa1 commit 1f97f54

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

Release/src/http/common/http_compression.cpp

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,9 @@
1717
// it. CPPREST_EXCLUDE_BROTLI is set if we want to explicitly disable Brotli compression support.
1818
// CPPREST_EXCLUDE_WEBSOCKETS is a flag that now essentially means "no external dependencies". TODO: Rename
1919

20-
#if __APPLE__
21-
#include "TargetConditionals.h"
22-
#if defined(TARGET_OS_MAC)
23-
#if !defined(CPPREST_EXCLUDE_COMPRESSION)
24-
#define CPPREST_HTTP_COMPRESSION
25-
#endif // !defined(CPPREST_EXCLUDE_COMPRESSION)
26-
#endif // defined(TARGET_OS_MAC)
27-
#elif defined(_WIN32) && (!defined(WINAPI_FAMILY) || WINAPI_PARTITION_DESKTOP)
2820
#if !defined(CPPREST_EXCLUDE_WEBSOCKETS) && !defined(CPPREST_EXCLUDE_COMPRESSION)
2921
#define CPPREST_HTTP_COMPRESSION
3022
#endif // !defined(CPPREST_EXCLUDE_WEBSOCKETS) && !defined(CPPREST_EXCLUDE_COMPRESSION)
31-
#endif
3223

3324
#if defined(CPPREST_HTTP_COMPRESSION)
3425
#include <zlib.h>
@@ -277,7 +268,7 @@ class gzip_compressor : public zlib_compressor_base
277268
class gzip_decompressor : public zlib_decompressor_base
278269
{
279270
public:
280-
gzip_decompressor() : zlib_decompressor_base(16) // gzip auto-detect
271+
gzip_decompressor() : zlib_decompressor_base(31) // 15 is MAX_WBITS in zconf.h; add 16 for gzip
281272
{
282273
}
283274
};

Release/tests/functional/http/client/compression_tests.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,19 +376,31 @@ SUITE(compression_tests)
376376
}
377377
}
378378

379-
TEST_FIXTURE(uri_address, compress_and_decompress)
379+
TEST_FIXTURE(uri_address, compress_and_decompress_fake)
380380
{
381381
compress_test(nullptr, nullptr); // FAKE
382+
}
383+
384+
TEST_FIXTURE(uri_address, compress_and_decompress_gzip)
385+
{
382386
if (builtin::algorithm::supported(builtin::algorithm::GZIP))
383387
{
384388
compress_test(builtin::get_compress_factory(builtin::algorithm::GZIP),
385389
builtin::get_decompress_factory(builtin::algorithm::GZIP));
386390
}
391+
}
392+
393+
TEST_FIXTURE(uri_address, compress_and_decompress_deflate)
394+
{
387395
if (builtin::algorithm::supported(builtin::algorithm::DEFLATE))
388396
{
389397
compress_test(builtin::get_compress_factory(builtin::algorithm::DEFLATE),
390398
builtin::get_decompress_factory(builtin::algorithm::DEFLATE));
391399
}
400+
}
401+
402+
TEST_FIXTURE(uri_address, compress_and_decompress_brotli)
403+
{
392404
if (builtin::algorithm::supported(builtin::algorithm::BROTLI))
393405
{
394406
compress_test(builtin::get_compress_factory(builtin::algorithm::BROTLI),

0 commit comments

Comments
 (0)