ente/lib/core/network.dart

30 lines
784 B
Dart
Raw Normal View History

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
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();
final packageInfo = await PackageInfo.fromPlatform();
2021-05-16 08:56:20 +00:00
_dio = Dio(BaseOptions(headers: {
HttpHeaders.userAgentHeader: FlutterUserAgent.userAgent,
'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();
2020-11-19 18:22:30 +00:00
static Network instance = Network._privateConstructor();
Dio getDio() => _dio;
2021-05-16 08:56:20 +00:00
Future<String> _getAppVersion() async {
final pkgInfo = await PackageInfo.fromPlatform();
return pkgInfo.version;
}
2020-11-19 18:22:30 +00:00
}