Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions cycode/cyclient/scan_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import requests
from requests import Response
from tenacity import retry, retry_if_exception, stop_after_attempt, wait_random_exponential

from cycode.cli import consts
from cycode.cli.config import configuration_manager
Expand Down Expand Up @@ -166,6 +167,14 @@ def upload_to_presigned_post(
raise SlowUploadConnectionError from e
raise

# Ideally this retry would live in _execute (CycodeClientBase) so all callers benefit,
# but that requires making the retry predicate configurable per-call — a larger refactor.
@retry(
retry=retry_if_exception(lambda e: isinstance(e, RequestHttpError) and e.status_code == 404),
stop=stop_after_attempt(3),
wait=wait_random_exponential(multiplier=1, min=1, max=5),
reraise=True,
)
def scan_repository_from_upload_id(
self,
scan_type: str,
Expand Down
Loading