Skip to content

Commit 09c6f2a

Browse files
fix(starlette): Fix failed_request_status_codes=[] (getsentry#3561)
Passing an empty list for `failed_request_status_codes` should result in no status codes resulting in a Sentry error. However, right now, setting `failed_request_status_codes=[]` instead yields the default `failed_request_status_codes` of `range(500, 599)`. This change fixes the incorrect behavior and adds tests to verify the fix.
1 parent ccdbffb commit 09c6f2a

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

sentry_sdk/integrations/starlette.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,11 @@ def __init__(
8888
)
8989
self.transaction_style = transaction_style
9090
self.middleware_spans = middleware_spans
91-
self.failed_request_status_codes = failed_request_status_codes or [
92-
range(500, 599)
93-
]
91+
self.failed_request_status_codes = (
92+
[range(500, 599)]
93+
if failed_request_status_codes is None
94+
else failed_request_status_codes
95+
) # type: list[HttpStatusCodeRange]
9496

9597
@staticmethod
9698
def setup_once():

tests/integrations/starlette/test_starlette.py

+1
Original file line numberDiff line numberDiff line change
@@ -1149,6 +1149,7 @@ def test_span_origin(sentry_init, capture_events):
11491149
([range(400, 403), 500, 501], 405, False),
11501150
([range(400, 403), 500, 501], 501, True),
11511151
([range(400, 403), 500, 501], 503, False),
1152+
([], 500, False),
11521153
],
11531154
)
11541155
"""Test cases for configurable status codes.

0 commit comments

Comments
 (0)