Skip to content
This repository was archived by the owner on Nov 2, 2024. It is now read-only.

Commit 263152e

Browse files
cristinaascariMichalsus
authored andcommitted
* fix triage manage submission response * fix
1 parent a022146 commit 263152e

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

api_app/analyzers_manager/observable_analyzers/triage/triage_base.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
# See the file 'LICENSE' for copying permission.
33

44
import logging
5+
import time
56
from abc import ABCMeta
67
from typing import Dict
78

89
import requests
10+
from requests.exceptions import ChunkedEncodingError
911

1012
from api_app.analyzers_manager.classes import BaseAnalyzerMixin
1113
from api_app.analyzers_manager.exceptions import (
@@ -18,7 +20,7 @@
1820

1921
class TriageMixin(BaseAnalyzerMixin, metaclass=ABCMeta):
2022
# using public endpoint as the default url
21-
url: str = "https://api.tria.ge/v0/"
23+
url: str = "https://tria.ge/api/v0/"
2224
private_url: str = "https://private.tria.ge/api/v0/"
2325
report_url: str = "https://tria.ge/"
2426

@@ -40,6 +42,7 @@ def config(self, runtime_configuration: Dict):
4042
self.poll_distance = 3
4143
self.final_report = {}
4244
self.response = None
45+
self.events_response = None
4346

4447
@property
4548
def session(self):
@@ -57,7 +60,23 @@ def manage_submission_response(self):
5760
if sample_id is None:
5861
raise AnalyzerRunException("error sending sample")
5962

60-
self.session.get(self.url + f"samples/{sample_id}/events")
63+
for _try in range(self.max_tries):
64+
logger.info(f"triage events polling for result try #{_try + 1}")
65+
try:
66+
self.events_response = self.session.get(
67+
self.url + f"samples/{sample_id}/events"
68+
)
69+
if self.events_response.status_code == 200:
70+
break
71+
time.sleep(self.poll_distance)
72+
except ChunkedEncodingError as e:
73+
logger.info(f"Detected {e} on try #{_try + 1}")
74+
continue
75+
else:
76+
if self.events_response:
77+
self.events_response.raise_for_status()
78+
else:
79+
raise AnalyzerRunException("error requesting sample events")
6180

6281
self.final_report["overview"] = self.get_overview_report(sample_id)
6382

0 commit comments

Comments
 (0)