connect with backend
This commit is contained in:
33
lib/services/dio_client.dart
Normal file
33
lib/services/dio_client.dart
Normal file
@@ -0,0 +1,33 @@
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../config/api_config.dart';
|
||||
import '../providers/auth_provider.dart';
|
||||
import 'token_interceptor.dart';
|
||||
|
||||
class DioClient {
|
||||
static Dio? _dio; // Singleton instance
|
||||
|
||||
static Dio getInstance(BuildContext context) {
|
||||
if (_dio == null) {
|
||||
_dio = Dio(
|
||||
BaseOptions(
|
||||
baseUrl: ApiConfig.baseUrl,
|
||||
connectTimeout: const Duration(seconds: 15),
|
||||
receiveTimeout: const Duration(seconds: 15),
|
||||
headers: {
|
||||
"Accept": "application/json",
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
final authProvider = Provider.of<AuthProvider>(context, listen: false);
|
||||
|
||||
_dio!.interceptors.add(
|
||||
TokenInterceptor(authProvider, context, _dio!),
|
||||
);
|
||||
}
|
||||
|
||||
return _dio!;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user