Improved network debugging

This commit is contained in:
Tom Moor
2022-10-08 10:08:17 -04:00
parent c8f990018c
commit 051c79d651
3 changed files with 17 additions and 3 deletions

View File

@@ -9,6 +9,7 @@ import Logger from "./Logger";
import download from "./download";
import {
AuthorizationError,
BadGatewayError,
BadRequestError,
NetworkError,
NotFoundError,
@@ -101,6 +102,7 @@ class ApiClient {
}
let response;
const timeStart = window.performance.now();
try {
response = await fetchWithRetry(urlToFetch, {
@@ -127,6 +129,7 @@ class ApiClient {
}
}
const timeEnd = window.performance.now();
const success = response.status >= 200 && response.status < 300;
if (options.download && success) {
@@ -196,6 +199,12 @@ class ApiClient {
);
}
if (response.status === 502) {
throw new BadGatewayError(
`Request to ${urlToFetch} failed in ${timeEnd - timeStart}ms.`
);
}
const err = new RequestError(`Error ${response.status}`);
Logger.error("Request failed", err, {
...error,

View File

@@ -12,6 +12,8 @@ export class OfflineError extends ExtendableError {}
export class ServiceUnavailableError extends ExtendableError {}
export class BadGatewayError extends ExtendableError {}
export class RateLimitExceededError extends ExtendableError {}
export class RequestError extends ExtendableError {}