using System; using System.Threading; using System.Threading.Tasks; using DHT.Server.Database; using DHT.Server.Database.Export; using DHT.Server.Service.Viewer; using Microsoft.AspNetCore.Http; namespace DHT.Server.Endpoints; sealed class GetViewerMessagesEndpoint(IDatabaseFile db, ViewerSessions viewerSessions) : BaseEndpoint { protected override Task Respond(HttpRequest request, HttpResponse response, CancellationToken cancellationToken) { Guid sessionId = GetSessionId(request); ViewerSession session = viewerSessions.Get(sessionId); response.ContentType = "application/x-ndjson"; return ViewerJsonExport.GetMessages(response.Body, db, session.MessageFilter, cancellationToken); } }