From b52f92190239e38964bf7be0b4906ec3bbe415d0 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Mon, 12 Sep 2022 18:11:10 -0500 Subject: [PATCH] Better handling --- synapse/api/auth.py | 2 +- synapse/config/tracer.py | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/synapse/api/auth.py b/synapse/api/auth.py index 6ef29b201f..0f3d2e2d78 100644 --- a/synapse/api/auth.py +++ b/synapse/api/auth.py @@ -182,7 +182,7 @@ class Auth: # find the trace. for header_key in self.hs.config.tracing.request_headers_to_tag: headers = request.requestHeaders.getRawHeaders(header_key) - if len(headers): + if headers is not None: parent_span.set_tag( SynapseTags.REQUEST_HEADER_PREFIX + header_key, headers[0] ) diff --git a/synapse/config/tracer.py b/synapse/config/tracer.py index 6d750e397f..4bcb16ab02 100644 --- a/synapse/config/tracer.py +++ b/synapse/config/tracer.py @@ -42,10 +42,7 @@ class TracerConfig(Config): # reverse proxy service like Cloudflare to protect your Synapse instance # in order to correlate and match up requests that timed out at the # Cloudflare layer to the Synapse traces. - self.request_headers_to_tag = opentracing_config.get( - "request_headers_to_tag", - [], - ) + self.request_headers_to_tag = [] if not self.opentracer_enabled: return @@ -72,3 +69,13 @@ class TracerConfig(Config): ("opentracing", "force_tracing_for_users", f"index {i}"), ) self.force_tracing_for_users.add(u) + + request_headers_to_tag = opentracing_config.get( + "request_headers_to_tag", + [], + ) + if not isinstance(request_headers_to_tag, list): + raise ConfigError( + "Expected a list", ("opentracing", "request_headers_to_tag") + ) + self.request_headers_to_tag = request_headers_to_tag