From eeffe41a5b764124537d2c9b2d8b7094d2ee1384 Mon Sep 17 00:00:00 2001 From: kodjomoustapha <107993382+kodjodevf@users.noreply.github.com> Date: Wed, 21 Aug 2024 18:16:00 +0100 Subject: [PATCH] Update AnimePahe --- dart/anime/src/en/animepahe/animepahe.dart | 15 ++++++++++----- dart/anime/src/en/animepahe/source.dart | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/dart/anime/src/en/animepahe/animepahe.dart b/dart/anime/src/en/animepahe/animepahe.dart index be0e5edb..189d6ada 100644 --- a/dart/anime/src/en/animepahe/animepahe.dart +++ b/dart/anime/src/en/animepahe/animepahe.dart @@ -131,6 +131,9 @@ class AnimePahe extends MProvider { @override Future> getVideoList(String url) async { + //by default we use rhttp package but it does not support `followRedirects` + //so setting `useDartHttpClient` to true allows us to use a Dart http package that supports `followRedirects` + final client = Client(source, json.encode({"useDartHttpClient": true})); final res = (await client.get(Uri.parse("$baseUrl$url"))); final document = parseHtml(res.body); final downloadLinks = document.select("div#pickDownload > a"); @@ -142,8 +145,8 @@ class AnimePahe extends MProvider { final quality = btn.text; final paheWinLink = downloadLinks[i].attr("href"); if (getPreferenceValue(source.id, "preffered_link_type")) { - final noRedirectClient = - Client(source, json.encode({"followRedirects": false})); + final noRedirectClient = Client(source, + json.encode({"followRedirects": false, "useDartHttpClient": true})); final kwikHeaders = (await noRedirectClient.get(Uri.parse("${paheWinLink}/i"))).headers; final kwikUrl = @@ -165,9 +168,11 @@ class AnimePahe extends MProvider { getMapValue(json.encode(res.request.headers), "cookie"); cookie += "; ${getMapValue(json.encode(reskwik.headers), "set-cookie").replaceAll("path=/;", "")}"; - final resNo = - await Client(source, json.encode({"followRedirects": false})) - .post(Uri.parse(url), headers: { + final resNo = await Client( + source, + json.encode( + {"followRedirects": false, "useDartHttpClient": true})) + .post(Uri.parse(url), headers: { "referer": reskwik.request.url.toString(), "cookie": cookie, "user-agent": diff --git a/dart/anime/src/en/animepahe/source.dart b/dart/anime/src/en/animepahe/source.dart index 6c6669ad..9a52802d 100644 --- a/dart/anime/src/en/animepahe/source.dart +++ b/dart/anime/src/en/animepahe/source.dart @@ -1,7 +1,7 @@ import '../../../../../model/source.dart'; Source get animepaheSource => _animepaheSource; -const _animepaheVersion = "0.0.35"; +const _animepaheVersion = "0.0.4"; const _animepaheSourceCodeUrl = "https://raw.githubusercontent.com/kodjodevf/mangayomi-extensions/$branchName/dart/anime/src/en/animepahe/animepahe.dart"; Source _animepaheSource = Source(