import 'dart:io'; import 'package:cinema/feature/version/version.dart'; import 'package:dio/dio.dart'; import 'package:injectable/injectable.dart'; const dioAPI = 'api'; const dioIMAGES = 'images'; @module abstract class DioModule { @Named(dioAPI) @lazySingleton Dio get apiDio => Dio( // Der Getter selbst wird annotiert und gibt die Instanz zurück BaseOptions( baseUrl: 'https://api.themoviedb.org/3', connectTimeout: const Duration(seconds: 10), receiveTimeout: const Duration(seconds: 10), headers: { 'Authorization': 'Bearer ${Platform.environment['TMDB_API_KEY']}', 'Content-Type': 'application/json', 'Accept': 'application/json', 'User-Agent': 'Cinema Service (v${Version().appVersion})' }, ), ); @Named(dioIMAGES) @lazySingleton Dio get imagesDio => Dio( // Der Getter selbst wird annotiert und gibt die Instanz zurück BaseOptions( baseUrl: 'https://image.tmdb.org/t/p/original', connectTimeout: const Duration(seconds: 10), receiveTimeout: const Duration(seconds: 10), ), ); }