5
5
A Python module for the ReversingLabs TitaniumScale appliance REST API.
6
6
"""
7
7
8
+ import inspect
8
9
import json
9
10
import requests
10
11
import time
@@ -26,7 +27,8 @@ def __init__(self, host, token=None, wait_time_seconds=2, retries=10, verify=Tru
26
27
self ._host = self .__validate_host (host )
27
28
self ._url = "{host}{{endpoint}}" .format (host = self ._host )
28
29
29
- self ._headers = {"User-Agent" : user_agent }
30
+ self ._user_agent = user_agent
31
+ self ._headers = {}
30
32
if token :
31
33
self ._headers ["Authorization" ] = "Token {token}" .format (token = token )
32
34
@@ -238,6 +240,9 @@ def __get_results(self, task_url, full_report=False):
238
240
full_report = full_report
239
241
)
240
242
243
+ self ._headers ["User-Agent" ] = (f"{ self ._user_agent } ; { self .__class__ .__name__ } "
244
+ f"{ inspect .currentframe ().f_back .f_code .co_name } " )
245
+
241
246
response = requests .get (
242
247
url = url ,
243
248
verify = self ._verify ,
@@ -290,6 +295,9 @@ def __upload_files(self, file_handle, custom_token, user_data, custom_data):
290
295
291
296
url = self ._url .format (endpoint = self .__UPLOAD_ENDPOINT )
292
297
298
+ self ._headers ["User-Agent" ] = (f"{ self ._user_agent } ; { self .__class__ .__name__ } "
299
+ f"{ inspect .currentframe ().f_back .f_code .co_name } " )
300
+
293
301
response = requests .post (
294
302
url = url ,
295
303
files = files ,
@@ -326,6 +334,9 @@ def list_processing_tasks(self, age=None, custom_token=None):
326
334
327
335
url = self ._url .format (endpoint = self .__MULTIPLE_TASKS_ENDPOINT )
328
336
337
+ self ._headers ["User-Agent" ] = (f"{ self ._user_agent } ; { self .__class__ .__name__ } "
338
+ f"{ inspect .currentframe ().f_code .co_name } " )
339
+
329
340
response = requests .get (
330
341
url = url ,
331
342
verify = self ._verify ,
@@ -374,6 +385,9 @@ def get_processing_task_info(self, task_id, full=True, v13=False, view=None):
374
385
endpoint = self .__SINGLE_TASK_ENDPOINT .format (task_id = task_id )
375
386
url = self ._url .format (endpoint = endpoint )
376
387
388
+ self ._headers ["User-Agent" ] = (f"{ self ._user_agent } ; { self .__class__ .__name__ } "
389
+ f"{ inspect .currentframe ().f_code .co_name } " )
390
+
377
391
response = requests .get (
378
392
url = url ,
379
393
verify = self ._verify ,
@@ -399,6 +413,9 @@ def delete_processing_task(self, task_id):
399
413
endpoint = self .__SINGLE_TASK_ENDPOINT .format (task_id = task_id )
400
414
url = self ._url .format (endpoint = endpoint )
401
415
416
+ self ._headers ["User-Agent" ] = (f"{ self ._user_agent } ; { self .__class__ .__name__ } "
417
+ f"{ inspect .currentframe ().f_code .co_name } " )
418
+
402
419
response = requests .delete (
403
420
url = url ,
404
421
verify = self ._verify ,
@@ -424,6 +441,9 @@ def delete_multiple_tasks(self, age):
424
441
425
442
url = self ._url .format (endpoint = self .__MULTIPLE_TASKS_ENDPOINT )
426
443
444
+ self ._headers ["User-Agent" ] = (f"{ self ._user_agent } ; { self .__class__ .__name__ } "
445
+ f"{ inspect .currentframe ().f_code .co_name } " )
446
+
427
447
response = requests .delete (
428
448
url = url ,
429
449
verify = self ._verify ,
@@ -440,6 +460,9 @@ def get_yara_id(self):
440
460
"""Retrieves the identifier of the current set of YARA rules on the TitaniumScale Worker instance."""
441
461
url = self ._url .format (endpoint = self .__YARA_ID_ENDPOINT )
442
462
463
+ self ._headers ["User-Agent" ] = (f"{ self ._user_agent } ; { self .__class__ .__name__ } "
464
+ f"{ inspect .currentframe ().f_code .co_name } " )
465
+
443
466
response = requests .get (
444
467
url = url ,
445
468
verify = self ._verify ,
0 commit comments