From 8e243e0d7ff157bd38020479ceb9df1c65cbcc6c Mon Sep 17 00:00:00 2001 From: Kieran Date: Fri, 28 Jan 2022 10:32:00 +0000 Subject: [PATCH] Send logs to Seq --- VoidCat/Controllers/UploadController.cs | 19 +++++++++++++++++++ VoidCat/Model/VoidSettings.cs | 2 ++ VoidCat/Program.cs | 16 +++++++++++----- VoidCat/VoidCat.csproj | 1 + VoidCat/spa/src/FilePreview.js | 3 ++- 5 files changed, 35 insertions(+), 6 deletions(-) diff --git a/VoidCat/Controllers/UploadController.cs b/VoidCat/Controllers/UploadController.cs index 30d3180..b90d147 100644 --- a/VoidCat/Controllers/UploadController.cs +++ b/VoidCat/Controllers/UploadController.cs @@ -1,4 +1,6 @@ using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Filters; +using Microsoft.AspNetCore.Mvc.ModelBinding; using Newtonsoft.Json; using VoidCat.Model; using VoidCat.Services; @@ -17,6 +19,7 @@ namespace VoidCat.Controllers [HttpPost] [DisableRequestSizeLimit] + [DisableFormValueModelBinding] public Task UploadFile() { return Request.HasFormContentType ? @@ -48,4 +51,20 @@ namespace VoidCat.Controllers public record UpdateFileInfoRequest([JsonConverter(typeof(Base58GuidConverter))] Guid EditSecret, VoidFileMeta Metadata); } + + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] + public class DisableFormValueModelBindingAttribute : Attribute, IResourceFilter + { + public void OnResourceExecuting(ResourceExecutingContext context) + { + var factories = context.ValueProviderFactories; + factories.RemoveType(); + factories.RemoveType(); + factories.RemoveType(); + } + + public void OnResourceExecuted(ResourceExecutedContext context) + { + } + } } diff --git a/VoidCat/Model/VoidSettings.cs b/VoidCat/Model/VoidSettings.cs index e6708a3..2537e90 100644 --- a/VoidCat/Model/VoidSettings.cs +++ b/VoidCat/Model/VoidSettings.cs @@ -3,5 +3,7 @@ public class VoidSettings { public string DataDirectory { get; init; } = "./data"; + public Uri? SeqHost { get; init; } + public string? SeqApiKey { get; init; } } } diff --git a/VoidCat/Program.cs b/VoidCat/Program.cs index a9c89a2..76dd628 100644 --- a/VoidCat/Program.cs +++ b/VoidCat/Program.cs @@ -2,8 +2,18 @@ using VoidCat.Model; using VoidCat.Services; var builder = WebApplication.CreateBuilder(args); - var services = builder.Services; + +var configuration = builder.Configuration; +var voidSettings = configuration.GetSection("Settings").Get(); +services.AddSingleton(voidSettings); + +// config logging +if (voidSettings?.SeqHost != default) +{ + builder.Logging.AddSeq(voidSettings.SeqHost.ToString(), voidSettings.SeqApiKey); +} + services.AddRouting(); services.AddControllers().AddNewtonsoftJson(); @@ -12,10 +22,6 @@ services.AddMemoryCache(); services.AddScoped(); services.AddScoped(); -var configuration = builder.Configuration; -var voidSettings = configuration.GetSection("Settings").Get(); -services.AddSingleton(voidSettings); - var app = builder.Build(); app.UseStaticFiles(); diff --git a/VoidCat/VoidCat.csproj b/VoidCat/VoidCat.csproj index 962d4a4..f4a0930 100644 --- a/VoidCat/VoidCat.csproj +++ b/VoidCat/VoidCat.csproj @@ -14,6 +14,7 @@ + diff --git a/VoidCat/spa/src/FilePreview.js b/VoidCat/spa/src/FilePreview.js index b3b79bf..9d8c53e 100644 --- a/VoidCat/spa/src/FilePreview.js +++ b/VoidCat/spa/src/FilePreview.js @@ -24,7 +24,8 @@ export function FilePreview(props) { } case "video/mp4": case "video/matroksa": - case "video/x-matroska": { + case "video/x-matroska": + case "video/webm": { return