types.d.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import Axios, {
  2. Method,
  3. AxiosError,
  4. AxiosResponse,
  5. AxiosRequestConfig
  6. } from "axios";
  7. export type resultType = {
  8. accessToken?: string;
  9. };
  10. export type RequestMethods = Extract<
  11. Method,
  12. "get" | "post" | "put" | "delete" | "patch" | "option" | "head"
  13. >;
  14. export interface PureHttpError extends AxiosError {
  15. isCancelRequest?: boolean;
  16. }
  17. export interface PureHttpResponse extends AxiosResponse {
  18. config: PureHttpRequestConfig;
  19. }
  20. export interface PureHttpRequestConfig extends AxiosRequestConfig {
  21. beforeRequestCallback?: (request: PureHttpRequestConfig) => void;
  22. beforeResponseCallback?: (response: PureHttpResponse) => void;
  23. }
  24. export default class PureHttp {
  25. request<T>(
  26. method: RequestMethods,
  27. url: string,
  28. param?: AxiosRequestConfig,
  29. axiosConfig?: PureHttpRequestConfig
  30. ): Promise<T>;
  31. post<T, P>(
  32. url: string,
  33. params?: T,
  34. config?: PureHttpRequestConfig
  35. ): Promise<P>;
  36. get<T, P>(
  37. url: string,
  38. params?: T,
  39. config?: PureHttpRequestConfig
  40. ): Promise<P>;
  41. }