sapling/eden/mononoke/gotham_ext/Cargo.toml
Thomas Orozco acc0d428cc mononoke/lfs_server: add support for response compression
Summary:
This adds support for compressing responses in the LFS Server, based on what
the client sent in `Accept-Encoding`. The compression changes are fairly
simple. Most of the codes changes are around the fact that when we compress,
we don't send a Content-Length (because we don't know how long the content will
be).

Note that this is largely implemented in StreamBody. This means it can be used
for free by the EdenAPI server as well. The reason it's in there is because we
need to avoid setting the Content-Length when compression is going to be used
(`StreamBody` is what takes charge for doing this). This also exposes a
callback to get access to the stream post-compression, which also needs to be
exposed in `StreamBody`, since that's where compression happens.

Reviewed By: aslpavel

Differential Revision: D23652334

fbshipit-source-id: 8f462d69139991c3e1d37f392d448904206ec0d2
2020-09-15 07:59:53 -07:00

37 lines
1.2 KiB
TOML

[package]
name = "gotham_ext"
edition = "2018"
version = "0.1.0"
authors = ['Facebook']
license = "GPLv2+"
include = ["src/**/*.rs"]
[dependencies]
permission_checker = { path = "../permission_checker" }
cached_config = { git = "https://github.com/facebookexperimental/rust-shed.git", branch = "master" }
scuba = { git = "https://github.com/facebookexperimental/rust-shed.git", branch = "master" }
time_ext = { git = "https://github.com/facebookexperimental/rust-shed.git", branch = "master" }
anyhow = "1.0"
async-compression = { version = "0.3", features = ["all"] }
async-trait = "0.1.29"
bytes = { version = "0.5", features = ["serde"] }
dns-lookup = "1.0"
failure = "0.1"
futures = { version = "0.3.5", features = ["async-await", "compat"] }
gotham = { version = "=0.5.0-dev", default-features = false }
gotham_derive = "=0.5.0-dev"
hex = "0.4"
http = "0.2"
hyper = "0.13"
itertools = "0.8"
lazy_static = "1.0"
mime = "0.3.14"
openssl = "0.10"
percent-encoding = "2.1"
pin-project = "0.4"
serde = { version = "1.0", features = ["derive", "rc"] }
serde_derive = "1.0"
serde_json = "1.0"
slog = { version = "2.5", features = ["max_level_debug"] }
tokio = { version = "=0.2.13", features = ["full"] }