summary refs log tree commit diff
path: root/extra/admin-api/Spacebar.Cdn/Controllers/GetImageController.cs
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-02-28 19:49:44 +0100
committerRory& <root@rory.gay>2026-02-28 19:49:44 +0100
commit829ada260753e0e45e0ac1db20c8f19afd2420cf (patch)
treebe4a34e9c0c45f9c65f93021427bf4c54f896b53 /extra/admin-api/Spacebar.Cdn/Controllers/GetImageController.cs
parentonVoiceStateUpdate: change to VoiceState.merge() for copying properties (diff)
downloadserver-ts-829ada260753e0e45e0ac1db20c8f19afd2420cf.tar.xz
nix/cdn work
Diffstat (limited to 'extra/admin-api/Spacebar.Cdn/Controllers/GetImageController.cs')
-rw-r--r--extra/admin-api/Spacebar.Cdn/Controllers/GetImageController.cs18
1 files changed, 5 insertions, 13 deletions
diff --git a/extra/admin-api/Spacebar.Cdn/Controllers/GetImageController.cs b/extra/admin-api/Spacebar.Cdn/Controllers/GetImageController.cs

index 9a7ddf23..8e64100a 100644 --- a/extra/admin-api/Spacebar.Cdn/Controllers/GetImageController.cs +++ b/extra/admin-api/Spacebar.Cdn/Controllers/GetImageController.cs
@@ -7,25 +7,17 @@ using Spacebar.Interop.Cdn.Abstractions; namespace Spacebar.Cdn.Controllers; [ApiController] -public class GetImageController(LruFileCache lfc, IFileSource fs, DiscordImageResizeService dirs) : ControllerBase { - [HttpGet("/avatars/{_:required}")] +public class GetImageController(LruFileCache lfc, IFileSource fs, DiscordImageResizeService dirs) : ImageController { + // [HttpGet("/avatars/{_:required}")] [HttpGet("/emojis/{emoji_id:required}.{ext:required}")] [HttpGet("/stickers/{sticker_id:required}.{ext:required}")] - [HttpGet("/avatars/{user_id:required}/{avatar_hash:required}.{ext:required}")] + // [HttpGet("/avatars/{user_id:required}/{avatar_hash:required}.{ext:required}")] [HttpGet("/banners/{user_id:required}/{user_banner:required}.{ext:required}")] public async Task<IActionResult> GetImage(string? ext) { var originalKey = fs.BaseUrl + Request.Path; var cacheKey = Request.Path + Request.QueryString; - - DiscordImageResizeParams resizeParams = new() { - Size = Request.Query.ContainsKey("size") && uint.TryParse(Request.Query["size"], out uint size) ? size : null, - Quality = Request.Query.ContainsKey("quality") && Enum.TryParse<DiscordImageResizeQuality>(Request.Query["quality"], true, out var quality) ? quality : DiscordImageResizeQuality.High, - KeepAspectRatio = !Request.Query.ContainsKey("keepAspectRatio") || !bool.TryParse(Request.Query["keepAspectRatio"], out bool kar) || kar, - Passthrough = Request.Query.ContainsKey("passthrough") && bool.TryParse(Request.Query["passthrough"], out bool pt) && pt, - Animated = Request.Query.ContainsKey("animated") && bool.TryParse(Request.Query["animated"], out bool an) && an, - SpacebarAllowUpscale = Request.Query.ContainsKey("allowUpscale") && bool.TryParse(Request.Query["allowUpscale"], out bool au) && au, - SpacebarOptimiseGif = Request.Query.ContainsKey("optimiseGif") && bool.TryParse(Request.Query["optimiseGif"], out bool og) && og - }; + + DiscordImageResizeParams resizeParams = GetResizeParams(); var entry = await lfc.GetOrAdd(cacheKey, async () => { var original = await fs.GetFile(Request.Path);