import 'package:dio/dio.dart'; import 'package:flutter/cupertino.dart'; import 'package:dio/adapter.dart'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; class CustomDio{ Dio? _dio; CustomDio(){ BaseOptions options = BaseOptions(connectTimeout: 100000,receiveTimeout: 100000); // options.baseUrl = hostApi; _dio = Dio(options); // _dio.interceptors.add(LogInterceptor()); } String? token; String? stripeDevKey; getToken()async{ SharedPreferences prefs = await SharedPreferences.getInstance(); token= prefs.getString('token')!; stripeDevKey= prefs.getString('stripedevkey')!; print("devkey====$stripeDevKey"); } Future get({@required String? url}) async { await getToken(); (_dio?.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (HttpClient client) { client.badCertificateCallback = (X509Certificate cert, String host, int port) => true; return client; }; var data = {'token':'$token'}; print("wrl$url"); Response? response; try{ response = await _dio?.get(url!,options: Options( responseType: ResponseType.plain, headers: data,contentType: "application/json" )); } catch(e){ print(e.toString()); } return response; } Future post({@required String? url, @required dynamic params,Map? header }) async { // await getToken(); (_dio?.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (HttpClient client) { client.badCertificateCallback = (X509Certificate cert, String host, int port) => true; return client; }; Response? response; try{ response = await _dio!.post(url!,data: params!,options :Options(responseType: ResponseType.json,contentType: "application/json",headers: header)); } on DioError catch (e) { print('dioerror fetch'); if (e.type == DioErrorType.response) { print('catched'); } if (e.type == DioErrorType.connectTimeout) { print('check your connection'); } if (e.type == DioErrorType.receiveTimeout) { print('unable to connect to the server'); } if (e.type == DioErrorType.other) { print('Something went wrong'); } print('try errors'); print('errorsssssssssssssssss.....'); print(e.response!); print(e.response!.data); print(e.message); print(e); } return response; } //verify Future verifyPost({@required String? url, @required Map? params, Map? header }) async { (_dio?.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (HttpClient client) { client.badCertificateCallback = (X509Certificate cert, String host, int port) => true; return client; }; print("data${params.toString()}"); Response? response; try{ response = await _dio!.post(url!,data: params,options :Options(responseType: ResponseType.json, headers:header, contentType: "application/json")); } catch(e){ print(e.toString()); } print("ressscatcherror${response.toString()}"); return response; } //app config Future newGet({@required String? url}) async { (_dio?.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (HttpClient client) { client.badCertificateCallback = (X509Certificate cert, String host, int port) => true; return client; }; Response? response; try{ response = await _dio?.get(url!,options :Options(responseType: ResponseType.json)); } catch(e){ print(e.toString()); } return response!; } Future put({@required String? url,@required Map? params,@required Map? header}) async { await getToken(); (_dio?.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (HttpClient client) { client.badCertificateCallback = (X509Certificate cert, String host, int port) => true; return client; }; var data = {'x-access-token': '$token'}; Response? response; try{ response = await _dio!.put(url!,data:params,options: Options(responseType: ResponseType.json,headers: data,contentType: "application/json")); } catch(e){ print(e.toString()); } return response!; } }