mangayomi/lib/utils/headers.dart
2023-06-08 16:36:13 +01:00

42 lines
1.6 KiB
Dart

import 'package:mangayomi/main.dart';
import 'package:mangayomi/models/settings.dart';
import 'package:mangayomi/models/source.dart';
import 'package:mangayomi/services/http_service/cloudflare/providers/cookie_providers.dart';
import 'package:mangayomi/sources/utils/utils.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'headers.g.dart';
@riverpod
Map<String, String> headers(HeadersRef ref, {String source = ""}) {
source = source.toLowerCase();
final cookie = ref.watch(cookieStateProvider(source));
final userAgent = isar.settings.getSync(227)!.userAgent!;
final baseUrl = getMangaBaseUrl(source);
return getMangaTypeSource(source) == TypeSource.madara
? {"Referer": "$baseUrl/"}
: getMangaTypeSource(source) == TypeSource.mangadex ||
getMangaTypeSource(source) == TypeSource.comick
? {
"Referer": "$baseUrl/",
'User-Agent': "Tachiyomi $userAgent",
}
: switch (source) {
"mangakawaii" => {
'Referer': '$baseUrl/',
'User-Agent': userAgent,
'Accept-Language': 'fr'
},
"mangahere" => {"Referer": "$baseUrl/", "Cookie": "isAdult=1"},
"japscan" => {
'User-Agent': userAgent,
'Referer': "$baseUrl/",
"Cookie": cookie
},
"sushiscan" => {
'User-Agent': userAgent,
'Referer': "$baseUrl/",
"Cookie": cookie
},
_ => {},
};
}