@macrof/shared
Version:
React MicroFrontend Shared, Typescript, Webpack 5, ModuleFederation
18 lines (17 loc) • 1.01 kB
TypeScript
import { AxiosInstance, AxiosResponse } from "axios";
import { ILogger, IHttpService, Token, TAxiosMethodsParams } from "../..";
export declare abstract class Middleware implements IHttpService {
private _logger;
private _token;
private readonly _promise;
protected readonly client: AxiosInstance;
constructor(_logger: ILogger, _token: Token);
private requestMiddleware;
private responseMiddleware;
private errorMiddleware;
abstract get<T>(url: string, params?: TAxiosMethodsParams): Promise<AxiosResponse<T>>;
abstract post<T>(url: string, data: Record<string, any>, params?: TAxiosMethodsParams): Promise<AxiosResponse<T>>;
abstract postFormData<T>(url: string, data: Record<string, any>, params?: TAxiosMethodsParams): Promise<AxiosResponse<T>>;
abstract put<T>(url: string, data: Record<string, any>, params?: TAxiosMethodsParams): Promise<AxiosResponse<T>>;
abstract delete<T>(url: string, params?: TAxiosMethodsParams): Promise<AxiosResponse<T>>;
}