Line data Source code
1 : import 'package:tech_proof/core/network/failure_interceptor.dart'; 2 : import 'package:dio/dio.dart'; 3 : import 'package:flutter_dotenv/flutter_dotenv.dart'; 4 : 5 : class DioClient { 6 : late final Dio _dio; 7 : 8 2 : Dio get dio => _dio; 9 : 10 1 : DioClient({String? apiKey}) { 11 2 : _dio = Dio( 12 1 : BaseOptions( 13 : baseUrl: 'https://api.themoviedb.org/3/', 14 1 : connectTimeout: Duration(milliseconds: 5000), 15 1 : receiveTimeout: Duration(milliseconds: 5000), 16 1 : queryParameters: {'api_key': apiKey ?? dotenv.env['TMB_API']}, 17 : ), 18 : ); 19 : 20 4 : _dio.interceptors.add(FailureInterceptor()); 21 : 22 3 : _dio.interceptors.add( 23 1 : LogInterceptor(requestBody: true, responseBody: true, error: true), 24 : ); 25 : } 26 : }