mangayomi/lib/utils/headers.dart
2024-12-20 10:15:15 +01:00

31 lines
900 B
Dart

import 'dart:convert';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:mangayomi/eval/javascript/http.dart';
import 'package:mangayomi/eval/lib.dart';
import 'package:mangayomi/services/http/m_client.dart';
import 'package:mangayomi/utils/utils.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'headers.g.dart';
@riverpod
Map<String, String> headers(Ref ref,
{required String source, required String lang}) {
final mSource = getSource(lang, source);
Map<String, String> headers = {};
if (mSource != null) {
final fromSource = mSource.headers;
if (fromSource != null && fromSource.isNotEmpty) {
headers.addAll((jsonDecode(fromSource) as Map).toMapStringString!);
}
headers.addAll(getExtensionService(mSource).getHeaders());
headers.addAll(MClient.getCookiesPref(mSource.baseUrl!));
}
return headers;
}