You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.0 KiB

2 years ago
  1. import 'package:itasmob/app/constants.dart';
  2. import 'package:dio/dio.dart';
  3. import 'package:flutter/foundation.dart';
  4. import 'package:pretty_dio_logger/pretty_dio_logger.dart';
  5. const String APPLICATION_JSON = "application/json";
  6. const String CONTENT_TYPE = "content-type";
  7. const String ACCEPT = "accept";
  8. const String AUTHORIZATION = "authorization";
  9. const String DEFAULT_LANGUAGE = "language";
  10. class DioFactory {
  11. Future<Dio> getDio() async {
  12. Dio dio = Dio();
  13. int _timeOut = 60 * 1000; // 1 min
  14. Map<String, String> headers = {
  15. CONTENT_TYPE: APPLICATION_JSON,
  16. ACCEPT: APPLICATION_JSON,
  17. };
  18. dio.options = BaseOptions(
  19. baseUrl: Constants.baseUrl,
  20. connectTimeout: _timeOut,
  21. receiveTimeout: _timeOut,
  22. headers: headers);
  23. // if (kReleaseMode) {
  24. // print("release mode no logs");
  25. // } else {
  26. // dio.interceptors.add(PrettyDioLogger(
  27. // requestHeader: true, requestBody: true, responseHeader: true));
  28. // }
  29. return dio;
  30. }
  31. }