globalApisGetResponseDio method
Future<Response?>
globalApisGetResponseDio(
{ - required String apiUrl,
- required Map<String, dynamic> request,
- bool showSuccessMessage = false,
- bool showErrorMessage = true,
- bool showPrints = false,
- bool load = false,
- bool jsonConversion = true,
- ApiMethod apiMethod = ApiMethod.post,
- CancelToken? cancelToken,
})
Implementation
Future<Response<dynamic>?> globalApisGetResponseDio({
required String apiUrl,
required Map<String, dynamic> request,
bool showSuccessMessage = false,
bool showErrorMessage = true,
bool showPrints = false,
bool load = false,
bool jsonConversion = true,
ApiMethod apiMethod = ApiMethod.post,
Map<String, String>? customHeaders,
CancelToken? cancelToken,
}) async {
try {
late Response response;
switch (apiMethod) {
case ApiMethod.get:
response = await _dio.get(
apiUrl,
queryParameters: request,
options: Options(headers: customHeaders),
cancelToken: cancelToken,
);
break;
case ApiMethod.post:
response = await _dio.post(
apiUrl,
data: jsonConversion ? request : FormData.fromMap(request),
options: Options(headers: customHeaders),
cancelToken: cancelToken,
);
break;
case ApiMethod.put:
response = await _dio.put(
apiUrl,
data: jsonConversion ? request : FormData.fromMap(request),
options: Options(headers: customHeaders),
cancelToken: cancelToken,
);
break;
case ApiMethod.patch:
response = await _dio.patch(
apiUrl,
data: jsonConversion ? request : FormData.fromMap(request),
options: Options(headers: customHeaders),
cancelToken: cancelToken,
);
break;
case ApiMethod.delete:
response = await _dio.delete(
apiUrl,
data: request,
options: Options(headers: customHeaders),
cancelToken: cancelToken,
);
break;
}
if (showPrints == true) {
print("my response data is--------------->${response.data}");
}
return response;
} on DioException catch (e) {
debugPrint('DIO ERROR => ${e.message}');
if (e.type == DioExceptionType.connectionError) {
debugPrint("Internet Connection not available");
}
return e?.response;
}
}