diff --git a/src/synack/plugins/api.py b/src/synack/plugins/api.py index 1cc70c1..84d6e4f 100644 --- a/src/synack/plugins/api.py +++ b/src/synack/plugins/api.py @@ -150,7 +150,7 @@ def request(self, method, path, attempts=0, **kwargs): elif res.status_code == 403: reason_failed = 'Logged out' elif res.status_code == 412: - fail_reason = 'Mission already claimed' + reason_failed = 'Mission already claimed' elif res.status_code == 429: self._debug.log('Too many requests', f'({res.status_code} - {res.reason}) {res.url}') if attempts < 5: @@ -165,6 +165,8 @@ def request(self, method, path, attempts=0, **kwargs): attempts += 1 return self.request(method, path, attempts, **kwargs) - self._debug.log('Mission already claimed', f'({res.status_code} - {res.reason}) {res.url}') + # Log terminal failures (non-retryable errors) + if res.status_code in [400, 401, 403, 412]: + self._debug.log(reason_failed, f'({res.status_code} - {res.reason}) {res.url}') return res