fix Selenium wss:// handling and webhook JSON parse guard

This commit is contained in:
ShawnPana
2026-03-21 19:04:16 -07:00
parent 709853c307
commit 318eb3b41e
2 changed files with 5 additions and 2 deletions

View File

@@ -105,7 +105,7 @@ from selenium.webdriver.chrome.options import Options
browser_session = await client.browsers.create(proxy_country_code="us")
options = Options()
options.debugger_address = browser_session.cdp_url.replace("ws://", "").replace("/devtools/browser/", "")
options.debugger_address = browser_session.cdp_url.replace("wss://", "").replace("ws://", "").replace("/devtools/browser/", "")
driver = webdriver.Chrome(options=options)
driver.get("https://example.com")

View File

@@ -88,7 +88,10 @@ def verify_webhook(body: bytes, signature: str, timestamp: str, secret: str) ->
return False
if abs(time.time() - ts) > 300:
return False
payload = json.loads(body)
try:
payload = json.loads(body)
except (json.JSONDecodeError, ValueError):
return False
message = f"{timestamp}.{json.dumps(payload, separators=(',', ':'), sort_keys=True)}"
expected = hmac.new(secret.encode(), message.encode(), hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, signature)