File tree Expand file tree Collapse file tree 2 files changed +33
-7
lines changed
Expand file tree Collapse file tree 2 files changed +33
-7
lines changed Original file line number Diff line number Diff line change @@ -48,15 +48,21 @@ def __init__(
4848 os .environ .get ("HYPERBROWSER_HEADERS" )
4949 )
5050 )
51+ env_base_url = os .environ .get ("HYPERBROWSER_BASE_URL" )
52+ if base_url is None :
53+ if env_base_url is None :
54+ resolved_base_url = "https://api.hyperbrowser.ai"
55+ elif not env_base_url .strip ():
56+ raise HyperbrowserError (
57+ "HYPERBROWSER_BASE_URL must not be empty when set"
58+ )
59+ else :
60+ resolved_base_url = env_base_url
61+ else :
62+ resolved_base_url = base_url
5163 config = ClientConfig (
5264 api_key = resolved_api_key ,
53- base_url = (
54- base_url
55- if base_url is not None
56- else os .environ .get (
57- "HYPERBROWSER_BASE_URL" , "https://api.hyperbrowser.ai"
58- )
59- ),
65+ base_url = resolved_base_url ,
6066 headers = resolved_headers ,
6167 )
6268
Original file line number Diff line number Diff line change @@ -34,6 +34,26 @@ def test_sync_client_rejects_blank_env_api_key(monkeypatch):
3434 Hyperbrowser ()
3535
3636
37+ def test_sync_client_rejects_blank_env_base_url (monkeypatch ):
38+ monkeypatch .setenv ("HYPERBROWSER_API_KEY" , "test-key" )
39+ monkeypatch .setenv ("HYPERBROWSER_BASE_URL" , " " )
40+
41+ with pytest .raises (
42+ HyperbrowserError , match = "HYPERBROWSER_BASE_URL must not be empty"
43+ ):
44+ Hyperbrowser ()
45+
46+
47+ def test_async_client_rejects_blank_env_base_url (monkeypatch ):
48+ monkeypatch .setenv ("HYPERBROWSER_API_KEY" , "test-key" )
49+ monkeypatch .setenv ("HYPERBROWSER_BASE_URL" , " " )
50+
51+ with pytest .raises (
52+ HyperbrowserError , match = "HYPERBROWSER_BASE_URL must not be empty"
53+ ):
54+ AsyncHyperbrowser ()
55+
56+
3757def test_sync_client_rejects_non_string_api_key ():
3858 with pytest .raises (HyperbrowserError , match = "api_key must be a string" ):
3959 Hyperbrowser (api_key = 123 ) # type: ignore[arg-type]
You can’t perform that action at this time.
0 commit comments