mirror of
https://github.com/mxpv/podsync.git
synced 2024-05-11 05:55:04 +00:00
Remove unused code, set RequireHeaderSymmetry to false
This commit is contained in:
@@ -1,67 +0,0 @@
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Podsync.Helpers;
|
||||
using Podsync.Services;
|
||||
using Podsync.Services.Links;
|
||||
using Podsync.Services.Resolver;
|
||||
using Podsync.Services.Storage;
|
||||
|
||||
namespace Podsync.Controllers
|
||||
{
|
||||
[Route("download")]
|
||||
[ServiceFilter(typeof(HandleExceptionAttribute), IsReusable = true)]
|
||||
public class DownloadController : Controller
|
||||
{
|
||||
private readonly IResolverService _resolverService;
|
||||
private readonly ILinkService _linkService;
|
||||
private readonly IStorageService _storageService;
|
||||
private readonly ILogger<DownloadController> _logger;
|
||||
|
||||
public DownloadController(IResolverService resolverService, ILinkService linkService, IStorageService storageService, ILogger<DownloadController> logger)
|
||||
{
|
||||
_resolverService = resolverService;
|
||||
_linkService = linkService;
|
||||
_storageService = storageService;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
// Main video download endpoint, don't forget to reflect any changes in LinkService.Download
|
||||
[HttpGet]
|
||||
[Route("{feedId}/{videoId}.{ext:length(3,3)}")]
|
||||
public async Task<IActionResult> Download(string feedId, string videoId)
|
||||
{
|
||||
var metadata = await _storageService.Load(feedId);
|
||||
|
||||
var url = _linkService.Make(new LinkInfo
|
||||
{
|
||||
Provider = metadata.Provider,
|
||||
LinkType = LinkType.Video,
|
||||
Id = videoId
|
||||
});
|
||||
|
||||
Uri redirectUrl;
|
||||
|
||||
try
|
||||
{
|
||||
redirectUrl = await _resolverService.Resolve(url, metadata.Quality);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(Constants.Events.YtdlError, ex, $"Failed to resolve URL (feed: {feedId}, video id: {videoId}");
|
||||
|
||||
var response = "Could not resolve URL";
|
||||
if (ex is InvalidOperationException || ex is HttpRequestException)
|
||||
{
|
||||
response = ex.Message;
|
||||
}
|
||||
|
||||
return BadRequest(response);
|
||||
}
|
||||
|
||||
return Redirect(redirectUrl.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -76,7 +76,8 @@ namespace Podsync
|
||||
// See https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction
|
||||
app.UseForwardedHeaders(new ForwardedHeadersOptions
|
||||
{
|
||||
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
|
||||
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto,
|
||||
RequireHeaderSymmetry = false,
|
||||
});
|
||||
|
||||
if (env.IsDevelopment())
|
||||
|
||||
Reference in New Issue
Block a user