Commit Graph

12 Commits

Author SHA1 Message Date
Daniel Valentine
5d518cfc18 Cache result of server::determine_compressor. 2022-12-04 17:56:02 -07:00
Daniel Valentine
ae3ea2da7c HTTP compression (Reddit -> Libreddit -> client) (#612)
Implements HTTP compression, between both Reddit and Libreddit and Libreddit
and a web browser. Compression between Reddit and Libreddit is mandatory,
whereas compression between Libreddit and a client is opt-in (client must
specify a compressor in the Accept-Encoding header).

Supported compressors are gzip and brotli. gzip support is ubiquitous,
whereas brotli is supported by almost all modern browsers except Safari
(iOS, iPhone, macOS), although Safari may support brotli in the future.

Co-authored-by: Matthew E <matt@matthew.science>
2022-11-03 22:04:34 -06:00
spikecodes
f5cd48b07f Fix #514 2022-05-21 21:06:03 -07:00
spikecodes
0708fdfb37 Cover more Reddit domains with libreddit link rewrites 2021-12-29 11:38:35 -08:00
spikecodes
6a4191f3b5 Fix #272 2021-09-09 17:28:55 -07:00
spikecodes
d2002c9027 Disable dysfunctional moderator list feature 2021-06-11 11:03:36 -07:00
spikecodes
4defb58f2a Optimizations and commenting 2021-05-20 12:24:06 -07:00
spikecodes
f0f484288e Fix server.rs function name 2021-03-31 13:03:44 -07:00
spikecodes
66ac72beab Fix clippy errors 2021-03-26 20:00:47 -07:00
spikecodes
4c66e75f6b Add HSTS command line flag 2021-03-20 22:10:31 -07:00
spikecodes
fb7faf6477 Handle HeaderValue and Uri parsing errors 2021-03-17 16:32:28 -07:00
spikecodes
b14b4ff551 Rewrite server and client using Hyper 2021-03-17 15:30:33 -07:00