email.EnqueueStd: Don't overwrite headers
Sometimes we need to specify the Message-Id, From, and Reply-To headers
(e.g. for todo.sr.ht ticket notifications). Don't overwrite these
headers if they are present.
server: move auth middlware ahead of RealIP
So that @internal auth can correctly test against internal-ipnet.
Remove %e formatting verbs
%e is not valid for formatting error values:
> %e scientific notation, e.g. -1.234456e+78
Instead, use %w when using fmt.Errorf (for error wrapping) and
%v when using log.Printf (%w is not valid in that context).
Enforce complexity limit on webhook payload
Configure server to manage mail queue
This also sets up the recovery function for webhooks, so we get emailed
when we panic during a webhook query.
server: add server reference to context
server: set max upload size to 1 GiB
Stash remote address in context
Add legacy webhooks worker implementation
Expand context for work queues
server: use SO_REUSEADDR for main listener
server: add /query/api-meta.json, docs
server: incorporate queue management
Import GQL server interfaces from gql.sr.ht