lampac-talks f843f04fd4 chore: initial commit 154.3
Signed-off-by: lampac-talks <lampac-talks@users.noreply.github.com>
2026-01-30 16:23:09 +03:00

41 lines
1.3 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Shared.Models.Online.AniLibria;
namespace Online.Controllers
{
public class AniLibriaOnline : BaseOnlineController
{
public AniLibriaOnline() : base(AppInit.conf.AnilibriaOnline) { }
[HttpGet]
[Route("lite/anilibria")]
async public Task<ActionResult> Index(string title, string code, int year, bool rjson = false, bool similar = false)
{
if (await IsRequestBlocked(rch: true))
return badInitMsg;
if (string.IsNullOrEmpty(title))
return OnError();
var oninvk = new AniLibriaInvoke
(
host,
init.corsHost(),
ongettourl => httpHydra.Get<List<RootObject>>(ongettourl, IgnoreDeserializeObject: true),
streamfile => HostStreamProxy(streamfile),
requesterror: () => proxyManager?.Refresh()
);
rhubFallback:
var cache = await InvokeCacheResult($"anilibriaonline:{title}", 40,
() => oninvk.Embed(title)
);
if (IsRhubFallback(cache))
goto rhubFallback;
return await ContentTpl(cache, () => oninvk.Tpl(cache.Value, title, code, year, vast: init.vast, rjson: rjson, similar: similar));
}
}
}