diff --git a/docs/02_concepts/13_http_compression.mdx b/docs/02_concepts/13_http_compression.mdx index b35bd84c..79e26b38 100644 --- a/docs/02_concepts/13_http_compression.mdx +++ b/docs/02_concepts/13_http_compression.mdx @@ -146,7 +146,7 @@ client = ApifyClient(token='MY-APIFY-TOKEN', compression=IdentityCompressor()) | **Availability** | Requires the `brotli` extra | Built-in, no extra needed | | **`Content-Encoding` header** | `br` | `gzip` | | **Quality range** | `0–11` | `1–9` | -| **Default quality** | `6` | `9` | +| **Default quality** | `6` | `6` | | **Enable via config** | `compression='brotli'` | `compression='gzip'` (default) | | **Best for** | Large payloads where bandwidth matters | Minimal-dependency environments | diff --git a/src/apify_client/http_compressors/_gzip.py b/src/apify_client/http_compressors/_gzip.py index d4a3c6f4..fcab22df 100644 --- a/src/apify_client/http_compressors/_gzip.py +++ b/src/apify_client/http_compressors/_gzip.py @@ -19,7 +19,7 @@ class GzipHttpCompressor(HttpCompressor): _max_quality = 9 """Highest valid quality (slowest, best compression).""" - def __init__(self, *, quality: int = _max_quality) -> None: + def __init__(self, *, quality: int = 6) -> None: """Initialize the gzip compressor. Args: diff --git a/tests/unit/test_http_compressors.py b/tests/unit/test_http_compressors.py index 4c8bf15f..db0b245f 100644 --- a/tests/unit/test_http_compressors.py +++ b/tests/unit/test_http_compressors.py @@ -6,6 +6,7 @@ import sys from contextlib import contextmanager from typing import TYPE_CHECKING +from unittest.mock import Mock import brotli import pytest @@ -59,6 +60,15 @@ def _affected(name: str) -> bool: sys.modules.update(saved) +def test_gzip_compressor_defaults_to_quality_6(monkeypatch: pytest.MonkeyPatch) -> None: + """Gzip compressor uses compression level `6` when no quality is given.""" + compress = Mock(return_value=b'compressed') + monkeypatch.setattr(gzip, 'compress', compress) + + assert GzipHttpCompressor().compress(b'payload') == b'compressed' + compress.assert_called_once_with(b'payload', compresslevel=6) + + @pytest.mark.parametrize( 'quality', [