(#4) HTTP compression (Reddit -> Ferrit -> client)
Implements HTTP compression, between both Reddit and Ferrit and Ferrit
and a web browser. Compression between Reddit and Ferrit are mandatory,
whereas compression between Ferrit 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 that may be changing soon.
Co-authored-by: Matthew Esposito <matt@matthew.science>
* Added support for quarantined subreddits
* Added confirmation wall for quarantined subreddits
* Added quarantine walls to other routes and fixed case issue
* Correct obsolete use of cookie()
* Refactor param() and quarantine()
Co-authored-by: Spike <19519553+spikecodes@users.noreply.github.com>
* HLS video playback
Signed-off-by: Adrian Lebioda <adrianlebioda@gmail.com>
* Add LibreJS compliance
* Locally host hls.js
* Notification about HLS under videos that support it
Signed-off-by: Adrian Lebioda <adrianlebioda@gmail.com>
* Use .contains() instead of .find() == None
* Make list of preferences constant
* Change headers_keys from Vector into Array
* Fix incorrect detecting of # in paths
* Remove trailing-slash-appending if statement
* Change HLS notification styling
Co-authored-by: spikecodes <19519553+spikecodes@users.noreply.github.com>