Skip to content

Commit ef76732

Browse files
fix(starlette): Fix failed_request_status_codes=[]
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 8402895 commit ef76732

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

sentry_sdk/integrations/starlette.py

Lines changed: 5 additions & 3 deletions
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+
)
9496

9597
@staticmethod
9698
def setup_once():

tests/integrations/fastapi/test_fastapi.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,7 @@ def test_transaction_name_in_middleware(
519519
([range(400, 403), 500, 501], 405, False),
520520
([range(400, 403), 500, 501], 501, True),
521521
([range(400, 403), 500, 501], 503, False),
522+
([], 500, False),
522523
],
523524
)
524525
def test_configurable_status_codes(

tests/integrations/starlette/test_starlette.py

Lines changed: 1 addition & 0 deletions
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
def test_configurable_status_codes(

0 commit comments

Comments
 (0)