Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/Lidarr/commit/0037a56c2b74644f24449d2300a826a0a1e15b23
You should set ROOT_URL correctly, otherwise the web may not work correctly.
5 changed files with
24 additions and
18 deletions
@ -1,3 +1,4 @@
using System.Threading.Tasks ;
using Microsoft.AspNetCore.Mvc ;
namespace Lidarr.Http.Frontend.Mappers
@ -6,6 +7,6 @@ namespace Lidarr.Http.Frontend.Mappers
{
string Map ( string resourceUrl ) ;
bool CanHandle ( string resourceUrl ) ;
IActionResult GetResponse ( string resourceUrl ) ;
Task< IActionResult> GetResponse ( string resourceUrl ) ;
}
}
@ -1,6 +1,7 @@
using System ;
using System.Net ;
using System.Text.RegularExpressions ;
using System.Threading.Tasks ;
using Microsoft.AspNetCore.Mvc ;
using Microsoft.AspNetCore.StaticFiles ;
using NzbDrone.Core.MediaCover ;
@ -9,7 +10,7 @@ namespace Lidarr.Http.Frontend.Mappers
{
public class MediaCoverProxyMapper : IMapHttpRequestsToDisk
{
private readonly Regex _regex = new Regex ( @"/MediaCoverProxy/(?<hash>\w+)/(?<filename>(.+)\.(jpg|png|gif))" ) ;
private readonly Regex _regex = new ( @"/MediaCoverProxy/(?<hash>\w+)/(?<filename>(.+)\.(jpg|png|gif))" ) ;
private readonly IMediaCoverProxy _mediaCoverProxy ;
private readonly IContentTypeProvider _mimeTypeProvider ;
@ -30,7 +31,7 @@ namespace Lidarr.Http.Frontend.Mappers
return resourceUrl . StartsWith ( "/MediaCoverProxy/" , StringComparison . InvariantCultureIgnoreCase ) ;
}
public IActionResult GetResponse ( string resourceUrl )
public async Task < IActionResult > GetResponse ( string resourceUrl )
{
var match = _regex . Match ( resourceUrl ) ;
@ -42,7 +43,7 @@ namespace Lidarr.Http.Frontend.Mappers
var hash = match . Groups [ "hash" ] . Value ;
var filename = match . Groups [ "filename" ] . Value ;
var imageData = _mediaCoverProxy . GetImage ( hash ) ;
var imageData = await _mediaCoverProxy . GetImage ( hash ) ;
if ( ! _mimeTypeProvider . TryGetContentType ( filename , out var contentType ) )
{
@ -1,6 +1,7 @@
using System ;
using System.IO ;
using System.Text ;
using System.Threading.Tasks ;
using Microsoft.AspNetCore.Mvc ;
using Microsoft.AspNetCore.StaticFiles ;
using Microsoft.Net.Http.Headers ;
@ -30,7 +31,7 @@ namespace Lidarr.Http.Frontend.Mappers
public abstract bool CanHandle ( string resourceUrl ) ;
public IActionResult GetResponse ( string resourceUrl )
public Task< IActionResult> GetResponse ( string resourceUrl )
{
var filePath = Map ( resourceUrl ) ;
@ -41,10 +42,10 @@ namespace Lidarr.Http.Frontend.Mappers
contentType = "application/octet-stream" ;
}
return new FileStreamResult ( GetContentStream ( filePath ) , new MediaTypeHeaderValue ( contentType )
return Task . FromResult < IActionResult > ( new FileStreamResult ( GetContentStream ( filePath ) , new MediaTypeHeaderValue ( contentType )
{
Encoding = contentType = = "text/plain" ? Encoding . UTF8 : null
} ) ;
} ) ) ;
}
_logger . Warn ( "File {0} not found" , filePath ) ;
@ -1,5 +1,6 @@
using System.Collections.Generic ;
using System.Linq ;
using System.Threading.Tasks ;
using Lidarr.Http.Extensions ;
using Lidarr.Http.Frontend.Mappers ;
using Microsoft.AspNetCore.Authorization ;
@ -25,27 +26,27 @@ namespace Lidarr.Http.Frontend
[AllowAnonymous]
[HttpGet("login")]
public IActionResult LoginPage ( )
public async Task < IActionResult > LoginPage ( )
{
return MapResource ( "login" ) ;
return await MapResource ( "login" ) ;
}
[EnableCors("AllowGet")]
[AllowAnonymous]
[HttpGet("/content/{**path:regex(^(?!api/).*)}")]
public IActionResult IndexContent ( [ FromRoute ] string path )
public async Task < IActionResult > IndexContent ( [ FromRoute ] string path )
{
return MapResource ( "Content/" + path ) ;
return await MapResource ( "Content/" + path ) ;
}
[HttpGet("")]
[HttpGet("/{**path:regex(^(?!(api|feed)/).*)}")]
public IActionResult Index ( [ FromRoute ] string path )
public async Task < IActionResult > Index ( [ FromRoute ] string path )
{
return MapResource ( path ) ;
return await MapResource ( path ) ;
}
private IActionResult MapResource ( string path )
private async Task < IActionResult > MapResource ( string path )
{
path = "/" + ( path ? ? "" ) ;
@ -53,7 +54,7 @@ namespace Lidarr.Http.Frontend
if ( mapper ! = null )
{
var result = mapper . GetResponse ( path ) ;
var result = await mapper . GetResponse ( path ) ;
if ( result ! = null )
{
@ -1,6 +1,7 @@
using System ;
using System.Collections.Generic ;
using System.IO ;
using System.Threading.Tasks ;
using NzbDrone.Common.Cache ;
using NzbDrone.Common.Http ;
using NzbDrone.Core.Configuration ;
@ -12,7 +13,7 @@ namespace NzbDrone.Core.MediaCover
string RegisterUrl ( string url ) ;
string GetUrl ( string hash ) ;
byte [ ] GetImage ( string hash ) ;
Task < byte [ ] > GetImage ( string hash ) ;
}
public class MediaCoverProxy : IMediaCoverProxy
@ -52,13 +53,14 @@ namespace NzbDrone.Core.MediaCover
return result ;
}
public byte [ ] GetImage ( string hash )
public async Task < byte [ ] > GetImage ( string hash )
{
var url = GetUrl ( hash ) ;
var request = new HttpRequest ( url ) ;
var response = await _httpClient . GetAsync ( request ) ;
return _httpClient. Get ( request ) . ResponseData ;
return response . ResponseData ;
}
}
}