import { compose } from "./utils";
import { ResponseHandleArgs } from "./@types/";

/**
 * 默认配置
 */
export const DEFAULT_CONFIG = {
  prefix: "",
  fetchOption: {},
  responseHandle: async (res: ResponseHandleArgs) => {
    const data = await res.response.clone().json();
    return {
      ...data,
      ...res.options
    };
  },
  interceptor: {
    requestInterceptor: compose(),
    responseInterceptor: compose(),
    errorInterceptor: compose()
  }
};

/**
 * 请求类型
 */
export const JSON_TYPE = "application/json";

export const FORM_DATA_TYPE = "multipart/form-data;";

/**
 * 匹配http，https
 */
export const URL_HTTP_REG = /^http(s?)\:\/\//;
