From a393429f01e63aa37f58f8cbe4a810e59852fa61 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Thu, 29 Oct 2020 15:18:36 -0400 Subject: Implement JavaScript UI for attachments This one is a bit of a doozy. A summary of the changes: - Session has grown storage for attachments which have been uploaded but not yet sent. - The list of attachments on a message is refcounted so that we can clean up the temporary files only after it's done with - i.e. after copying to Sent and after all of the SMTP attempts are done. - Abandoned attachments are cleared out on process shutdown. Future work: - Add a limit to the maximum number of pending attachments the user can have in the session. - Periodically clean out abandoned attachments? --- server.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'server.go') diff --git a/server.go b/server.go index dc2708e..7a82d35 100644 --- a/server.go +++ b/server.go @@ -73,6 +73,10 @@ func newServer(e *echo.Echo, options *Options) (*Server, error) { return s, nil } +func (s *Server) Close() { + s.Sessions.Close() +} + func parseUpstream(s string) (*url.URL, error) { if !strings.ContainsAny(s, ":/") { // This is a raw domain name, make it an URL with an empty scheme -- cgit v1.2.3-59-g8ed1b