diff --git a/client/src/lib/axios/createAxiosDataProvider.ts b/client/src/lib/axios/createAxiosDataProvider.ts index 979dfc9..4c69ab4 100644 --- a/client/src/lib/axios/createAxiosDataProvider.ts +++ b/client/src/lib/axios/createAxiosDataProvider.ts @@ -117,7 +117,7 @@ export const createAxiosDataProvider = ( }, custom: async (params: ICustomDataProviderParam): Promise => { - const { url, method, headers, payload } = params; + const { url, method, responseType, headers, ...payload } = params; const requestUrl = `${url}?`; /*if (sort) { @@ -153,13 +153,23 @@ export const createAxiosDataProvider = ( case "put": case "post": case "patch": - customResponse = await httpClient[method](url, payload); + customResponse = await httpClient[method](url, { + responseType, + headers, + ...payload, + }); break; - case "remove": - customResponse = await httpClient.delete(url); + case "delete": + customResponse = await httpClient.delete(url, { + responseType, + headers, + }); break; default: - customResponse = await httpClient.get(requestUrl); + customResponse = await httpClient.get(requestUrl, { + responseType, + headers, + }); break; } diff --git a/client/src/lib/hooks/useDataSource/DataSource.ts b/client/src/lib/hooks/useDataSource/DataSource.ts index d402d62..c4026ee 100644 --- a/client/src/lib/hooks/useDataSource/DataSource.ts +++ b/client/src/lib/hooks/useDataSource/DataSource.ts @@ -1,5 +1,5 @@ import { IListResponse_DTO } from "@shared/contexts"; -import { AxiosHeaderValue } from "axios"; +import { AxiosHeaderValue, ResponseType } from "axios"; export interface IPaginationDataProviderParam { pageIndex: number; @@ -55,10 +55,11 @@ export interface IRemoveOneDataProviderParams { export interface ICustomDataProviderParam { url: string; method: "get" | "delete" | "head" | "options" | "post" | "put" | "patch"; + responseType?: ResponseType; headers?: { [key: string]: AxiosHeaderValue; }; - payload?: unknown; + [key: string]: unknown; } export interface IDataSource {