Skip to content

Commit e661ca6

Browse files
Raise explicit error for blank env base URL
Co-authored-by: Shri Sukhani <shrisukhani@users.noreply.github.com>
1 parent 59614aa commit e661ca6

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

hyperbrowser/config.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff 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

tests/test_config.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
136146
def 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://")

0 commit comments

Comments
 (0)