6
6
# Configuration
7
7
TARGET_HOST = "instabug.com"
8
8
ORIGINAL_DOMAIN = "api.instabug.com"
9
- NEW_DOMAIN = "st001012dream11.instabug.com"
10
- TARGET_TOKEN = "dfed1c768730afbd56efafd571b4cbaa"
9
+ NEW_DOMAIN = os . getenv ( 'Domain' )
10
+ TARGET_TOKEN = os . getenv ( 'Key' )
11
11
ALL_REQUESTS_FILE = "InterceptedRequests.json"
12
+ CAPTURED_RESPONSE_FILE = "captured_response.json"
13
+
12
14
def save_to_json (data , filename ):
13
15
try :
14
16
if os .path .exists (filename ):
@@ -24,6 +26,19 @@ def save_to_json(data, filename):
24
26
except Exception as e :
25
27
ctx .log .error (f"Error saving to { filename } : { str (e )} " )
26
28
29
+ def save_captured_response (response_body ):
30
+ try :
31
+ if isinstance (response_body , str ):
32
+ response_json = json .loads (response_body )
33
+ else :
34
+ response_json = json .loads (response_body .decode ('utf-8' ))
35
+
36
+ with open (CAPTURED_RESPONSE_FILE , 'w' ) as f :
37
+ json .dump (response_json , f , indent = 2 )
38
+
39
+ except Exception as e :
40
+ ctx .log .error (f"Error saving captured response: { str (e )} " )
41
+
27
42
def should_intercept (url : str ) -> bool :
28
43
return TARGET_HOST in url
29
44
@@ -69,6 +84,10 @@ def response(flow: http.HTTPFlow) -> None:
69
84
'headers' : dict (flow .response .headers ),
70
85
'content' : flow .response .get_text ()
71
86
}
87
+
88
+ response_body = flow .response .get_text ()
89
+ save_captured_response (response_body )
90
+
72
91
flow .metadata ['captured_response' ] = captured_response
73
92
74
93
ctx .log .info ("Restoring original request details" )
@@ -95,4 +114,4 @@ def response(flow: http.HTTPFlow) -> None:
95
114
"body" : flow .response .get_text () if flow .response .get_text () else None
96
115
}
97
116
}
98
- save_to_json (request_response_data , ALL_REQUESTS_FILE )
117
+ save_to_json (flow . response , ALL_REQUESTS_FILE )
0 commit comments