API Client: Add client-level error handler (#102091)

* API Client: Add client-level error handler

* Return fetch error

* Simplify error object
This commit is contained in:
Alex Khomenko
2025-03-13 17:40:52 +02:00
committed by GitHub
parent 6f12712ad6
commit 441e72b07f
+6 -4
View File
@@ -8,7 +8,11 @@ interface RequestOptions extends BackendSrvRequest {
body?: BackendSrvRequest['data'];
}
export function createBaseQuery({ baseURL }: { baseURL: string }): BaseQueryFn<RequestOptions> {
interface CreateBaseQueryOptions {
baseURL: string;
}
export function createBaseQuery({ baseURL }: CreateBaseQueryOptions): BaseQueryFn<RequestOptions> {
async function backendSrvBaseQuery(requestOptions: RequestOptions) {
try {
const { data: responseData, ...meta } = await lastValueFrom(
@@ -33,9 +37,7 @@ export function createBaseQuery({ baseURL }: { baseURL: string }): BaseQueryFn<R
}
export function handleRequestError(error: unknown) {
if (isFetchError(error)) {
return { error: new Error(error.data.message) };
} else if (error instanceof Error) {
if (isFetchError(error) || error instanceof Error) {
return { error };
} else {
return { error: new Error('Unknown error') };