mox/http
Mechiel Lukkien 9e248860ee
implement transparent gzip compression in the webserver
we only compress if applicable (content-type indicates likely compressible),
client supports it, response doesn't already have a content-encoding).

for internal handlers, we always enable compression.  for reverse proxied and
static files, compression must be enabled per handler.

for internal & reverse proxy handlers, we do streaming compression at
"bestspeed" quality (probably level 1).

for static files, we have a cache based on mtime with fixed max size, where we
evict based on least recently used. we compress with the default level (more
cpu, better ratio).
2023-08-21 21:52:35 +02:00
..
atime.go implement transparent gzip compression in the webserver 2023-08-21 21:52:35 +02:00
atime_bsd.go implement transparent gzip compression in the webserver 2023-08-21 21:52:35 +02:00
autoconf.go make it easier to run with existing webserver 2023-03-04 00:49:02 +01:00
autoconf_test.go mox! 2023-01-30 14:27:06 +01:00
gzcache.go implement transparent gzip compression in the webserver 2023-08-21 21:52:35 +02:00
mtasts.go add basic webserver that can do most of what i need 2023-02-28 22:19:24 +01:00
mtasts_test.go mox! 2023-01-30 14:27:06 +01:00
web.go implement transparent gzip compression in the webserver 2023-08-21 21:52:35 +02:00
web_test.go unbreak the subcommands that talk to the mox instance of the ctl socket 2023-06-16 13:27:27 +02:00
webserver.go implement transparent gzip compression in the webserver 2023-08-21 21:52:35 +02:00
webserver_test.go implement transparent gzip compression in the webserver 2023-08-21 21:52:35 +02:00