aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/proxy/addon.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/hydrilla/proxy/addon.py')
-rw-r--r--src/hydrilla/proxy/addon.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/hydrilla/proxy/addon.py b/src/hydrilla/proxy/addon.py
index 68b3cd5..98894e7 100644
--- a/src/hydrilla/proxy/addon.py
+++ b/src/hydrilla/proxy/addon.py
@@ -32,11 +32,12 @@ from addon script.
import sys
import re
+import threading
+import secrets
import typing as t
import dataclasses as dc
import traceback as tb
-from threading import Lock
from pathlib import Path
from contextlib import contextmanager
from urllib.parse import urlparse
@@ -139,6 +140,8 @@ class PassedOptions:
self.haketilo_launch_browser is not None)
+Lock = threading.Lock
+
@dc.dataclass
class HaketiloAddon:
initial_options: PassedOptions = PassedOptions()
@@ -343,7 +346,15 @@ class HaketiloAddon:
with self.http_safe_event_handling(flow):
handling = self.get_flow_handling(flow)
- result = handling.policy.consume_response(handling.full_http_info)
+ new_nonce = secrets.token_urlsafe(8)
+ setattr(policies.response_work_data, 'nonce', new_nonce)
+
+ try:
+ http_info = handling.full_http_info
+ result = handling.policy.consume_response(http_info)
+ finally:
+ delattr(policies.response_work_data, 'nonce')
+
if result is not None:
headers_bin = result.headers.items_bin()