@@ -174,25 +174,25 @@ def _get_request_header_user_agent(headers, headers_are_case_sensitive=False):
174
174
175
175
def _get_request_header_referrer_host (headers , headers_are_case_sensitive = False ):
176
176
# type: (Mapping[str, str], bool) -> str
177
- """Get referer host from request headers
177
+ """Get referrer host from request headers
178
178
:param headers: A dict of http headers to be stored in the span
179
179
:type headers: dict or list
180
180
:param headers_are_case_sensitive: Whether the headers are case sensitive
181
181
:type headers_are_case_sensitive: bool
182
- :return: The referer host if found, empty string otherwise
182
+ :return: The referrer host if found, empty string otherwise
183
183
:rtype: str
184
184
"""
185
185
if headers_are_case_sensitive :
186
- referer = _get_header_value_case_insensitive (headers , "referer" )
186
+ referrer = _get_header_value_case_insensitive (headers , "referer" )
187
187
else :
188
- referer = headers .get ("referer" )
189
- if referer :
188
+ referrer = headers .get ("referer" )
189
+ if referrer :
190
190
try :
191
- parsed_url = parse .urlparse (referer )
191
+ parsed_url = parse .urlparse (referrer )
192
192
if parsed_url .hostname :
193
193
return parsed_url .hostname
194
- except Exception :
195
- pass
194
+ except ( ValueError , AttributeError ) as e :
195
+ log . debug ( "Failed to parse referer header value: %r" , referrer , exc_info = e )
196
196
return ""
197
197
198
198
@@ -526,9 +526,9 @@ def set_http_meta(
526
526
span .set_tag_str (http .USER_AGENT , user_agent )
527
527
528
528
# Extract referrer host if referer header is present
529
- referer_host = _get_request_header_referrer_host (request_headers , headers_are_case_sensitive )
530
- if referer_host :
531
- span .set_tag_str (http .REFERRER_HOST , referer_host )
529
+ referrer_host = _get_request_header_referrer_host (request_headers , headers_are_case_sensitive )
530
+ if referrer_host :
531
+ span .set_tag_str (http .REFERRER_HOST , referrer_host )
532
532
533
533
# We always collect the IP if appsec is enabled to report it on potential vulnerabilities.
534
534
# https://datadoghq.atlassian.net/wiki/spaces/APS/pages/2118779066/Client+IP+addresses+resolution
0 commit comments