ente/lib/core/network.dart

34 lines
880 B
Dart
Raw Normal View History

2020-11-19 18:22:30 +00:00
import 'dart:convert';
import 'dart:developer';
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:pretty_dio_logger/pretty_dio_logger.dart';
import 'package:super_logging/super_logging.dart';
class Network {
final _dio = Dio();
Network._privateConstructor() {
_dio.interceptors.add(PrettyDioLogger(
requestHeader: false,
responseHeader: false,
2020-11-19 18:28:14 +00:00
requestBody: true,
2020-11-19 18:22:30 +00:00
responseBody: true,
2021-02-18 07:17:22 +00:00
logPrint: (object) async {
2020-11-19 18:22:30 +00:00
log(object);
if (Platform.isAndroid) {
2021-02-18 07:17:22 +00:00
await SuperLogging.logFile.writeAsString(
object.toString() + "\n",
encoding: Utf8Codec(allowMalformed: true),
mode: FileMode.append,
flush: true,
);
}
2020-11-19 18:22:30 +00:00
}));
}
static Network instance = Network._privateConstructor();
Dio getDio() => _dio;
}