25 lines
720 B
Dart
25 lines
720 B
Dart
import 'package:dio/dio.dart';
|
|
import 'package:ontime_merchant_flutter/core/app_config.dart';
|
|
|
|
class ApiClient {
|
|
ApiClient({
|
|
required String? basicAuthUser,
|
|
required String? basicAuthPassword,
|
|
}) : _dio = Dio(
|
|
BaseOptions(
|
|
baseUrl: AppConfig.apiBase,
|
|
connectTimeout: const Duration(seconds: 15),
|
|
receiveTimeout: const Duration(seconds: 20),
|
|
),
|
|
) {
|
|
if (basicAuthUser != null && basicAuthPassword != null) {
|
|
final auth = '$basicAuthUser:$basicAuthPassword';
|
|
final encoded = String.fromCharCodes(auth.codeUnits);
|
|
_dio.options.headers['Authorization'] = 'Basic $encoded';
|
|
}
|
|
}
|
|
|
|
final Dio _dio;
|
|
Dio get raw => _dio;
|
|
}
|