From 9db75e240a2520eae0ffbc1f9aec757652d2ab03 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Fri, 21 Aug 2026 00:40:24 +1000 Subject: Initial commit --- Controllers/ApiDebugController.cs | 20 ++++++++++++++++++++ Pages/_Host.cshtml | 7 +++++++ wwwroot/auth.js | 27 +++++++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 Controllers/ApiDebugController.cs create mode 100644 wwwroot/auth.js diff --git a/Controllers/ApiDebugController.cs b/Controllers/ApiDebugController.cs new file mode 100644 index 0000000..7f43e5b --- /dev/null +++ b/Controllers/ApiDebugController.cs @@ -0,0 +1,20 @@ +using Microsoft.AspNetCore.Mvc; + +namespace HyperBooru.Controllers; + +[ApiController] +[Route("/api")] +public class ApiDebugController : Controller { + private IHttpContextAccessor contextAccessor; + + public ApiDebugController(IHttpContextAccessor contextAccessor) => + this.contextAccessor = contextAccessor; + + [HttpGet("headers")] + public IActionResult GetHeaders() { + if(contextAccessor.HttpContext is null) + return Ok(); + + return Ok(contextAccessor.HttpContext.Request.Headers); + } +} diff --git a/Pages/_Host.cshtml b/Pages/_Host.cshtml index 28ff24c..186f4f9 100644 --- a/Pages/_Host.cshtml +++ b/Pages/_Host.cshtml @@ -16,6 +16,13 @@ + diff --git a/wwwroot/auth.js b/wwwroot/auth.js new file mode 100644 index 0000000..32408cd --- /dev/null +++ b/wwwroot/auth.js @@ -0,0 +1,27 @@ +console.log('Auth service activated'); +self.addEventListener('activate', event => { + console.log('Claiming clients...'); + event.waitUntil(self.clients.claim()); +}); +self.addEventListener('fetch', async event => { + console.log('Intercepted fetch request'); + const url = new URL(event.request.url); + + if(!url.pathname.startsWith('/poo/')) + return; + + const headers = new Headers(event.request.headers); + headers.set('X-PeePee-PooPoo', 'fcukme'); + + try { + const newRequest = new Request('/api/headers', { + headers: headers, + mode: 'cors' + }); + + event.respondWith(fetch(newRequest)); + } catch(error) { + debugger; + event.respondWith(fetch(event.request)); + } +}); \ No newline at end of file -- cgit v1.3