Yimaru-Mobile/StudioProjects/yimaru_app/lib/services/dio_service.dart

42 lines
1.3 KiB
Dart

import 'package:dio/dio.dart';
import 'package:flutter/cupertino.dart';
import '../ui/common/app_constants.dart';
class DioService {
final Dio _dio = Dio();
DioService() {
_dio.options.baseUrl = baseUrl;
_dio.options.connectTimeout = const Duration(seconds: 30);
_dio.options.receiveTimeout = const Duration(seconds: 30);
_dio.interceptors.add(
InterceptorsWrapper(
onRequest: (options, handler) {
debugPrint('➡️➡️➡️ REQUEST ➡️➡️➡️');
debugPrint('➡️ Data: ${options.data}');
debugPrint('➡️ Headers: ${options.headers}');
debugPrint('➡️ ${options.method} ${options.uri}');
handler.next(options);
},
onResponse: (response, handler) {
debugPrint('✅✅✅ RESPONSE ✅✅✅');
debugPrint('✅ Data : ${response.data}');
debugPrint('✅ Status Code : ${response.statusCode}');
handler.next(response);
},
onError: (error, handler) {
debugPrint('❌❌❌ ERROR ❌❌❌');
debugPrint('${error.message}');
debugPrint('❌ URI: ${error.requestOptions.uri}');
debugPrint('❌ Headers sent: ${error.requestOptions.headers}');
handler.next(error);
},
),
);
}
Dio get dio => _dio;
}