From 969c365a64d91c526ad08aed45deda8811f4d87c Mon Sep 17 00:00:00 2001 From: Alexander Chapliuk Date: Tue, 7 Nov 2017 02:16:05 +0200 Subject: [PATCH] LostFilm.tv: Perform logout before logging in to invalidate session and fix "error":1 response (#2083) --- src/Jackett.Common/Indexers/LostFilm.cs | 28 +++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/Jackett.Common/Indexers/LostFilm.cs b/src/Jackett.Common/Indexers/LostFilm.cs index 121321e0e..0b3cf226f 100644 --- a/src/Jackett.Common/Indexers/LostFilm.cs +++ b/src/Jackett.Common/Indexers/LostFilm.cs @@ -105,6 +105,9 @@ namespace Jackett.Indexers logger.Debug("Applying configuration"); LoadValuesFromJson(configJson); + // Performing Logout is required to invalidate previous session otherwise the `{"error":1,"result":"ok"}` will be returned. + await Logout(); + var data = new Dictionary { { "act", "users" }, @@ -124,6 +127,30 @@ namespace Jackett.Indexers return IndexerConfigurationStatus.RequiresTesting; } + private async Task Logout() + { + logger.Info("Performing logout"); + + var data = new Dictionary + { + { "act", "users" }, + { "type", "logout" } + }; + + var response = await PostDataWithCookies(url: ApiUrl, data: data); + logger.Debug("Logout result: " + response.Content); + + var isOK = response.Status == System.Net.HttpStatusCode.OK; + if (!isOK) + { + logger.Error("Logout failed with response: " + response.Content); + } + + return isOK; + } + + #region Query + protected override async Task> PerformQuery(TorznabQuery query) { logger.Debug("PerformQuery: " + query.GetQueryString()); @@ -278,6 +305,7 @@ namespace Jackett.Indexers return releases; } + #endregion #region Page parsing private async Task> FetchNewReleases()