Skip to content

Commit db15311

Browse files
committed
lint
1 parent c9cdd7e commit db15311

File tree

6 files changed

+86
-37
lines changed

6 files changed

+86
-37
lines changed

instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py

Lines changed: 41 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,12 @@ def collect_request_attributes(scope):
334334
return result
335335

336336

337-
def collect_custom_headers_attributes(scope_or_response_message: dict[str, Any], sanitize: SanitizeValue, header_regexes: list[str], normalize_names: Callable[[str], str]) -> dict[str, str]:
337+
def collect_custom_headers_attributes(
338+
scope_or_response_message: dict[str, Any],
339+
sanitize: SanitizeValue,
340+
header_regexes: list[str],
341+
normalize_names: Callable[[str], str],
342+
) -> dict[str, str]:
338343
"""
339344
Returns custom HTTP request or response headers to be added into SERVER span as span attributes.
340345
@@ -345,7 +350,8 @@ def collect_custom_headers_attributes(scope_or_response_message: dict[str, Any],
345350
# Decode headers before processing.
346351
headers: dict[str, str] = {
347352
_key.decode("utf8"): _value.decode("utf8")
348-
for (_key, _value) in scope_or_response_message.get("headers") or cast('list[tuple[bytes, bytes]]', [])
353+
for (_key, _value) in scope_or_response_message.get("headers")
354+
or cast("list[tuple[bytes, bytes]]", [])
349355
}
350356
return sanitize.sanitize_header_values(
351357
headers,
@@ -463,9 +469,9 @@ def __init__(
463469
tracer_provider=None,
464470
meter_provider=None,
465471
meter=None,
466-
http_capture_headers_server_request : list[str] | None = None,
472+
http_capture_headers_server_request: list[str] | None = None,
467473
http_capture_headers_server_response: list[str] | None = None,
468-
http_capture_headers_sanitize_fields: list[str] | None = None
474+
http_capture_headers_sanitize_fields: list[str] | None = None,
469475
):
470476
self.app = guarantee_single_callable(app)
471477
self.tracer = trace.get_tracer(
@@ -514,19 +520,40 @@ def __init__(
514520
self.content_length_header = None
515521

516522
# Environment variables as constructor parameters
517-
self.http_capture_headers_server_request = http_capture_headers_server_request or (
518-
get_custom_headers(OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST)
519-
) or None
520-
self.http_capture_headers_server_response = http_capture_headers_server_response or (
521-
get_custom_headers(OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE)
522-
) or None
523+
self.http_capture_headers_server_request = (
524+
http_capture_headers_server_request
525+
or (
526+
get_custom_headers(
527+
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST
528+
)
529+
)
530+
or None
531+
)
532+
self.http_capture_headers_server_response = (
533+
http_capture_headers_server_response
534+
or (
535+
get_custom_headers(
536+
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE
537+
)
538+
)
539+
or None
540+
)
523541
self.http_capture_headers_sanitize_fields = SanitizeValue(
524-
http_capture_headers_sanitize_fields or (
525-
get_custom_headers(OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS)
526-
) or []
542+
http_capture_headers_sanitize_fields
543+
or (
544+
get_custom_headers(
545+
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS
546+
)
547+
)
548+
or []
527549
)
528550

529-
async def __call__(self, scope: dict[str, Any], receive: Callable[[], Awaitable[dict[str, Any]]], send: Callable[[dict[str, Any]], Awaitable[None]]) -> None:
551+
async def __call__(
552+
self,
553+
scope: dict[str, Any],
554+
receive: Callable[[], Awaitable[dict[str, Any]]],
555+
send: Callable[[dict[str, Any]], Awaitable[None]],
556+
) -> None:
530557
"""The ASGI application
531558
532559
Args:

instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_custom_headers.py

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@ def setUp(self):
8686
self.tracer_provider, self.exporter = TestBase.create_tracer_provider()
8787
self.tracer = self.tracer_provider.get_tracer(__name__)
8888
self.app = otel_asgi.OpenTelemetryMiddleware(
89-
simple_asgi, tracer_provider=self.tracer_provider, **self.constructor_params,
89+
simple_asgi,
90+
tracer_provider=self.tracer_provider,
91+
**self.constructor_params,
9092
)
9193

9294
def test_http_custom_request_headers_in_span_attributes(self):
@@ -148,7 +150,9 @@ def test_http_custom_request_headers_not_in_span_attributes(self):
148150

149151
def test_http_custom_response_headers_in_span_attributes(self):
150152
self.app = otel_asgi.OpenTelemetryMiddleware(
151-
http_app_with_custom_headers, tracer_provider=self.tracer_provider, **self.constructor_params,
153+
http_app_with_custom_headers,
154+
tracer_provider=self.tracer_provider,
155+
**self.constructor_params,
152156
)
153157
self.seed_app(self.app)
154158
self.send_default_request()
@@ -175,7 +179,9 @@ def test_http_custom_response_headers_in_span_attributes(self):
175179

176180
def test_http_custom_response_headers_not_in_span_attributes(self):
177181
self.app = otel_asgi.OpenTelemetryMiddleware(
178-
http_app_with_custom_headers, tracer_provider=self.tracer_provider, **self.constructor_params,
182+
http_app_with_custom_headers,
183+
tracer_provider=self.tracer_provider,
184+
**self.constructor_params,
179185
)
180186
self.seed_app(self.app)
181187
self.send_default_request()
@@ -337,11 +343,11 @@ def test_websocket_custom_response_headers_not_in_span_attributes(self):
337343
self.assertNotIn(key, span.attributes)
338344

339345

340-
341346
SANITIZE_FIELDS_TEST_VALUE = ".*my-secret.*"
342347
SERVER_REQUEST_TEST_VALUE = "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,Regex-Test-Header-.*,Regex-Invalid-Test-Header-.*,.*my-secret.*"
343348
SERVER_RESPONSE_TEST_VALUE = "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,my-custom-regex-header-.*,invalid-regex-header-.*,.*my-secret.*"
344349

350+
345351
class TestCustomHeadersEnv(TestCustomHeaders):
346352
def setUp(self):
347353
os.environ.update(
@@ -354,15 +360,27 @@ def setUp(self):
354360
super().setUp()
355361

356362
def tearDown(self):
357-
os.environ.pop(OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS, None)
358-
os.environ.pop(OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST, None)
359-
os.environ.pop(OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE, None)
363+
os.environ.pop(
364+
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS, None
365+
)
366+
os.environ.pop(
367+
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST, None
368+
)
369+
os.environ.pop(
370+
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE, None
371+
)
360372
super().tearDown()
361373

362374

363375
class TestCustomHeadersConstructor(TestCustomHeaders):
364376
constructor_params = {
365-
"http_capture_headers_sanitize_fields": SANITIZE_FIELDS_TEST_VALUE.split(","),
366-
"http_capture_headers_server_request": SERVER_REQUEST_TEST_VALUE.split(","),
367-
"http_capture_headers_server_response": SERVER_RESPONSE_TEST_VALUE.split(","),
377+
"http_capture_headers_sanitize_fields": SANITIZE_FIELDS_TEST_VALUE.split(
378+
","
379+
),
380+
"http_capture_headers_server_request": SERVER_REQUEST_TEST_VALUE.split(
381+
","
382+
),
383+
"http_capture_headers_server_response": SERVER_RESPONSE_TEST_VALUE.split(
384+
","
385+
),
368386
}

instrumentation/opentelemetry-instrumentation-asgi/tests/test_asgi_middleware.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -988,6 +988,7 @@ def test_asgi_issue_1883(self):
988988
Test that exception UnboundLocalError local variable 'start' referenced before assignment is not raised
989989
See https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1883
990990
"""
991+
991992
async def bad_app(_scope, _receive, _send):
992993
raise ValueError("whatever")
993994

instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware/otel_middleware.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -350,19 +350,17 @@ def process_response(self, request, response):
350350
for key, value in response.items():
351351
asgi_setter.set(custom_headers, key, value)
352352

353-
custom_res_attributes = (
354-
asgi_collect_custom_headers_attributes(
355-
custom_headers,
356-
SanitizeValue(
357-
get_custom_headers(
358-
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS
359-
)
360-
),
353+
custom_res_attributes = asgi_collect_custom_headers_attributes(
354+
custom_headers,
355+
SanitizeValue(
361356
get_custom_headers(
362-
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE
363-
),
364-
normalise_response_header_name,
365-
)
357+
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS
358+
)
359+
),
360+
get_custom_headers(
361+
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE
362+
),
363+
normalise_response_header_name,
366364
)
367365
for key, value in custom_res_attributes.items():
368366
span.set_attribute(key, value)

instrumentation/opentelemetry-instrumentation-starlette/tests/test_starlette_instrumentation.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,7 @@ async def _(websocket: WebSocket) -> None:
466466

467467
return app
468468

469+
469470
class TestHTTPAppWithCustomHeaders(TestBaseWithCustomHeaders):
470471
@patch.dict(
471472
"os.environ",

util/opentelemetry-util-http/src/opentelemetry/util/http/__init__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,10 @@ def sanitize_header_value(self, header: str, value: str) -> str:
8686
)
8787

8888
def sanitize_header_values(
89-
self, headers: dict[str, str], header_regexes: list[str], normalize_function: Callable[[str], str]
89+
self,
90+
headers: dict[str, str],
91+
header_regexes: list[str],
92+
normalize_function: Callable[[str], str],
9093
) -> dict[str, str]:
9194
values: dict[str, str] = {}
9295

@@ -217,6 +220,7 @@ def sanitize_method(method: Optional[str]) -> Optional[str]:
217220
return method
218221
return "UNKNOWN"
219222

223+
220224
def get_custom_headers(env_var: str) -> list[str]:
221225
custom_headers = environ.get(env_var, None)
222226
if custom_headers:

0 commit comments

Comments
 (0)