Skip to content

Commit 6419aaf

Browse files
CM-60459-Fallback on V4 upload failure (#396)
1 parent d9ce12c commit 6419aaf

File tree

2 files changed

+27
-11
lines changed

2 files changed

+27
-11
lines changed

cycode/cli/apps/scan/code_scanner.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from platform import platform
44
from typing import TYPE_CHECKING, Callable, Optional
55

6+
import requests
67
import typer
78

89
from cycode.cli import consts
@@ -330,9 +331,12 @@ def _perform_scan(
330331
return _perform_scan_sync(cycode_client, zipped_documents, scan_type, scan_parameters, is_git_diff)
331332

332333
if should_use_presigned_upload(scan_type):
333-
return _perform_scan_v4_async(
334-
cycode_client, zipped_documents, scan_type, scan_parameters, is_git_diff, is_commit_range
335-
)
334+
try:
335+
return _perform_scan_v4_async(
336+
cycode_client, zipped_documents, scan_type, scan_parameters, is_git_diff, is_commit_range
337+
)
338+
except requests.exceptions.RequestException:
339+
logger.warning('Direct upload to object storage failed. Falling back to upload via Cycode API. ')
336340

337341
return _perform_scan_async(cycode_client, zipped_documents, scan_type, scan_parameters, is_commit_range)
338342

cycode/cli/apps/scan/commit_range_scanner.py

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from typing import TYPE_CHECKING, Optional
33

44
import click
5+
import requests
56
import typer
67

78
from cycode.cli import consts
@@ -152,14 +153,25 @@ def _scan_commit_range_documents(
152153
to_commit_zipped_documents = zip_documents(scan_type, to_documents_to_scan)
153154

154155
if should_use_presigned_upload(scan_type):
155-
scan_result = _perform_commit_range_scan_v4_async(
156-
cycode_client,
157-
from_commit_zipped_documents,
158-
to_commit_zipped_documents,
159-
scan_type,
160-
scan_parameters,
161-
timeout,
162-
)
156+
try:
157+
scan_result = _perform_commit_range_scan_v4_async(
158+
cycode_client,
159+
from_commit_zipped_documents,
160+
to_commit_zipped_documents,
161+
scan_type,
162+
scan_parameters,
163+
timeout,
164+
)
165+
except requests.exceptions.RequestException:
166+
logger.warning('Direct upload to object storage failed. Falling back to upload via Cycode API. ')
167+
scan_result = _perform_commit_range_scan_async(
168+
cycode_client,
169+
from_commit_zipped_documents,
170+
to_commit_zipped_documents,
171+
scan_type,
172+
scan_parameters,
173+
timeout,
174+
)
163175
else:
164176
scan_result = _perform_commit_range_scan_async(
165177
cycode_client,

0 commit comments

Comments
 (0)