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