File tree Expand file tree Collapse file tree 2 files changed +17
-3
lines changed
Expand file tree Collapse file tree 2 files changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -51,9 +51,13 @@ def from_env(cls) -> "ClientConfig":
5151 "HYPERBROWSER_API_KEY environment variable is required"
5252 )
5353
54- base_url = os .environ .get (
55- "HYPERBROWSER_BASE_URL" , "https://api.hyperbrowser.ai"
56- )
54+ raw_base_url = os .environ .get ("HYPERBROWSER_BASE_URL" )
55+ if raw_base_url is None :
56+ base_url = "https://api.hyperbrowser.ai"
57+ elif not raw_base_url .strip ():
58+ raise HyperbrowserError ("HYPERBROWSER_BASE_URL must not be empty when set" )
59+ else :
60+ base_url = raw_base_url
5761 headers = cls .parse_headers_from_env (os .environ .get ("HYPERBROWSER_HEADERS" ))
5862 return cls (api_key = api_key , base_url = base_url , headers = headers )
5963
Original file line number Diff line number Diff line change @@ -133,6 +133,16 @@ def test_client_config_from_env_rejects_invalid_base_url(monkeypatch):
133133 ClientConfig .from_env ()
134134
135135
136+ def test_client_config_from_env_rejects_blank_base_url (monkeypatch ):
137+ monkeypatch .setenv ("HYPERBROWSER_API_KEY" , "test-key" )
138+ monkeypatch .setenv ("HYPERBROWSER_BASE_URL" , " " )
139+
140+ with pytest .raises (
141+ HyperbrowserError , match = "HYPERBROWSER_BASE_URL must not be empty"
142+ ):
143+ ClientConfig .from_env ()
144+
145+
136146def test_client_config_from_env_rejects_base_url_without_host (monkeypatch ):
137147 monkeypatch .setenv ("HYPERBROWSER_API_KEY" , "test-key" )
138148 monkeypatch .setenv ("HYPERBROWSER_BASE_URL" , "https://" )
You can’t perform that action at this time.
0 commit comments