Skip to content

Commit 7c164e7

Browse files
committed
hotfix: Some config validation handling. Version to 1.0.5.
1 parent 1953902 commit 7c164e7

File tree

3 files changed

+18
-21
lines changed

3 files changed

+18
-21
lines changed

dreadnode/api/client.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,6 @@ def request(
112112
"""Make a request to the API. Raise an exception for non-200 status codes."""
113113

114114
response = self._request(method, path, params, json_data)
115-
if response.status_code == 401: # noqa: PLR2004
116-
raise RuntimeError("Authentication failed, please check your API token.")
117115

118116
try:
119117
response.raise_for_status()

dreadnode/main.py

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -197,41 +197,40 @@ def initialize(self) -> None:
197197
span_processors: list[SpanProcessor] = []
198198
metric_readers: list[MetricReader] = []
199199

200-
self.server = self.server or DEFAULT_SERVER_URL
201-
if self.server is None and self.local_dir is False:
200+
self.server = self.server or (DEFAULT_SERVER_URL if self.token else None)
201+
if not (self.server and self.token and self.local_dir):
202202
warn_at_user_stacklevel(
203203
"Your current configuration won't persist run data anywhere. "
204204
"Use `dreadnode.init(server=..., token=...)`, `dreadnode.init(local_dir=...)`, "
205205
f"or use environment variables ({ENV_SERVER_URL}, {ENV_API_TOKEN}, {ENV_LOCAL_DIR}).",
206206
category=DreadnodeConfigWarning,
207207
)
208208

209-
if self.server:
210-
parsed_url = urlparse(self.server)
211-
if not parsed_url.scheme:
212-
netloc = parsed_url.path.split("/")[0]
213-
path = "/".join(parsed_url.path.split("/")[1:])
214-
parsed_new = parsed_url._replace(
215-
scheme="https", netloc=netloc, path=f"/{path}" if path else ""
216-
)
217-
self.server = urlunparse(parsed_new)
218-
219-
if self.local_dir is not False:
209+
if self.local_dir:
220210
config = FileExportConfig(
221211
base_path=self.local_dir,
222212
prefix=self.project + "-" if self.project else "",
223213
)
224214
span_processors.append(BatchSpanProcessor(FileSpanExporter(config)))
225215
metric_readers.append(FileMetricReader(config))
226216

227-
if self.token is not None:
228-
self._api = ApiClient(self.server, self.token)
229-
217+
if self.token and self.server:
230218
try:
219+
parsed_url = urlparse(self.server)
220+
if not parsed_url.scheme:
221+
netloc = parsed_url.path.split("/")[0]
222+
path = "/".join(parsed_url.path.split("/")[1:])
223+
parsed_new = parsed_url._replace(
224+
scheme="https", netloc=netloc, path=f"/{path}" if path else ""
225+
)
226+
self.server = urlunparse(parsed_new)
227+
228+
self._api = ApiClient(self.server, self.token)
229+
231230
self._api.list_projects()
232231
except Exception as e:
233232
raise RuntimeError(
234-
"Failed to authenticate with the provided server and token",
233+
"Failed to connect to the Dreadnode server.",
235234
) from e
236235

237236
headers = {"User-Agent": f"dreadnode/{VERSION}", "X-Api-Key": self.token}

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
[project]
22
name = "dreadnode"
3-
version = "1.0.4"
3+
version = "1.0.5"
44
description = "Dreadnode SDK"
55
requires-python = ">=3.10,<3.14"
66

77
[tool.poetry]
88
name = "dreadnode"
9-
version = "1.0.4"
9+
version = "1.0.5"
1010
description = "Dreadnode SDK"
1111
authors = ["Nick Landers <monoxgas@gmail.com>"]
1212
repository = "https://github.com/dreadnode/sdk"

0 commit comments

Comments
 (0)