mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-04-24 05:47:22 -04:00
Sync static resource controller with upstream
(cherry picked from commit ad1f185330a30a2a9d27c9d3f18d384e66727c2a)
This commit is contained in:
parent
3ed6ef0336
commit
840f2ae3e6
3 changed files with 15 additions and 12 deletions
|
@ -1,3 +1,4 @@
|
|||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Prowlarr.Http.Frontend.Mappers
|
||||
|
@ -6,6 +7,6 @@ namespace Prowlarr.Http.Frontend.Mappers
|
|||
{
|
||||
string Map(string resourceUrl);
|
||||
bool CanHandle(string resourceUrl);
|
||||
FileStreamResult GetResponse(string resourceUrl);
|
||||
Task<FileStreamResult> GetResponse(string resourceUrl);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 Prowlarr.Http.Frontend.Mappers
|
|||
|
||||
public abstract bool CanHandle(string resourceUrl);
|
||||
|
||||
public FileStreamResult GetResponse(string resourceUrl)
|
||||
public Task<FileStreamResult> GetResponse(string resourceUrl)
|
||||
{
|
||||
var filePath = Map(resourceUrl);
|
||||
|
||||
|
@ -41,10 +42,10 @@ namespace Prowlarr.Http.Frontend.Mappers
|
|||
contentType = "application/octet-stream";
|
||||
}
|
||||
|
||||
return new FileStreamResult(GetContentStream(filePath), new MediaTypeHeaderValue(contentType)
|
||||
return Task.FromResult(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 Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Cors;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
@ -25,27 +26,27 @@ namespace Prowlarr.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/).*)}")]
|
||||
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 Prowlarr.Http.Frontend
|
|||
|
||||
if (mapper != null)
|
||||
{
|
||||
var result = mapper.GetResponse(path);
|
||||
var result = await mapper.GetResponse(path);
|
||||
|
||||
if (result != null)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue