diff --git a/packages/libs/http-utils/src/FetchClient.ts b/packages/libs/http-utils/src/FetchClient.ts index ece719a1c8..546b643c3e 100644 --- a/packages/libs/http-utils/src/FetchClient.ts +++ b/packages/libs/http-utils/src/FetchClient.ts @@ -58,16 +58,19 @@ export abstract class FetchClient { protected readonly baseUrl: string; protected readonly init: RequestInit; protected readonly fetchApi: Window['fetch']; - protected readonly onNonSuccessResponse: FetchApiOptions['onNonSuccessResponse']; // Subclasses can set this to false to disable including a traceparent header with all requests. protected readonly includeTraceidHeader: boolean = true; + protected get onNonSuccessResponse() { + return this._onNonSuccessResponse ?? FetchClient.onNonSuccessResponse; + } + + private readonly _onNonSuccessResponse: FetchApiOptions['onNonSuccessResponse']; constructor(options: FetchApiOptions) { this.baseUrl = options.baseUrl; this.init = options.init ?? {}; this.fetchApi = options.fetchApi ?? window.fetch; - this.onNonSuccessResponse = - options.onNonSuccessResponse ?? FetchClient.onNonSuccessResponse; + this._onNonSuccessResponse = options.onNonSuccessResponse; } /** diff --git a/packages/libs/user-datasets/src/lib/Hooks/user-datasets.ts b/packages/libs/user-datasets/src/lib/Hooks/user-datasets.ts deleted file mode 100644 index 8f5da93b43..0000000000 --- a/packages/libs/user-datasets/src/lib/Hooks/user-datasets.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { useNonNullableContext } from '@veupathdb/wdk-client/lib/Hooks/NonNullableContext'; -import { WdkDependenciesContext } from '@veupathdb/wdk-client/lib/Hooks/WdkDependenciesEffect'; -import { useMemo } from 'react'; -import { UserDatasetApi } from '../Service/api'; - -function useWdkServiceContext() { - const { wdkService } = useNonNullableContext(WdkDependenciesContext); - return wdkService; -} - -export function useConfiguredVdiClient(baseUrl: string) { - const wdkService = useWdkServiceContext(); - return useMemo( - () => new UserDatasetApi({ baseUrl }, wdkService), - [baseUrl, wdkService] - ); -} diff --git a/packages/libs/user-datasets/src/lib/Service/api.ts b/packages/libs/user-datasets/src/lib/Service/api.ts index 07a3e5676f..bf938d39d9 100644 --- a/packages/libs/user-datasets/src/lib/Service/api.ts +++ b/packages/libs/user-datasets/src/lib/Service/api.ts @@ -91,16 +91,15 @@ export class UserDatasetApi extends FetchClientWithCredentials { const response = JSON.parse(xhr.response); dispatchUploadProgress && dispatchUploadProgress(null); dispatchPageRedirect && dispatchPageRedirect(response.datasetId); - } catch (error) { + } finally { dispatchUploadProgress && dispatchUploadProgress(null); - console.error(error); } } if (xhr.readyState === XMLHttpRequest.DONE && xhr.status >= 400) { const error = new Error(xhr.response); dispatchUploadProgress && dispatchUploadProgress(null); dispatchBadUpload && dispatchBadUpload(String(error)); - console.log(error); + this.onNonSuccessResponse?.(error); } });