Merge pull request 'Improve API error messages: show HTTP status, catch network errors' (#6) from feature/auth-invites into main
CI / build-and-push (push) Successful in 37s
CI / build-and-push (push) Successful in 37s
Reviewed-on: #6
This commit was merged in pull request #6.
This commit is contained in:
@@ -86,8 +86,8 @@ async function request<T>(path: string, options: RequestInit & { timeoutMs?: num
|
||||
});
|
||||
|
||||
if (!res.ok) {
|
||||
const body = await res.json().catch(() => ({ error: 'Unknown error' }));
|
||||
throw new Error(body.error || `HTTP ${res.status}`);
|
||||
const body = await res.json().catch(() => null);
|
||||
throw new Error(body?.error || `HTTP ${res.status} ${res.statusText}`);
|
||||
}
|
||||
|
||||
return res.json();
|
||||
@@ -95,6 +95,9 @@ async function request<T>(path: string, options: RequestInit & { timeoutMs?: num
|
||||
if (e instanceof DOMException && e.name === 'AbortError') {
|
||||
throw new Error('Request timed out — server may be unreachable');
|
||||
}
|
||||
if (e instanceof TypeError) {
|
||||
throw new Error('Network error — server may be unreachable');
|
||||
}
|
||||
throw e;
|
||||
} finally {
|
||||
clearTimeout(timeout);
|
||||
|
||||
Reference in New Issue
Block a user