Skip to content

Commit

Permalink
Update warning when invalid delivery is set
Browse files Browse the repository at this point in the history
  • Loading branch information
imjoehaines committed Jan 23, 2024
1 parent 904cbab commit d1dfd78
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion bugsnag/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,20 @@ def delivery(self):

@delivery.setter # type: ignore
def delivery(self, value):
if hasattr(value, 'deliver') and callable(value.deliver):
has_deliver = hasattr(value, 'deliver') and callable(value.deliver)
has_deliver_sessions = hasattr(value, 'deliver_sessions') and callable(value.deliver_sessions)

if has_deliver and has_deliver_sessions:
has_options_parameter = 'options' in value.deliver_sessions.__code__.co_varnames

if not has_options_parameter:
warnings.warn(
'delivery.deliver_sessions should accept an "options" ' +
'parameter to allow for synchronous delivery, sessions' +
'sessions may be lost when the process exits',
DeprecationWarning
)

self._delivery = value
else:
message = ('delivery should implement Delivery interface, got ' +
Expand Down

0 comments on commit d1dfd78

Please sign in to comment.