2025-09-05 14:09:06 +02:00

32 lines
918 B
C#

using System.Text.Json;
const int SERVER_PORT = 5080;
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapPost("/webhook", async (HttpContext context) =>
{
using var reader = new StreamReader(context.Request.Body);
var bodyContent = await reader.ReadToEndAsync();
var headers = context.Request.Headers.ToDictionary(
h => h.Key.ToLower(),
h => h.Value.ToString()
);
if (!WebhookValidator.IsWebhookEventValid(bodyContent, headers))
{
Console.WriteLine("Invalid webhook signature");
context.Response.StatusCode = 401;
await context.Response.WriteAsync("Invalid webhook signature");
return;
}
Console.WriteLine($"Webhook received: {bodyContent}");
context.Response.StatusCode = 200;
});
Console.WriteLine($"Webhook server listening on port {SERVER_PORT}");
app.Run($"http://0.0.0.0:{SERVER_PORT}");