foghttp 0.3.4__tar.gz → 0.3.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {foghttp-0.3.4 → foghttp-0.3.6}/.github/workflows/ci.yml +70 -2
- {foghttp-0.3.4 → foghttp-0.3.6}/.github/workflows/release.yml +129 -30
- {foghttp-0.3.4 → foghttp-0.3.6}/.pre-commit-config.yaml +4 -4
- {foghttp-0.3.4 → foghttp-0.3.6}/Cargo.lock +53 -54
- {foghttp-0.3.4 → foghttp-0.3.6}/Cargo.toml +18 -13
- {foghttp-0.3.4 → foghttp-0.3.6}/PKG-INFO +48 -26
- {foghttp-0.3.4 → foghttp-0.3.6}/README.md +40 -25
- foghttp-0.3.6/docs/benchmarks.md +230 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/index.md +26 -17
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/lifecycle.md +126 -19
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/limitations.md +39 -30
- foghttp-0.3.6/docs/packaging.md +55 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/proxies.md +3 -3
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/quickstart.md +84 -28
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/redirects.md +36 -9
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/request-builder.md +109 -18
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/streaming.md +4 -2
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/telemetry.md +14 -7
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/timeouts.md +107 -53
- foghttp-0.3.6/docs/upload-types.md +92 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/use-cases.md +14 -9
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/README.md +6 -3
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/async_resource_limits.py +1 -0
- foghttp-0.3.6/examples/multipart_uploads.py +51 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/__init__.py +2 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/config.py +3 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/core.py +49 -97
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/options.py +6 -7
- foghttp-0.3.6/foghttp/_client/process.py +39 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/raw/errors.py +12 -10
- foghttp-0.3.6/foghttp/_client/raw/lifecycle.py +44 -0
- foghttp-0.3.6/foghttp/_client/raw/requests.py +137 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/raw/timeout_errors.py +12 -7
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/request_builder/builder.py +5 -3
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/request_builder/models.py +4 -2
- foghttp-0.3.6/foghttp/_client/runtime/constants.py +7 -0
- foghttp-0.3.6/foghttp/_client/runtime/mode.py +37 -0
- foghttp-0.3.6/foghttp/_client/runtime/validation.py +28 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/stats.py +8 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/transport_requests.py +1 -2
- foghttp-0.3.6/foghttp/_client/transport_snapshot_mapping.py +86 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_foghttp.pyi +86 -0
- foghttp-0.3.6/foghttp/_multipart/__init__.py +3 -0
- foghttp-0.3.6/foghttp/_multipart/constants.py +8 -0
- foghttp-0.3.6/foghttp/_multipart/content_type.py +92 -0
- foghttp-0.3.6/foghttp/_multipart/encoding.py +62 -0
- foghttp-0.3.6/foghttp/_multipart/fields.py +48 -0
- foghttp-0.3.6/foghttp/_multipart/file_parts.py +115 -0
- foghttp-0.3.6/foghttp/_multipart/iterators.py +49 -0
- foghttp-0.3.6/foghttp/_multipart/length.py +29 -0
- foghttp-0.3.6/foghttp/_multipart/models.py +43 -0
- foghttp-0.3.6/foghttp/_multipart/normalize.py +54 -0
- foghttp-0.3.6/foghttp/_multipart/parts.py +25 -0
- foghttp-0.3.6/foghttp/_multipart/stream.py +107 -0
- foghttp-0.3.6/foghttp/_multipart/values.py +45 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_redaction.py +34 -2
- foghttp-0.3.6/foghttp/_request_body.py +58 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_telemetry.py +1 -1
- foghttp-0.3.6/foghttp/_upload_body/__init__.py +13 -0
- foghttp-0.3.6/foghttp/_upload_body/async_sending.py +38 -0
- foghttp-0.3.6/foghttp/_upload_body/chunks.py +11 -0
- foghttp-0.3.6/foghttp/_upload_body/feeders.py +106 -0
- foghttp-0.3.6/foghttp/_upload_body/file_source.py +80 -0
- foghttp-0.3.6/foghttp/_upload_body/models.py +39 -0
- foghttp-0.3.6/foghttp/_upload_body/normalize.py +39 -0
- foghttp-0.3.6/foghttp/_upload_body/predicates.py +17 -0
- foghttp-0.3.6/foghttp/_upload_body/runtime.py +205 -0
- foghttp-0.3.6/foghttp/_upload_body/thread_bridge.py +67 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/async_client.py +65 -21
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/body.py +25 -18
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/client.py +60 -20
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/errors/__init__.py +2 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/errors/timeout.py +5 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/limits.py +18 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/messages.py +33 -2
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/methods.py +3 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/pool_diagnostics.py +1 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/request.py +3 -2
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/stream_response/async_response.py +1 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/stream_response/base.py +18 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/stream_response/sync_response.py +1 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/timeout_diagnostics.py +2 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/transport_state.py +18 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/transport_stats.py +8 -0
- foghttp-0.3.6/foghttp/types/__init__.py +59 -0
- foghttp-0.3.6/foghttp/types/multipart.py +39 -0
- foghttp-0.3.6/foghttp/types/streams.py +29 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/pyproject.toml +10 -5
- foghttp-0.3.6/src/core/client/body.rs +345 -0
- foghttp-0.3.6/src/core/client/connection_limit.rs +311 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/client/mod.rs +62 -12
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/client/telemetry/mod.rs +167 -23
- foghttp-0.3.6/src/core/client/telemetry/tests.rs +379 -0
- foghttp-0.3.6/src/core/client/write_timeout.rs +178 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/method.rs +1 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/counters.rs +50 -20
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/mod.rs +9 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/origin/blocking.rs +1 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/origin/metrics.rs +125 -13
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/origin/snapshots.rs +10 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/origin/tests.rs +66 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/snapshots.rs +45 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/tests.rs +4 -2
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/request.rs +20 -5
- {foghttp-0.3.4 → foghttp-0.3.6}/src/errors.rs +10 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/messages.rs +4 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/acquire/diagnostics.rs +1 -0
- foghttp-0.3.6/src/py/client/acquire/gate.rs +161 -0
- foghttp-0.3.6/src/py/client/acquire/pending.rs +256 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/acquire/permit.rs +11 -4
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/acquire/tests.rs +349 -6
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/async_requests/spawn.rs +5 -2
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/async_requests/stream_spawn.rs +6 -2
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/body.rs +0 -8
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/future.rs +36 -31
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/mod.rs +226 -37
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/options.rs +11 -0
- foghttp-0.3.6/src/py/client/process.rs +32 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/redirects/method.rs +9 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/redirects/tests.rs +31 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/runtime/constants.rs +1 -0
- foghttp-0.3.6/src/py/client/runtime/mod.rs +98 -0
- foghttp-0.3.6/src/py/client/runtime/shared.rs +65 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/runtime/tests.rs +62 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/streams/parts.rs +2 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/streams/response.rs +61 -45
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/timeout_diagnostics.rs +37 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/transport/buffered.rs +15 -5
- foghttp-0.3.6/src/py/client/transport/client.rs +50 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/transport/context.rs +2 -0
- foghttp-0.3.6/src/py/client/transport/errors.rs +26 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/transport/mod.rs +1 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/transport/request.rs +106 -11
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/transport/response.rs +1 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/transport/streaming.rs +52 -18
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/transport/tests.rs +31 -4
- foghttp-0.3.6/src/py/client/upload_body.rs +203 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/mod.rs +2 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/stats.rs +54 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/transport_state.rs +24 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_keepalive/assertions.py +36 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_keepalive/conftest.py +6 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_keepalive/server.py +42 -3
- foghttp-0.3.6/tests/client_keepalive/test_async_keepalive.py +189 -0
- foghttp-0.3.6/tests/client_keepalive/test_sync_keepalive.py +164 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_lifecycle/conftest.py +45 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_lifecycle/constants.py +2 -0
- foghttp-0.3.6/tests/client_lifecycle/fork_actions.py +188 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_lifecycle/helpers.py +17 -7
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_lifecycle/test_async_client_lifecycle.py +90 -1
- foghttp-0.3.6/tests/client_lifecycle/test_fork_close_safety.py +75 -0
- foghttp-0.3.6/tests/client_lifecycle/test_fork_safety.py +234 -0
- foghttp-0.3.6/tests/client_lifecycle/test_fork_stream_safety.py +84 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_lifecycle/test_raw_client_lifecycle.py +2 -2
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_lifecycle/test_sync_client_lifecycle.py +114 -1
- foghttp-0.3.6/tests/client_multipart/assertions.py +50 -0
- foghttp-0.3.6/tests/client_multipart/models.py +9 -0
- foghttp-0.3.6/tests/client_multipart/sources.py +163 -0
- foghttp-0.3.6/tests/client_multipart/test_async_multipart.py +323 -0
- foghttp-0.3.6/tests/client_multipart/test_multipart_internals.py +346 -0
- foghttp-0.3.6/tests/client_multipart/test_request_builder.py +326 -0
- foghttp-0.3.6/tests/client_multipart/test_sync_multipart.py +326 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_options/test_numeric_validation.py +11 -0
- foghttp-0.3.6/tests/client_options/test_raw_numeric_boundary.py +269 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_proxy/client_options.py +1 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_proxy/test_http_proxy_transport.py +122 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_proxy/test_https_proxy_connect.py +33 -0
- foghttp-0.3.6/tests/client_query/assertions.py +103 -0
- foghttp-0.3.6/tests/client_query/constants.py +18 -0
- foghttp-0.3.6/tests/client_query/test_async_query.py +159 -0
- foghttp-0.3.6/tests/client_query/test_async_query_redirects.py +143 -0
- foghttp-0.3.6/tests/client_query/test_request_builder.py +31 -0
- foghttp-0.3.6/tests/client_query/test_sync_query.py +159 -0
- foghttp-0.3.6/tests/client_query/test_sync_query_redirects.py +143 -0
- foghttp-0.3.6/tests/client_resources/test_async_connection_limits.py +193 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/test_diagnostic_snapshot_contract.py +27 -1
- foghttp-0.3.6/tests/client_resources/test_sync_connection_limits.py +230 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/test_sync_pool_diagnostics.py +2 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_streaming/test_sync_streaming.py +2 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_streaming/test_sync_streaming_text_lines.py +5 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_timeouts/conftest.py +44 -3
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_timeouts/constants.py +12 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_timeouts/test_async_timeouts.py +53 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_timeouts/test_sync_timeouts.py +30 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_transport/models.py +30 -4
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_transport/test_transport_adapter.py +53 -4
- foghttp-0.3.6/tests/client_upload/helpers.py +110 -0
- foghttp-0.3.6/tests/client_upload/test_streaming_upload.py +588 -0
- foghttp-0.3.6/tests/client_upload/test_upload_helpers.py +174 -0
- foghttp-0.3.6/tests/network_errors/__init__.py +0 -0
- foghttp-0.3.6/tests/pyo3_boundary/async_future_server.py +71 -0
- foghttp-0.3.6/tests/pyo3_boundary/test_async_future_boundary.py +167 -0
- foghttp-0.3.6/tests/pyo3_boundary/test_raw_client_signatures.py +72 -0
- foghttp-0.3.6/tests/request_builder/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_body.py +28 -3
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_shortcuts.py +108 -1
- foghttp-0.3.6/tests/response_decompression/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/support/async_http_server.py +26 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/support/sync_http_server.py +27 -2
- foghttp-0.3.6/tests/support/transport_state.py +48 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_async_client.py +24 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_public_api.py +8 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_raw_client.py +184 -35
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_raw_client_errors.py +77 -14
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_redaction.py +64 -0
- foghttp-0.3.6/tests/test_runtime_workers.py +166 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_sync_client.py +11 -1
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_transport_stats.py +22 -14
- foghttp-0.3.6/tests/types/__init__.py +0 -0
- foghttp-0.3.6/tests/types/test_upload_contracts.py +138 -0
- foghttp-0.3.6/uv.lock +952 -0
- foghttp-0.3.4/docs/benchmarks.md +0 -356
- foghttp-0.3.4/foghttp/_client/raw/lifecycle.py +0 -41
- foghttp-0.3.4/foghttp/_client/raw/requests.py +0 -116
- foghttp-0.3.4/foghttp/_client/runtime/constants.py +0 -5
- foghttp-0.3.4/foghttp/_request_body.py +0 -30
- foghttp-0.3.4/foghttp/types/__init__.py +0 -24
- foghttp-0.3.4/src/core/client/telemetry/tests.rs +0 -70
- foghttp-0.3.4/src/py/client/acquire/gate.rs +0 -166
- foghttp-0.3.4/src/py/client/acquire/pending.rs +0 -47
- foghttp-0.3.4/src/py/client/runtime/mod.rs +0 -22
- foghttp-0.3.4/src/py/client/transport/client.rs +0 -24
- foghttp-0.3.4/tests/client_keepalive/test_async_keepalive.py +0 -67
- foghttp-0.3.4/tests/client_keepalive/test_sync_keepalive.py +0 -42
- foghttp-0.3.4/tests/client_options/test_raw_numeric_boundary.py +0 -283
- foghttp-0.3.4/tests/pyo3_boundary/test_async_future_boundary.py +0 -56
- foghttp-0.3.4/tests/test_runtime_workers.py +0 -52
- foghttp-0.3.4/uv.lock +0 -914
- {foghttp-0.3.4 → foghttp-0.3.6}/.flake8 +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/.gitignore +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/CODE_OF_CONDUCT.md +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/CONTRIBUTING.md +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/LICENSE +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/SECURITY.md +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/pyo3-boundary.md +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/docs/tls.md +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/async_json_fanout.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/async_lifecycle_debug.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/async_streaming.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/compressed_response.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/http_proxy.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/prepared_requests.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/redirects.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/request_builder_compatibility.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/sync_json_api.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/sync_streaming.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/examples/telemetry_hooks.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/asyncio_futures.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/lifecycle_debug.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/proxy/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/proxy/auth.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/proxy/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/proxy/environment.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/proxy/models.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/proxy/no_proxy.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/proxy/no_proxy_rule.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/proxy/no_proxy_tokens.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/proxy/resolver.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/proxy/transport_policy.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/proxy/url_parsing.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/raw/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/request_builder/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/request_builder/defaults.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/request_builder/header_policy.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/request_builder/merge.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/response.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/runtime/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/runtime/workers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/stream_context.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/telemetry/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/telemetry/clock.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/telemetry/dispatcher.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/telemetry/emission.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/telemetry/request_context.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/telemetry/request_events.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/telemetry/responses.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/telemetry/url.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/tls.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_client/transport.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_response/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_response/encoding.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_response/status.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_streaming/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_streaming/text/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_streaming/text/async_chunks.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_streaming/text/iterators.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_streaming/text/lines.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_streaming/text/sync_chunks.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_validation/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/_validation/numeric.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/errors/base.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/errors/lifecycle.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/errors/response.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/headers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/lifecycle_debug.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/models.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/py.typed +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/request_info.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/response.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/stats.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/status_codes/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/status_codes/client_error.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/status_codes/redirect.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/status_codes/server_error.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/status_codes/success.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/stream_response/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/stream_response/bindings.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/stream_response/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/stream_response/lifecycle_debug.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/stream_response/status.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/stream_response/telemetry.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/telemetry/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/telemetry/config.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/telemetry/errors.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/telemetry/events.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/telemetry/sinks.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/timeouts.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/tls.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/types/http.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/types/request.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/foghttp/url.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/logo.png +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/ruff.toml +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/scripts/check_all_position.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/scripts/install_wheel_smoke.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/client/proxy/authorization.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/client/proxy/endpoint.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/client/proxy/http.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/client/proxy/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/client/proxy/tests.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/client/proxy/tunnel.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/headers/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/headers/request.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/headers/response.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/headers/tests.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/atomic.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/buffered.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/lifecycle.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/origin/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/origin/registry.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/origin/waiters.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/metrics/telemetry.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/numeric/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/numeric/tests.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/response/body.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/response/budget.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/response/decompression.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/response/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/tls/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/tls/tests.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/url/constants.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/url/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/url/origin.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/url/scheme.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/core/url/tests.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/lib.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/acquire/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/acquire/origin.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/acquire/telemetry.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/async_requests/active.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/async_requests/callback.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/async_requests/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/async_requests/registry.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/lifecycle/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/lifecycle/tests.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/redirects/action.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/redirects/headers.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/redirects/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/redirects/policy.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/redirects/status.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/redirects/utils.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/runtime/workers.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/streams/callback.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/streams/constants.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/streams/mod.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/streams/read.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/streams/registry.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/streams/state.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/streams/state_tests.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/transport/body.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/client/transport/proxy.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/pool_diagnostics.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/response.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/src/py/url.rs +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/conftest.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/helpers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/lifecycle_debug_actions.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/lifecycle_debug_assertions.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/lifecycle_debug_data.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/lifecycle_debug_predicates.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/test_async_cancellation.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/test_async_lifecycle_debug_buffered.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/test_async_lifecycle_debug_messages.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/test_async_lifecycle_debug_streaming.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/test_async_lifecycle_debug_strict.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/test_async_telemetry.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_cancellation/test_asyncio_helpers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_keepalive/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_keepalive/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_keepalive/models.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_lifecycle/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_lifecycle/test_sync_close_race.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_lifecycle/test_sync_close_waits.py +0 -0
- {foghttp-0.3.4/tests/client_proxy → foghttp-0.3.6/tests/client_multipart}/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_options/__init__.py +0 -0
- {foghttp-0.3.4/tests/client_resources → foghttp-0.3.6/tests/client_proxy}/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_proxy/conftest.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_proxy/connect_proxy_server.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_proxy/environment.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_proxy/http_proxy_server.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_proxy/test_client_config.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_proxy/test_environment.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_proxy/test_no_proxy.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_proxy/test_proxy_models.py +0 -0
- {foghttp-0.3.4/tests/client_telemetry → foghttp-0.3.6/tests/client_query}/__init__.py +0 -0
- {foghttp-0.3.4/tests/client_timeouts → foghttp-0.3.6/tests/client_resources}/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/conftest.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/helpers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/test_async_global_limits.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/test_async_origin_limits.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/test_async_pool_diagnostics.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/test_async_response_body_limits.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/test_async_transport_state.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/test_sync_global_limits.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/test_sync_origin_limits.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/test_sync_response_body_limits.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_resources/test_sync_transport_state.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_streaming/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_streaming/conftest.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_streaming/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_streaming/server.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_streaming/stream_readers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_streaming/test_async_streaming.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_streaming/test_async_streaming_text_lines.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_streaming/test_streaming_text_decoding.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_streaming/text_decoding_sources.py +0 -0
- {foghttp-0.3.4/tests/client_tls → foghttp-0.3.6/tests/client_telemetry}/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_telemetry/assertions.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_telemetry/conftest.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_telemetry/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_telemetry/models.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_telemetry/test_async_stream_hooks.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_telemetry/test_async_stream_telemetry.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_telemetry/test_async_telemetry.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_telemetry/test_concurrent_delivery.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_telemetry/test_event_contract.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_telemetry/test_sync_stream_telemetry.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_telemetry/test_sync_telemetry.py +0 -0
- {foghttp-0.3.4/tests/fault_injection → foghttp-0.3.6/tests/client_timeouts}/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_timeouts/helpers.py +0 -0
- {foghttp-0.3.4/tests/network_errors → foghttp-0.3.6/tests/client_tls}/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/assertions.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/certificates.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/conftest.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/handshake_server.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/models.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/server.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/test_async_tls.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/test_async_tls_redirects.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/test_sync_tls.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/test_sync_tls_redirects.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_tls/test_tls_config.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_transport/__init__.py +0 -0
- {foghttp-0.3.4/tests/request_builder → foghttp-0.3.6/tests/client_upload}/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/client_warning_actions.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/conftest.py +0 -0
- {foghttp-0.3.4/tests/response_decompression → foghttp-0.3.6/tests/fault_injection}/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/conftest.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/models.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/protocol.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/responses.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/server.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/state.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/state_assertions.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/test_async_fault_injection.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/test_async_socket_shutdown.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/test_sync_fault_injection.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/test_sync_socket_shutdown.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/timeout_assertions.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/fault_injection/transport_waiters.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/http_body_scenarios.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/network_errors/conftest.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/network_errors/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/network_errors/helpers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/network_errors/test_async_network_errors.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/network_errors/test_sync_network_errors.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/pyo3_boundary/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/pyo3_boundary/conftest.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/pyo3_boundary/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/pyo3_boundary/gil_progress.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/pyo3_boundary/test_sync_gil_boundary.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/pyo3_boundary/thread_worker.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/redirect_helpers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/encoding_property_helpers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_base_url.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_default_headers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_default_params.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_encoding_properties.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_header_policy.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_headers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_merge_contract.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_no_mutation.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_parity.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_builder/test_query_params.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/request_factories.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/response_decompression/conftest.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/response_decompression/constants.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/response_decompression/helpers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/response_decompression/payloads.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/response_decompression/server.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/response_decompression/test_async_response_decompression.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/response_decompression/test_sync_response_decompression.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/support/__init__.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/support/http_routes.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/support/raw_responses.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/support/timeout_diagnostics.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/support/transport_stats.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_async_redirects.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_async_response.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_client_options.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_headers.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_query_params.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_request_model.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_response_encoding.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_response_flags.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_sync_redirects.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_sync_response.py +0 -0
- {foghttp-0.3.4 → foghttp-0.3.6}/tests/test_url.py +0 -0
|
@@ -61,6 +61,68 @@ jobs:
|
|
|
61
61
|
- name: Run Rust tests
|
|
62
62
|
run: cargo test --all-targets
|
|
63
63
|
|
|
64
|
+
abi3-wheel:
|
|
65
|
+
name: Build and audit abi3 wheel
|
|
66
|
+
runs-on: ubuntu-latest
|
|
67
|
+
timeout-minutes: 30
|
|
68
|
+
steps:
|
|
69
|
+
- name: Checkout
|
|
70
|
+
uses: actions/checkout@v4
|
|
71
|
+
|
|
72
|
+
- name: Set up Python
|
|
73
|
+
uses: actions/setup-python@v5
|
|
74
|
+
with:
|
|
75
|
+
python-version: "3.11"
|
|
76
|
+
|
|
77
|
+
- name: Build wheel
|
|
78
|
+
uses: PyO3/maturin-action@v1
|
|
79
|
+
with:
|
|
80
|
+
command: build
|
|
81
|
+
target: x86_64
|
|
82
|
+
args: --release --locked --out dist --interpreter python3.11
|
|
83
|
+
manylinux: "2014"
|
|
84
|
+
sccache: true
|
|
85
|
+
|
|
86
|
+
- name: Install abi3audit
|
|
87
|
+
run: python -m pip install --disable-pip-version-check "abi3audit==0.0.26"
|
|
88
|
+
|
|
89
|
+
- name: Audit stable ABI compatibility
|
|
90
|
+
run: python -m abi3audit --strict --summary dist/*.whl
|
|
91
|
+
|
|
92
|
+
- name: Upload wheel artifact
|
|
93
|
+
uses: actions/upload-artifact@v4
|
|
94
|
+
with:
|
|
95
|
+
name: abi3-wheel-linux-x86_64
|
|
96
|
+
path: dist/*.whl
|
|
97
|
+
if-no-files-found: error
|
|
98
|
+
|
|
99
|
+
abi3-wheel-smoke:
|
|
100
|
+
name: Smoke abi3 wheel (Python ${{ matrix.python-version }})
|
|
101
|
+
runs-on: ubuntu-latest
|
|
102
|
+
needs: abi3-wheel
|
|
103
|
+
timeout-minutes: 15
|
|
104
|
+
strategy:
|
|
105
|
+
fail-fast: false
|
|
106
|
+
matrix:
|
|
107
|
+
python-version: ["3.11", "3.12", "3.13", "3.14"]
|
|
108
|
+
steps:
|
|
109
|
+
- name: Checkout
|
|
110
|
+
uses: actions/checkout@v4
|
|
111
|
+
|
|
112
|
+
- name: Set up Python
|
|
113
|
+
uses: actions/setup-python@v5
|
|
114
|
+
with:
|
|
115
|
+
python-version: ${{ matrix.python-version }}
|
|
116
|
+
|
|
117
|
+
- name: Download wheel
|
|
118
|
+
uses: actions/download-artifact@v4
|
|
119
|
+
with:
|
|
120
|
+
name: abi3-wheel-linux-x86_64
|
|
121
|
+
path: dist
|
|
122
|
+
|
|
123
|
+
- name: Smoke test wheel install
|
|
124
|
+
run: python scripts/install_wheel_smoke.py --dist-dir dist
|
|
125
|
+
|
|
64
126
|
tests:
|
|
65
127
|
name: Tests (Python ${{ matrix.python-version }})
|
|
66
128
|
runs-on: ubuntu-latest
|
|
@@ -91,10 +153,16 @@ jobs:
|
|
|
91
153
|
cache-dependency-glob: uv.lock
|
|
92
154
|
|
|
93
155
|
- name: Install editable package
|
|
94
|
-
run: uv run --extra dev --with "maturin>=1.7,<2" maturin develop
|
|
156
|
+
run: uv run --extra dev --with "maturin>=1.7,<2" maturin develop --locked
|
|
157
|
+
|
|
158
|
+
- name: Run tests
|
|
159
|
+
if: matrix.python-version != '3.14'
|
|
160
|
+
run: uv run --extra dev pytest -vv
|
|
95
161
|
|
|
96
162
|
- name: Run tests with coverage
|
|
97
|
-
|
|
163
|
+
if: matrix.python-version == '3.14'
|
|
164
|
+
run: uv run --extra dev coverage run -m pytest -vv
|
|
98
165
|
|
|
99
166
|
- name: Report coverage
|
|
167
|
+
if: matrix.python-version == '3.14'
|
|
100
168
|
run: uv run --extra dev coverage report -m
|
|
@@ -44,14 +44,13 @@ jobs:
|
|
|
44
44
|
raise SystemExit(f"release versions do not match: {versions}")
|
|
45
45
|
|
|
46
46
|
linux-wheels:
|
|
47
|
-
name: Build Linux
|
|
47
|
+
name: Build Linux wheel (${{ matrix.target }})
|
|
48
48
|
runs-on: ubuntu-latest
|
|
49
49
|
needs: validate-version
|
|
50
50
|
timeout-minutes: 45
|
|
51
51
|
strategy:
|
|
52
52
|
fail-fast: false
|
|
53
53
|
matrix:
|
|
54
|
-
python-version: ["3.11", "3.12", "3.13", "3.14"]
|
|
55
54
|
target: [x86_64, aarch64]
|
|
56
55
|
steps:
|
|
57
56
|
- name: Checkout
|
|
@@ -60,7 +59,7 @@ jobs:
|
|
|
60
59
|
- name: Set up Python
|
|
61
60
|
uses: actions/setup-python@v5
|
|
62
61
|
with:
|
|
63
|
-
python-version:
|
|
62
|
+
python-version: "3.11"
|
|
64
63
|
|
|
65
64
|
- name: Set up QEMU
|
|
66
65
|
if: matrix.target == 'aarch64'
|
|
@@ -73,32 +72,52 @@ jobs:
|
|
|
73
72
|
with:
|
|
74
73
|
command: build
|
|
75
74
|
target: ${{ matrix.target }}
|
|
76
|
-
args: --release --out dist --interpreter
|
|
75
|
+
args: --release --locked --out dist --interpreter python3.11
|
|
77
76
|
manylinux: "2014"
|
|
78
77
|
sccache: true
|
|
79
78
|
|
|
80
|
-
# Linux aarch64 wheels are cross-built on x86_64 runners, so only native
|
|
81
|
-
# Linux x86_64 wheels can be installed directly in this job.
|
|
82
|
-
- name: Smoke test wheel install
|
|
83
|
-
if: matrix.target == 'x86_64'
|
|
84
|
-
run: python scripts/install_wheel_smoke.py --dist-dir dist
|
|
85
|
-
|
|
86
79
|
- name: Upload wheel artifact
|
|
87
80
|
uses: actions/upload-artifact@v4
|
|
88
81
|
with:
|
|
89
|
-
name: wheels-linux-${{ matrix.target }}
|
|
82
|
+
name: wheels-linux-${{ matrix.target }}
|
|
90
83
|
path: dist/*.whl
|
|
91
84
|
if-no-files-found: error
|
|
92
85
|
|
|
86
|
+
linux-wheel-smoke:
|
|
87
|
+
name: Smoke Linux wheel (Python ${{ matrix.python-version }})
|
|
88
|
+
runs-on: ubuntu-latest
|
|
89
|
+
needs: linux-wheels
|
|
90
|
+
timeout-minutes: 15
|
|
91
|
+
strategy:
|
|
92
|
+
fail-fast: false
|
|
93
|
+
matrix:
|
|
94
|
+
python-version: ["3.11", "3.12", "3.13", "3.14"]
|
|
95
|
+
steps:
|
|
96
|
+
- name: Checkout
|
|
97
|
+
uses: actions/checkout@v4
|
|
98
|
+
|
|
99
|
+
- name: Set up Python
|
|
100
|
+
uses: actions/setup-python@v5
|
|
101
|
+
with:
|
|
102
|
+
python-version: ${{ matrix.python-version }}
|
|
103
|
+
|
|
104
|
+
- name: Download x86_64 wheel
|
|
105
|
+
uses: actions/download-artifact@v4
|
|
106
|
+
with:
|
|
107
|
+
name: wheels-linux-x86_64
|
|
108
|
+
path: dist
|
|
109
|
+
|
|
110
|
+
- name: Smoke test wheel install
|
|
111
|
+
run: python scripts/install_wheel_smoke.py --dist-dir dist
|
|
112
|
+
|
|
93
113
|
macos-wheels:
|
|
94
|
-
name: Build macOS
|
|
114
|
+
name: Build macOS wheel (${{ matrix.platform.name }})
|
|
95
115
|
runs-on: ${{ matrix.platform.runner }}
|
|
96
116
|
needs: validate-version
|
|
97
117
|
timeout-minutes: 45
|
|
98
118
|
strategy:
|
|
99
119
|
fail-fast: false
|
|
100
120
|
matrix:
|
|
101
|
-
python-version: ["3.11", "3.12", "3.13", "3.14"]
|
|
102
121
|
platform:
|
|
103
122
|
- name: x86_64
|
|
104
123
|
runner: macos-15-intel
|
|
@@ -113,35 +132,37 @@ jobs:
|
|
|
113
132
|
- name: Set up Python
|
|
114
133
|
uses: actions/setup-python@v5
|
|
115
134
|
with:
|
|
116
|
-
python-version:
|
|
135
|
+
python-version: "3.11"
|
|
117
136
|
|
|
118
137
|
- name: Build wheel
|
|
119
138
|
uses: PyO3/maturin-action@v1
|
|
120
139
|
with:
|
|
121
140
|
command: build
|
|
122
141
|
target: ${{ matrix.platform.target }}
|
|
123
|
-
args: --release --out dist --interpreter python
|
|
142
|
+
args: --release --locked --out dist --interpreter python
|
|
124
143
|
sccache: true
|
|
125
144
|
|
|
126
|
-
- name: Smoke test wheel install
|
|
127
|
-
run: python scripts/install_wheel_smoke.py --dist-dir dist
|
|
128
|
-
|
|
129
145
|
- name: Upload wheel artifact
|
|
130
146
|
uses: actions/upload-artifact@v4
|
|
131
147
|
with:
|
|
132
|
-
name: wheels-macos-${{ matrix.platform.name }}
|
|
148
|
+
name: wheels-macos-${{ matrix.platform.name }}
|
|
133
149
|
path: dist/*.whl
|
|
134
150
|
if-no-files-found: error
|
|
135
151
|
|
|
136
|
-
|
|
137
|
-
name:
|
|
138
|
-
runs-on:
|
|
139
|
-
needs:
|
|
140
|
-
timeout-minutes:
|
|
152
|
+
macos-wheel-smoke:
|
|
153
|
+
name: Smoke macOS wheel (${{ matrix.platform.name }}, Python ${{ matrix.python-version }})
|
|
154
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
155
|
+
needs: macos-wheels
|
|
156
|
+
timeout-minutes: 15
|
|
141
157
|
strategy:
|
|
142
158
|
fail-fast: false
|
|
143
159
|
matrix:
|
|
144
160
|
python-version: ["3.11", "3.12", "3.13", "3.14"]
|
|
161
|
+
platform:
|
|
162
|
+
- name: x86_64
|
|
163
|
+
runner: macos-15-intel
|
|
164
|
+
- name: aarch64
|
|
165
|
+
runner: macos-15
|
|
145
166
|
steps:
|
|
146
167
|
- name: Checkout
|
|
147
168
|
uses: actions/checkout@v4
|
|
@@ -150,25 +171,98 @@ jobs:
|
|
|
150
171
|
uses: actions/setup-python@v5
|
|
151
172
|
with:
|
|
152
173
|
python-version: ${{ matrix.python-version }}
|
|
174
|
+
|
|
175
|
+
- name: Download wheel
|
|
176
|
+
uses: actions/download-artifact@v4
|
|
177
|
+
with:
|
|
178
|
+
name: wheels-macos-${{ matrix.platform.name }}
|
|
179
|
+
path: dist
|
|
180
|
+
|
|
181
|
+
- name: Smoke test wheel install
|
|
182
|
+
run: python scripts/install_wheel_smoke.py --dist-dir dist
|
|
183
|
+
|
|
184
|
+
windows-wheels:
|
|
185
|
+
name: Build Windows wheel (x64)
|
|
186
|
+
runs-on: windows-latest
|
|
187
|
+
needs: validate-version
|
|
188
|
+
timeout-minutes: 45
|
|
189
|
+
steps:
|
|
190
|
+
- name: Checkout
|
|
191
|
+
uses: actions/checkout@v4
|
|
192
|
+
|
|
193
|
+
- name: Set up Python
|
|
194
|
+
uses: actions/setup-python@v5
|
|
195
|
+
with:
|
|
196
|
+
python-version: "3.11"
|
|
153
197
|
architecture: x64
|
|
154
198
|
|
|
155
199
|
- name: Build wheel
|
|
156
200
|
uses: PyO3/maturin-action@v1
|
|
157
201
|
with:
|
|
158
202
|
command: build
|
|
159
|
-
args: --release --out dist --interpreter python
|
|
203
|
+
args: --release --locked --out dist --interpreter python
|
|
160
204
|
sccache: true
|
|
161
205
|
|
|
162
|
-
- name: Smoke test wheel install
|
|
163
|
-
run: python scripts/install_wheel_smoke.py --dist-dir dist
|
|
164
|
-
|
|
165
206
|
- name: Upload wheel artifact
|
|
166
207
|
uses: actions/upload-artifact@v4
|
|
167
208
|
with:
|
|
168
|
-
name: wheels-windows-x64
|
|
209
|
+
name: wheels-windows-x64
|
|
169
210
|
path: dist/*.whl
|
|
170
211
|
if-no-files-found: error
|
|
171
212
|
|
|
213
|
+
windows-wheel-smoke:
|
|
214
|
+
name: Smoke Windows wheel (Python ${{ matrix.python-version }})
|
|
215
|
+
runs-on: windows-latest
|
|
216
|
+
needs: windows-wheels
|
|
217
|
+
timeout-minutes: 15
|
|
218
|
+
strategy:
|
|
219
|
+
fail-fast: false
|
|
220
|
+
matrix:
|
|
221
|
+
python-version: ["3.11", "3.12", "3.13", "3.14"]
|
|
222
|
+
steps:
|
|
223
|
+
- name: Checkout
|
|
224
|
+
uses: actions/checkout@v4
|
|
225
|
+
|
|
226
|
+
- name: Set up Python
|
|
227
|
+
uses: actions/setup-python@v5
|
|
228
|
+
with:
|
|
229
|
+
python-version: ${{ matrix.python-version }}
|
|
230
|
+
architecture: x64
|
|
231
|
+
|
|
232
|
+
- name: Download wheel
|
|
233
|
+
uses: actions/download-artifact@v4
|
|
234
|
+
with:
|
|
235
|
+
name: wheels-windows-x64
|
|
236
|
+
path: dist
|
|
237
|
+
|
|
238
|
+
- name: Smoke test wheel install
|
|
239
|
+
run: python scripts/install_wheel_smoke.py --dist-dir dist
|
|
240
|
+
|
|
241
|
+
audit-wheels:
|
|
242
|
+
name: Audit stable ABI wheels
|
|
243
|
+
runs-on: ubuntu-latest
|
|
244
|
+
needs: [linux-wheels, macos-wheels, windows-wheels]
|
|
245
|
+
timeout-minutes: 15
|
|
246
|
+
steps:
|
|
247
|
+
- name: Set up Python
|
|
248
|
+
uses: actions/setup-python@v5
|
|
249
|
+
with:
|
|
250
|
+
python-version: "3.11"
|
|
251
|
+
|
|
252
|
+
- name: Download wheel artifacts
|
|
253
|
+
uses: actions/download-artifact@v4
|
|
254
|
+
with:
|
|
255
|
+
pattern: wheels-*
|
|
256
|
+
path: dist
|
|
257
|
+
merge-multiple: true
|
|
258
|
+
|
|
259
|
+
- name: Install abi3audit
|
|
260
|
+
run: python -m pip install --disable-pip-version-check "abi3audit==0.0.26"
|
|
261
|
+
|
|
262
|
+
- name: Audit stable ABI compatibility
|
|
263
|
+
shell: bash
|
|
264
|
+
run: python -m abi3audit --strict --summary dist/*.whl
|
|
265
|
+
|
|
172
266
|
sdist:
|
|
173
267
|
name: Build source distribution
|
|
174
268
|
runs-on: ubuntu-latest
|
|
@@ -194,7 +288,12 @@ jobs:
|
|
|
194
288
|
publish:
|
|
195
289
|
name: Publish to PyPI
|
|
196
290
|
runs-on: ubuntu-latest
|
|
197
|
-
needs:
|
|
291
|
+
needs:
|
|
292
|
+
- audit-wheels
|
|
293
|
+
- linux-wheel-smoke
|
|
294
|
+
- macos-wheel-smoke
|
|
295
|
+
- windows-wheel-smoke
|
|
296
|
+
- sdist
|
|
198
297
|
environment: pypi
|
|
199
298
|
timeout-minutes: 15
|
|
200
299
|
permissions:
|
|
@@ -28,7 +28,7 @@ repos:
|
|
|
28
28
|
- id: add-trailing-comma
|
|
29
29
|
|
|
30
30
|
- repo: https://github.com/crate-ci/typos
|
|
31
|
-
rev: v1.
|
|
31
|
+
rev: v1.48.0
|
|
32
32
|
hooks:
|
|
33
33
|
- id: typos
|
|
34
34
|
|
|
@@ -38,12 +38,12 @@ repos:
|
|
|
38
38
|
- id: detect-secrets
|
|
39
39
|
|
|
40
40
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
41
|
-
rev: 0.11.
|
|
41
|
+
rev: 0.11.26
|
|
42
42
|
hooks:
|
|
43
43
|
- id: uv-lock
|
|
44
44
|
|
|
45
45
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
46
|
-
rev: v0.15.
|
|
46
|
+
rev: v0.15.20
|
|
47
47
|
hooks:
|
|
48
48
|
- id: ruff-format
|
|
49
49
|
- id: ruff-check
|
|
@@ -66,4 +66,4 @@ repos:
|
|
|
66
66
|
- orjson>=3.11,<4
|
|
67
67
|
- typing-extensions>=4.3.0,<5
|
|
68
68
|
args: [--config-file=pyproject.toml, --install-types, --non-interactive]
|
|
69
|
-
files: ^foghttp/.*\.pyi?$
|
|
69
|
+
files: ^(foghttp|tests/types)/.*\.pyi?$
|
|
@@ -16,9 +16,9 @@ checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
|
|
|
16
16
|
|
|
17
17
|
[[package]]
|
|
18
18
|
name = "alloc-stdlib"
|
|
19
|
-
version = "0.2.
|
|
19
|
+
version = "0.2.4"
|
|
20
20
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
21
|
-
checksum = "
|
|
21
|
+
checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195"
|
|
22
22
|
dependencies = [
|
|
23
23
|
"alloc-no-stdlib",
|
|
24
24
|
]
|
|
@@ -31,9 +31,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
|
|
|
31
31
|
|
|
32
32
|
[[package]]
|
|
33
33
|
name = "brotli"
|
|
34
|
-
version = "8.0.
|
|
34
|
+
version = "8.0.4"
|
|
35
35
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
36
|
-
checksum = "
|
|
36
|
+
checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3"
|
|
37
37
|
dependencies = [
|
|
38
38
|
"alloc-no-stdlib",
|
|
39
39
|
"alloc-stdlib",
|
|
@@ -42,9 +42,9 @@ dependencies = [
|
|
|
42
42
|
|
|
43
43
|
[[package]]
|
|
44
44
|
name = "brotli-decompressor"
|
|
45
|
-
version = "5.0.
|
|
45
|
+
version = "5.0.3"
|
|
46
46
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
47
|
-
checksum = "
|
|
47
|
+
checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583"
|
|
48
48
|
dependencies = [
|
|
49
49
|
"alloc-no-stdlib",
|
|
50
50
|
"alloc-stdlib",
|
|
@@ -52,15 +52,15 @@ dependencies = [
|
|
|
52
52
|
|
|
53
53
|
[[package]]
|
|
54
54
|
name = "bytes"
|
|
55
|
-
version = "1.
|
|
55
|
+
version = "1.12.0"
|
|
56
56
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
57
|
-
checksum = "
|
|
57
|
+
checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593"
|
|
58
58
|
|
|
59
59
|
[[package]]
|
|
60
60
|
name = "cc"
|
|
61
|
-
version = "1.2.
|
|
61
|
+
version = "1.2.65"
|
|
62
62
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
63
|
-
checksum = "
|
|
63
|
+
checksum = "e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96"
|
|
64
64
|
dependencies = [
|
|
65
65
|
"find-msvc-tools",
|
|
66
66
|
"shlex",
|
|
@@ -83,9 +83,9 @@ dependencies = [
|
|
|
83
83
|
|
|
84
84
|
[[package]]
|
|
85
85
|
name = "displaydoc"
|
|
86
|
-
version = "0.2.
|
|
86
|
+
version = "0.2.6"
|
|
87
87
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
88
|
-
checksum = "
|
|
88
|
+
checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f"
|
|
89
89
|
dependencies = [
|
|
90
90
|
"proc-macro2",
|
|
91
91
|
"quote",
|
|
@@ -110,7 +110,7 @@ dependencies = [
|
|
|
110
110
|
|
|
111
111
|
[[package]]
|
|
112
112
|
name = "foghttp"
|
|
113
|
-
version = "0.3.
|
|
113
|
+
version = "0.3.6"
|
|
114
114
|
dependencies = [
|
|
115
115
|
"brotli",
|
|
116
116
|
"bytes",
|
|
@@ -187,9 +187,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
|
|
187
187
|
|
|
188
188
|
[[package]]
|
|
189
189
|
name = "http"
|
|
190
|
-
version = "1.4.
|
|
190
|
+
version = "1.4.2"
|
|
191
191
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
192
|
-
checksum = "
|
|
192
|
+
checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425"
|
|
193
193
|
dependencies = [
|
|
194
194
|
"bytes",
|
|
195
195
|
"itoa",
|
|
@@ -226,9 +226,9 @@ checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
|
|
|
226
226
|
|
|
227
227
|
[[package]]
|
|
228
228
|
name = "hyper"
|
|
229
|
-
version = "1.
|
|
229
|
+
version = "1.10.1"
|
|
230
230
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
231
|
-
checksum = "
|
|
231
|
+
checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498"
|
|
232
232
|
dependencies = [
|
|
233
233
|
"atomic-waker",
|
|
234
234
|
"bytes",
|
|
@@ -412,9 +412,9 @@ dependencies = [
|
|
|
412
412
|
|
|
413
413
|
[[package]]
|
|
414
414
|
name = "mio"
|
|
415
|
-
version = "1.2.
|
|
415
|
+
version = "1.2.1"
|
|
416
416
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
417
|
-
checksum = "
|
|
417
|
+
checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda"
|
|
418
418
|
dependencies = [
|
|
419
419
|
"libc",
|
|
420
420
|
"wasi",
|
|
@@ -465,9 +465,9 @@ dependencies = [
|
|
|
465
465
|
|
|
466
466
|
[[package]]
|
|
467
467
|
name = "pyo3"
|
|
468
|
-
version = "0.
|
|
468
|
+
version = "0.29.0"
|
|
469
469
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
470
|
-
checksum = "
|
|
470
|
+
checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c"
|
|
471
471
|
dependencies = [
|
|
472
472
|
"libc",
|
|
473
473
|
"once_cell",
|
|
@@ -479,18 +479,18 @@ dependencies = [
|
|
|
479
479
|
|
|
480
480
|
[[package]]
|
|
481
481
|
name = "pyo3-build-config"
|
|
482
|
-
version = "0.
|
|
482
|
+
version = "0.29.0"
|
|
483
483
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
484
|
-
checksum = "
|
|
484
|
+
checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078"
|
|
485
485
|
dependencies = [
|
|
486
486
|
"target-lexicon",
|
|
487
487
|
]
|
|
488
488
|
|
|
489
489
|
[[package]]
|
|
490
490
|
name = "pyo3-ffi"
|
|
491
|
-
version = "0.
|
|
491
|
+
version = "0.29.0"
|
|
492
492
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
493
|
-
checksum = "
|
|
493
|
+
checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b"
|
|
494
494
|
dependencies = [
|
|
495
495
|
"libc",
|
|
496
496
|
"pyo3-build-config",
|
|
@@ -498,9 +498,9 @@ dependencies = [
|
|
|
498
498
|
|
|
499
499
|
[[package]]
|
|
500
500
|
name = "pyo3-macros"
|
|
501
|
-
version = "0.
|
|
501
|
+
version = "0.29.0"
|
|
502
502
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
503
|
-
checksum = "
|
|
503
|
+
checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771"
|
|
504
504
|
dependencies = [
|
|
505
505
|
"proc-macro2",
|
|
506
506
|
"pyo3-macros-backend",
|
|
@@ -510,22 +510,21 @@ dependencies = [
|
|
|
510
510
|
|
|
511
511
|
[[package]]
|
|
512
512
|
name = "pyo3-macros-backend"
|
|
513
|
-
version = "0.
|
|
513
|
+
version = "0.29.0"
|
|
514
514
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
515
|
-
checksum = "
|
|
515
|
+
checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362"
|
|
516
516
|
dependencies = [
|
|
517
517
|
"heck",
|
|
518
518
|
"proc-macro2",
|
|
519
|
-
"pyo3-build-config",
|
|
520
519
|
"quote",
|
|
521
520
|
"syn",
|
|
522
521
|
]
|
|
523
522
|
|
|
524
523
|
[[package]]
|
|
525
524
|
name = "quote"
|
|
526
|
-
version = "1.0.
|
|
525
|
+
version = "1.0.46"
|
|
527
526
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
528
|
-
checksum = "
|
|
527
|
+
checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
|
|
529
528
|
dependencies = [
|
|
530
529
|
"proc-macro2",
|
|
531
530
|
]
|
|
@@ -546,9 +545,9 @@ dependencies = [
|
|
|
546
545
|
|
|
547
546
|
[[package]]
|
|
548
547
|
name = "rustls"
|
|
549
|
-
version = "0.23.
|
|
548
|
+
version = "0.23.41"
|
|
550
549
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
551
|
-
checksum = "
|
|
550
|
+
checksum = "6b92b125634d9b795e7beca796cc790df15a7fb38323bf3196fda83292d06b1f"
|
|
552
551
|
dependencies = [
|
|
553
552
|
"once_cell",
|
|
554
553
|
"ring",
|
|
@@ -560,9 +559,9 @@ dependencies = [
|
|
|
560
559
|
|
|
561
560
|
[[package]]
|
|
562
561
|
name = "rustls-pki-types"
|
|
563
|
-
version = "1.
|
|
562
|
+
version = "1.15.0"
|
|
564
563
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
565
|
-
checksum = "
|
|
564
|
+
checksum = "764899a24af3980067ee14bc143654f297b22eaebfe3c7b6b211920a5a59b046"
|
|
566
565
|
dependencies = [
|
|
567
566
|
"zeroize",
|
|
568
567
|
]
|
|
@@ -609,9 +608,9 @@ dependencies = [
|
|
|
609
608
|
|
|
610
609
|
[[package]]
|
|
611
610
|
name = "shlex"
|
|
612
|
-
version = "
|
|
611
|
+
version = "2.0.1"
|
|
613
612
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
614
|
-
checksum = "
|
|
613
|
+
checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
|
|
615
614
|
|
|
616
615
|
[[package]]
|
|
617
616
|
name = "simd-adler32"
|
|
@@ -621,15 +620,15 @@ checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214"
|
|
|
621
620
|
|
|
622
621
|
[[package]]
|
|
623
622
|
name = "smallvec"
|
|
624
|
-
version = "1.15.
|
|
623
|
+
version = "1.15.2"
|
|
625
624
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
626
|
-
checksum = "
|
|
625
|
+
checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
|
|
627
626
|
|
|
628
627
|
[[package]]
|
|
629
628
|
name = "socket2"
|
|
630
|
-
version = "0.6.
|
|
629
|
+
version = "0.6.4"
|
|
631
630
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
632
|
-
checksum = "
|
|
631
|
+
checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51"
|
|
633
632
|
dependencies = [
|
|
634
633
|
"libc",
|
|
635
634
|
"windows-sys 0.61.2",
|
|
@@ -649,9 +648,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
|
|
|
649
648
|
|
|
650
649
|
[[package]]
|
|
651
650
|
name = "syn"
|
|
652
|
-
version = "2.0.
|
|
651
|
+
version = "2.0.118"
|
|
653
652
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
654
|
-
checksum = "
|
|
653
|
+
checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
|
|
655
654
|
dependencies = [
|
|
656
655
|
"proc-macro2",
|
|
657
656
|
"quote",
|
|
@@ -687,9 +686,9 @@ dependencies = [
|
|
|
687
686
|
|
|
688
687
|
[[package]]
|
|
689
688
|
name = "tokio"
|
|
690
|
-
version = "1.52.
|
|
689
|
+
version = "1.52.3"
|
|
691
690
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
692
|
-
checksum = "
|
|
691
|
+
checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe"
|
|
693
692
|
dependencies = [
|
|
694
693
|
"bytes",
|
|
695
694
|
"libc",
|
|
@@ -787,9 +786,9 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
|
|
|
787
786
|
|
|
788
787
|
[[package]]
|
|
789
788
|
name = "webpki-roots"
|
|
790
|
-
version = "1.0.
|
|
789
|
+
version = "1.0.8"
|
|
791
790
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
792
|
-
checksum = "
|
|
791
|
+
checksum = "bf85cb06032201fa7c6f829d7db5a7e5aa45bcc0655327713065f6f0576731bf"
|
|
793
792
|
dependencies = [
|
|
794
793
|
"rustls-pki-types",
|
|
795
794
|
]
|
|
@@ -890,9 +889,9 @@ checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4"
|
|
|
890
889
|
|
|
891
890
|
[[package]]
|
|
892
891
|
name = "yoke"
|
|
893
|
-
version = "0.8.
|
|
892
|
+
version = "0.8.3"
|
|
894
893
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
895
|
-
checksum = "
|
|
894
|
+
checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5"
|
|
896
895
|
dependencies = [
|
|
897
896
|
"stable_deref_trait",
|
|
898
897
|
"yoke-derive",
|
|
@@ -913,9 +912,9 @@ dependencies = [
|
|
|
913
912
|
|
|
914
913
|
[[package]]
|
|
915
914
|
name = "zerofrom"
|
|
916
|
-
version = "0.1.
|
|
915
|
+
version = "0.1.8"
|
|
917
916
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
918
|
-
checksum = "
|
|
917
|
+
checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272"
|
|
919
918
|
dependencies = [
|
|
920
919
|
"zerofrom-derive",
|
|
921
920
|
]
|
|
@@ -934,9 +933,9 @@ dependencies = [
|
|
|
934
933
|
|
|
935
934
|
[[package]]
|
|
936
935
|
name = "zeroize"
|
|
937
|
-
version = "1.
|
|
936
|
+
version = "1.9.0"
|
|
938
937
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
939
|
-
checksum = "
|
|
938
|
+
checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e"
|
|
940
939
|
|
|
941
940
|
[[package]]
|
|
942
941
|
name = "zerotrie"
|