From d642c14edfde32cffa4ee321ec1228b6e1f55aa8 Mon Sep 17 00:00:00 2001 From: Marcelo Trylesinski Date: Fri, 13 Dec 2024 15:34:43 +0100 Subject: [PATCH 1/5] Use the right type hints on httpx `RequestInfo`/`ResponseInfo` --- .../src/opentelemetry/instrumentation/httpx/__init__.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/__init__.py b/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/__init__.py index 195c784408..d4e7571f61 100644 --- a/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-httpx/src/opentelemetry/instrumentation/httpx/__init__.py @@ -192,6 +192,8 @@ async def async_response_hook(span, request, response): --- """ +from __future__ import annotations + import logging import typing from asyncio import iscoroutinefunction @@ -249,8 +251,8 @@ async def async_response_hook(span, request, response): class RequestInfo(typing.NamedTuple): method: bytes - url: URL - headers: typing.Optional[Headers] + url: httpx.URL + headers: httpx.Headers | None stream: typing.Optional[ typing.Union[httpx.SyncByteStream, httpx.AsyncByteStream] ] @@ -259,7 +261,7 @@ class RequestInfo(typing.NamedTuple): class ResponseInfo(typing.NamedTuple): status_code: int - headers: typing.Optional[Headers] + headers: httpx.Headers | None stream: typing.Iterable[bytes] extensions: typing.Optional[dict] From b77e1706083fa8c97b671b87acb6f2a4acbbb450 Mon Sep 17 00:00:00 2001 From: Marcelo Trylesinski Date: Fri, 13 Dec 2024 15:37:05 +0100 Subject: [PATCH 2/5] add changelog entry --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b8d39ff0e..b9280e1d6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +- `opentelemetry-instrumentation-httpx` Update `RequestInfo`/`ResponseInfo` type hints + ([#3105](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3105)) + ## Version 1.29.0/0.50b0 (2024-12-11) ### Added From 65f5e2372c4fdaaab4e8589749baae50aeb0b45e Mon Sep 17 00:00:00 2001 From: Marcelo Trylesinski Date: Mon, 16 Dec 2024 11:42:11 +0100 Subject: [PATCH 3/5] add nitpick --- docs/nitpick-exceptions.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/nitpick-exceptions.ini b/docs/nitpick-exceptions.ini index 4b1b06f95b..fe31be8b90 100644 --- a/docs/nitpick-exceptions.ini +++ b/docs/nitpick-exceptions.ini @@ -29,6 +29,7 @@ py-class= httpx.SyncByteStream httpx.AsyncByteStream httpx.Response + httpx.URL aiohttp.web_request.Request yarl.URL cimpl.Producer From ff4086fd1a32a96b5b97c8aa2bec4e034053cbb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Em=C3=ADdio=20Neto?= <9735060+emdneto@users.noreply.github.com> Date: Mon, 16 Dec 2024 18:38:54 -0300 Subject: [PATCH 4/5] Update docs/nitpick-exceptions.ini --- docs/nitpick-exceptions.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/nitpick-exceptions.ini b/docs/nitpick-exceptions.ini index fe31be8b90..e27bee26bb 100644 --- a/docs/nitpick-exceptions.ini +++ b/docs/nitpick-exceptions.ini @@ -30,6 +30,7 @@ py-class= httpx.AsyncByteStream httpx.Response httpx.URL + httpx.Headers aiohttp.web_request.Request yarl.URL cimpl.Producer From bbd7aeac04b68173495a70bb5814d7c936bd1946 Mon Sep 17 00:00:00 2001 From: Marcelo Trylesinski Date: Tue, 17 Dec 2024 15:13:09 +0100 Subject: [PATCH 5/5] Update CHANGELOG.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Emídio Neto <9735060+emdneto@users.noreply.github.com> --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9280e1d6d..106d9408c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased -- `opentelemetry-instrumentation-httpx` Update `RequestInfo`/`ResponseInfo` type hints +### Fixed + +- `opentelemetry-instrumentation-httpx` Fix `RequestInfo`/`ResponseInfo` type hints ([#3105](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3105)) ## Version 1.29.0/0.50b0 (2024-12-11)