HttpRequest constructor

HttpRequest({
  1. TargetApi? api,
})

Implementation

HttpRequest({TargetApi? api}) {
  api ??= DefaultTargetApi(HttpDefaultConfig().defaultBaseUrl);
  _dio.options.baseUrl = api.baseUrl;
  _dio.options.contentType = api.contentType;
  _dio.options.connectTimeout = api.connectTimeout;
  _dio.options.sendTimeout = api.sendTimeout;
  _dio.options.receiveTimeout = api.receiveTimeout;
  _dio.options.headers = api.headers;
  // debug模式下打印请求
  if (kDebugMode) {
    _dio.interceptors.add(LogInterceptor(
        responseBody: true,
        error: true,
        requestHeader: false,
        responseHeader: false,
        request: true,
        requestBody: true));
  }
  if (api.interceptors?.isNotEmpty ?? false) {
    _dio.interceptors.addAll(api.interceptors!);
  }
  if (api.proxy != null) {
    _dio.httpClientAdapter = DefaultHttpClientAdapter()
      ..onHttpClientCreate = (client) {
        // "PROXY host:port"
        // "DIRECT"
        client.findProxy = (url) {
          return 'PROXY ${api?.proxy}';
        };
      };
  }
}