Compare commits

...

2 commits

Author SHA1 Message Date
asonix dedd687847 Bump version
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2022-12-29 21:52:41 -06:00
asonix 810073d39b Add compression middleware 2022-12-29 21:52:09 -06:00
3 changed files with 72 additions and 3 deletions

65
server/Cargo.lock generated
View file

@ -67,10 +67,12 @@ dependencies = [
"ahash 0.7.6",
"base64",
"bitflags",
"brotli",
"bytes",
"bytestring",
"derive_more",
"encoding_rs",
"flate2",
"futures-core",
"h2",
"http",
@ -261,6 +263,12 @@ dependencies = [
"syn",
]
[[package]]
name = "adler"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "ahash"
version = "0.7.6"
@ -293,6 +301,21 @@ dependencies = [
"memchr",
]
[[package]]
name = "alloc-no-stdlib"
version = "2.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
[[package]]
name = "alloc-stdlib"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece"
dependencies = [
"alloc-no-stdlib",
]
[[package]]
name = "arc-swap"
version = "1.5.1"
@ -343,6 +366,27 @@ dependencies = [
"generic-array",
]
[[package]]
name = "brotli"
version = "3.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68"
dependencies = [
"alloc-no-stdlib",
"alloc-stdlib",
"brotli-decompressor",
]
[[package]]
name = "brotli-decompressor"
version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59ad2d4653bf5ca36ae797b1f4bb4dbddb60ce49ca4aed8a2ce4829f60425b80"
dependencies = [
"alloc-no-stdlib",
"alloc-stdlib",
]
[[package]]
name = "bstr"
version = "0.2.17"
@ -504,7 +548,7 @@ dependencies = [
[[package]]
name = "doglinks"
version = "0.1.3"
version = "0.1.4"
dependencies = [
"actix-governor",
"actix-web",
@ -535,6 +579,16 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "flate2"
version = "1.0.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
dependencies = [
"crc32fast",
"miniz_oxide",
]
[[package]]
name = "fnv"
version = "1.0.7"
@ -940,6 +994,15 @@ dependencies = [
"unicase",
]
[[package]]
name = "miniz_oxide"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
dependencies = [
"adler",
]
[[package]]
name = "mio"
version = "0.8.5"

View file

@ -1,13 +1,17 @@
[package]
name = "doglinks"
version = "0.1.3"
version = "0.1.4"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
actix-web = { version = "4", default-features = false, features = [
"compress-gzip",
"compress-brotli",
"macros",
] }
actix-governor = "0.3.2"
actix-web = { version = "4", default-features = false, features = ["macros"] }
actix-web-lab = { version = "0.18.8", features = ["spa"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"

View file

@ -5,6 +5,7 @@ use actix_web::{
error::{ErrorBadRequest, ErrorInternalServerError},
guard,
http::header::LOCATION,
middleware::Compress,
web::{self, Json, Path},
App, HttpResponse, HttpServer,
};
@ -190,6 +191,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
App::new()
.app_data(web::Data::new(state.clone()))
.wrap(from_fn(deny_invalid_agents))
.wrap(Compress::default())
.wrap(TracingLogger::default())
.service(
web::resource("/link")