2020-11-19 18:22:30 +00:00
|
|
|
import 'dart:io';
|
|
|
|
|
|
|
|
import 'package:dio/dio.dart';
|
2021-04-04 17:19:46 +00:00
|
|
|
import 'package:flutter_user_agent/flutter_user_agent.dart';
|
2021-05-16 08:56:20 +00:00
|
|
|
import 'package:package_info_plus/package_info_plus.dart';
|
2020-11-19 18:22:30 +00:00
|
|
|
|
2021-09-28 07:11:44 +00:00
|
|
|
int kConnectTimeout = 15000;
|
2020-11-19 18:22:30 +00:00
|
|
|
class Network {
|
2021-04-04 17:19:46 +00:00
|
|
|
Dio _dio;
|
2020-11-19 18:22:30 +00:00
|
|
|
|
2021-04-04 17:19:46 +00:00
|
|
|
Future<void> init() async {
|
|
|
|
await FlutterUserAgent.init();
|
2021-05-22 17:57:20 +00:00
|
|
|
final packageInfo = await PackageInfo.fromPlatform();
|
2021-09-22 04:59:10 +00:00
|
|
|
_dio = Dio(BaseOptions(connectTimeout: kConnectTimeout, headers: {
|
2021-05-16 08:56:20 +00:00
|
|
|
HttpHeaders.userAgentHeader: FlutterUserAgent.userAgent,
|
2021-05-22 17:57:20 +00:00
|
|
|
'X-Client-Version': packageInfo.version,
|
2021-05-22 21:06:01 +00:00
|
|
|
'X-Client-Package': packageInfo.packageName,
|
2021-05-16 08:56:20 +00:00
|
|
|
}));
|
2020-11-19 18:22:30 +00:00
|
|
|
}
|
2021-04-04 17:19:46 +00:00
|
|
|
|
|
|
|
Network._privateConstructor();
|
2021-07-12 11:15:58 +00:00
|
|
|
|
2020-11-19 18:22:30 +00:00
|
|
|
static Network instance = Network._privateConstructor();
|
|
|
|
|
|
|
|
Dio getDio() => _dio;
|
|
|
|
}
|