Files
kent_logistics_app/lib/services/dio_client.dart
2025-12-16 10:24:16 +05:30

36 lines
886 B
Dart

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;
static const String baseUrl = "http://10.11.236.74:8000";
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!;
}
}