mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
Fix gravatar proxy
This commit is contained in:
parent
b43b6d6f75
commit
c26a95ed60
@ -1,7 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<LangVersion>default</LangVersion>
|
||||
<LangVersion>preview</LangVersion>
|
||||
<Company>Kyoo</Company>
|
||||
<Authors>Kyoo</Authors>
|
||||
<Copyright>Copyright (c) Kyoo</Copyright>
|
||||
|
@ -30,7 +30,8 @@ namespace Kyoo.Abstractions.Models.Exceptions
|
||||
/// <summary>
|
||||
/// Create a default <see cref="ItemNotFoundException"/> with no message.
|
||||
/// </summary>
|
||||
public ItemNotFoundException() { }
|
||||
public ItemNotFoundException()
|
||||
: base("Item not found") { }
|
||||
|
||||
/// <summary>
|
||||
/// Create a new <see cref="ItemNotFoundException"/> with a message
|
||||
|
@ -219,17 +219,18 @@ namespace Kyoo.Core.Controllers
|
||||
try
|
||||
{
|
||||
await using FileStream img = File.Open(
|
||||
$"/metadata/user/${userId}.webp",
|
||||
$"/metadata/user/{userId}.webp",
|
||||
FileMode.Open
|
||||
);
|
||||
return img;
|
||||
}
|
||||
catch (FileNotFoundException) { }
|
||||
catch (DirectoryNotFoundException) { }
|
||||
|
||||
User user = await users.Value.Get(userId);
|
||||
if (user.Email == null) throw new ItemNotFoundException();
|
||||
using MD5 md5 = MD5.Create();
|
||||
string hash = Convert.ToHexString(md5.ComputeHash(Encoding.ASCII.GetBytes(user.Email)));
|
||||
string hash = Convert.ToHexString(md5.ComputeHash(Encoding.ASCII.GetBytes(user.Email))).ToLower();
|
||||
try
|
||||
{
|
||||
HttpClient client = clientFactory.CreateClient();
|
||||
@ -250,7 +251,8 @@ namespace Kyoo.Core.Controllers
|
||||
info.ColorType = SKColorType.Rgba8888;
|
||||
using SKBitmap original = SKBitmap.Decode(codec, info);
|
||||
using SKBitmap ret = original.Resize(new SKSizeI(250, 250), SKFilterQuality.High);
|
||||
await _WriteTo(ret, $"/metadata/user/${userId}.webp", 75);
|
||||
Directory.CreateDirectory("/metadata/user");
|
||||
await _WriteTo(ret, $"/metadata/user/{userId}.webp", 75);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -30,19 +30,12 @@ namespace Kyoo.Core
|
||||
/// <summary>
|
||||
/// A middleware to handle errors globally.
|
||||
/// </summary>
|
||||
public class ExceptionFilter : IExceptionFilter
|
||||
/// <remarks>
|
||||
/// Initializes a new instance of the <see cref="ExceptionFilter"/> class.
|
||||
/// </remarks>
|
||||
/// <param name="logger">The logger used to log errors.</param>
|
||||
public class ExceptionFilter(ILogger<ExceptionFilter> logger) : IExceptionFilter
|
||||
{
|
||||
private readonly ILogger _logger;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ExceptionFilter"/> class.
|
||||
/// </summary>
|
||||
/// <param name="logger">The logger used to log errors.</param>
|
||||
public ExceptionFilter(ILogger<ExceptionFilter> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public void OnException(ExceptionContext context)
|
||||
{
|
||||
@ -65,7 +58,7 @@ namespace Kyoo.Core
|
||||
context.Result = new UnauthorizedObjectResult(new RequestError(ex.Message));
|
||||
break;
|
||||
case Exception ex:
|
||||
_logger.LogError(ex, "Unhandled error");
|
||||
logger.LogError(ex, "Unhandled error");
|
||||
context.Result = new ServerErrorObjectResult(
|
||||
new RequestError("Internal Server Error")
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user