| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import 'package:dio/dio.dart';
- import 'package:injectable/injectable.dart';
- import 'package:keyboard/data/api/atmob_api.dart';
- import 'package:pretty_dio_logger/pretty_dio_logger.dart';
- import '../data/api/atmob_stream_api.dart';
- import '../data/consts/constants.dart';
- import '../utils/stream_dio_log_interceptor.dart';
- import '../data/consts/build_config.dart';
- @module
- abstract class NetworkModule {
- @singleton
- @Named("defaultDio")
- Dio createDefaultDio() {
- Dio dio = Dio(BaseOptions());
- dio.interceptors.add(
- PrettyDioLogger(
- requestHeader: true,
- requestBody: true,
- responseBody: true,
- responseHeader: false,
- error: true,
- compact: true,
- enabled: BuildConfig.isDebug,
- ),
- );
- return dio;
- }
- @singleton
- @Named("streamDio")
- Dio createStreamDio() {
- Dio streamDio = Dio(
- BaseOptions(
- responseType: ResponseType.stream,
- headers: {
- 'Content-Type': 'application/json',
- 'Accept': 'text/event-stream, application/json',
- },
- ),
- );
- streamDio.interceptors.add(StreamDioLogInterceptor());
- return streamDio;
- }
- @singleton
- AtmobApi provideAtmobApi(@Named("defaultDio")Dio dio) {
- return AtmobApi(dio, baseUrl: Constants.baseUrl);
- }
- @singleton
- AtmobStreamApi provideAtmobStreamApi(@Named("streamDio")Dio streamDio) {
- return AtmobStreamApi(streamDio, baseUrl: Constants.baseUrl);
- }
- }
|