Trying to fix transform

This commit is contained in:
Dessalines 2021-07-04 19:21:17 -04:00
parent b6b4e10c92
commit 35bc999bd5
11 changed files with 341 additions and 89 deletions

376
Cargo.lock generated
View file

@ -92,26 +92,39 @@ dependencies = [
"tokio-util 0.3.1", "tokio-util 0.3.1",
] ]
[[package]]
name = "actix-codec"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d5dbeb2d9e51344cb83ca7cc170f1217f9fe25bfc50160e6e200b5c31c1019a"
dependencies = [
"bitflags",
"bytes 1.0.1",
"futures-core",
"futures-sink",
"log",
"pin-project-lite 0.2.7",
"tokio 1.8.0",
"tokio-util 0.6.7",
]
[[package]] [[package]]
name = "actix-connect" name = "actix-connect"
version = "2.0.0" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "177837a10863f15ba8d3ae3ec12fac1099099529ed20083a27fdfe247381d0dc" checksum = "177837a10863f15ba8d3ae3ec12fac1099099529ed20083a27fdfe247381d0dc"
dependencies = [ dependencies = [
"actix-codec", "actix-codec 0.3.0",
"actix-rt 1.1.1", "actix-rt 1.1.1",
"actix-service", "actix-service 1.0.6",
"actix-utils", "actix-utils 2.0.0",
"derive_more", "derive_more",
"either", "either",
"futures-util", "futures-util",
"http", "http",
"log", "log",
"rustls",
"tokio-rustls",
"trust-dns-proto", "trust-dns-proto",
"trust-dns-resolver", "trust-dns-resolver",
"webpki",
] ]
[[package]] [[package]]
@ -120,23 +133,20 @@ version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "452299e87817ae5673910e53c243484ca38be3828db819b6011736fc6982e874" checksum = "452299e87817ae5673910e53c243484ca38be3828db819b6011736fc6982e874"
dependencies = [ dependencies = [
"actix-codec", "actix-codec 0.3.0",
"actix-connect", "actix-connect",
"actix-rt 1.1.1", "actix-rt 1.1.1",
"actix-service", "actix-service 1.0.6",
"actix-threadpool", "actix-threadpool",
"actix-tls", "actix-utils 2.0.0",
"actix-utils",
"base64 0.13.0", "base64 0.13.0",
"bitflags", "bitflags",
"brotli2",
"bytes 0.5.6", "bytes 0.5.6",
"cookie", "cookie 0.14.4",
"copyless", "copyless",
"derive_more", "derive_more",
"either", "either",
"encoding_rs", "encoding_rs",
"flate2",
"futures-channel", "futures-channel",
"futures-core", "futures-core",
"futures-util", "futures-util",
@ -146,7 +156,7 @@ dependencies = [
"httparse", "httparse",
"indexmap", "indexmap",
"itoa", "itoa",
"language-tags", "language-tags 0.2.2",
"lazy_static", "lazy_static",
"log", "log",
"mime", "mime",
@ -162,6 +172,50 @@ dependencies = [
"time 0.2.27", "time 0.2.27",
] ]
[[package]]
name = "actix-http"
version = "3.0.0-beta.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cd16d6b846983ffabfd081e1a67abd7698094fcbe7b3d9bcf1acbc6f546a516"
dependencies = [
"actix-codec 0.4.0",
"actix-rt 2.2.0",
"actix-service 2.0.0",
"actix-tls 3.0.0-beta.5",
"actix-utils 3.0.0",
"ahash 0.7.4",
"base64 0.13.0",
"bitflags",
"brotli2",
"bytes 1.0.1",
"bytestring",
"derive_more",
"encoding_rs",
"flate2",
"futures-core",
"futures-util",
"h2 0.3.3",
"http",
"httparse",
"itoa",
"language-tags 0.3.2",
"local-channel",
"log",
"mime",
"once_cell",
"percent-encoding",
"pin-project 1.0.7",
"pin-project-lite 0.2.7",
"rand 0.8.4",
"regex",
"serde",
"sha-1 0.9.6",
"smallvec",
"time 0.2.27",
"tokio 1.8.0",
"zstd",
]
[[package]] [[package]]
name = "actix-macros" name = "actix-macros"
version = "0.1.3" version = "0.1.3"
@ -227,10 +281,10 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45407e6e672ca24784baa667c5d32ef109ccdd8d5e0b5ebb9ef8a67f4dfb708e" checksum = "45407e6e672ca24784baa667c5d32ef109ccdd8d5e0b5ebb9ef8a67f4dfb708e"
dependencies = [ dependencies = [
"actix-codec", "actix-codec 0.3.0",
"actix-rt 1.1.1", "actix-rt 1.1.1",
"actix-service", "actix-service 1.0.6",
"actix-utils", "actix-utils 2.0.0",
"futures-channel", "futures-channel",
"futures-util", "futures-util",
"log", "log",
@ -241,6 +295,23 @@ dependencies = [
"socket2 0.3.19", "socket2 0.3.19",
] ]
[[package]]
name = "actix-server"
version = "2.0.0-beta.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26369215fcc3b0176018b3b68756a8bcc275bb000e6212e454944913a1f9bf87"
dependencies = [
"actix-rt 2.2.0",
"actix-service 2.0.0",
"actix-utils 3.0.0",
"futures-core",
"log",
"mio 0.7.13",
"num_cpus",
"slab",
"tokio 1.8.0",
]
[[package]] [[package]]
name = "actix-service" name = "actix-service"
version = "1.0.6" version = "1.0.6"
@ -251,6 +322,17 @@ dependencies = [
"pin-project 0.4.28", "pin-project 0.4.28",
] ]
[[package]]
name = "actix-service"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77f5f9d66a8730d0fae62c26f3424f5751e5518086628a40b7ab6fca4a705034"
dependencies = [
"futures-core",
"paste",
"pin-project-lite 0.2.7",
]
[[package]] [[package]]
name = "actix-testing" name = "actix-testing"
version = "1.0.1" version = "1.0.1"
@ -259,8 +341,8 @@ checksum = "47239ca38799ab74ee6a8a94d1ce857014b2ac36f242f70f3f75a66f691e791c"
dependencies = [ dependencies = [
"actix-macros 0.1.3", "actix-macros 0.1.3",
"actix-rt 1.1.1", "actix-rt 1.1.1",
"actix-server", "actix-server 1.0.4",
"actix-service", "actix-service 1.0.6",
"log", "log",
"socket2 0.3.19", "socket2 0.3.19",
] ]
@ -286,13 +368,28 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24789b7d7361cf5503a504ebe1c10806896f61e96eca9a7350e23001aca715fb" checksum = "24789b7d7361cf5503a504ebe1c10806896f61e96eca9a7350e23001aca715fb"
dependencies = [ dependencies = [
"actix-codec", "actix-codec 0.3.0",
"actix-service", "actix-service 1.0.6",
"actix-utils", "actix-utils 2.0.0",
"futures-util", "futures-util",
"rustls", ]
[[package]]
name = "actix-tls"
version = "3.0.0-beta.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65b7bb60840962ef0332f7ea01a57d73a24d2cb663708511ff800250bbfef569"
dependencies = [
"actix-codec 0.4.0",
"actix-rt 2.2.0",
"actix-service 2.0.0",
"actix-utils 3.0.0",
"derive_more",
"futures-core",
"http",
"log",
"tokio-rustls", "tokio-rustls",
"webpki", "tokio-util 0.6.7",
"webpki-roots", "webpki-roots",
] ]
@ -302,9 +399,9 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e9022dec56632d1d7979e59af14f0597a28a830a9c1c7fec8b2327eb9f16b5a" checksum = "2e9022dec56632d1d7979e59af14f0597a28a830a9c1c7fec8b2327eb9f16b5a"
dependencies = [ dependencies = [
"actix-codec", "actix-codec 0.3.0",
"actix-rt 1.1.1", "actix-rt 1.1.1",
"actix-service", "actix-service 1.0.6",
"bitflags", "bitflags",
"bytes 0.5.6", "bytes 0.5.6",
"either", "either",
@ -316,24 +413,34 @@ dependencies = [
"slab", "slab",
] ]
[[package]]
name = "actix-utils"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e491cbaac2e7fc788dfff99ff48ef317e23b3cf63dbaf7aaab6418f40f92aa94"
dependencies = [
"local-waker",
"pin-project-lite 0.2.7",
]
[[package]] [[package]]
name = "actix-web" name = "actix-web"
version = "3.3.2" version = "3.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e641d4a172e7faa0862241a20ff4f1f5ab0ab7c279f00c2d4587b77483477b86" checksum = "e641d4a172e7faa0862241a20ff4f1f5ab0ab7c279f00c2d4587b77483477b86"
dependencies = [ dependencies = [
"actix-codec", "actix-codec 0.3.0",
"actix-http", "actix-http 2.2.0",
"actix-macros 0.1.3", "actix-macros 0.1.3",
"actix-router", "actix-router",
"actix-rt 1.1.1", "actix-rt 1.1.1",
"actix-server", "actix-server 1.0.4",
"actix-service", "actix-service 1.0.6",
"actix-testing", "actix-testing",
"actix-threadpool", "actix-threadpool",
"actix-tls", "actix-tls 2.0.0",
"actix-utils", "actix-utils 2.0.0",
"actix-web-codegen", "actix-web-codegen 0.4.0",
"awc", "awc",
"bytes 0.5.6", "bytes 0.5.6",
"derive_more", "derive_more",
@ -346,7 +453,6 @@ dependencies = [
"mime", "mime",
"pin-project 1.0.7", "pin-project 1.0.7",
"regex", "regex",
"rustls",
"serde", "serde",
"serde_json", "serde_json",
"serde_urlencoded", "serde_urlencoded",
@ -356,6 +462,48 @@ dependencies = [
"url", "url",
] ]
[[package]]
name = "actix-web"
version = "4.0.0-beta.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c503f726f895e55dac39adeafd14b5ee00cc956796314e9227fc7ae2e176f443"
dependencies = [
"actix-codec 0.4.0",
"actix-http 3.0.0-beta.8",
"actix-macros 0.2.1",
"actix-router",
"actix-rt 2.2.0",
"actix-server 2.0.0-beta.5",
"actix-service 2.0.0",
"actix-tls 3.0.0-beta.5",
"actix-utils 3.0.0",
"actix-web-codegen 0.5.0-beta.3",
"ahash 0.7.4",
"bytes 1.0.1",
"cfg-if 1.0.0",
"cookie 0.15.0",
"derive_more",
"either",
"encoding_rs",
"futures-core",
"futures-util",
"itoa",
"language-tags 0.3.2",
"log",
"mime",
"once_cell",
"paste",
"pin-project 1.0.7",
"regex",
"serde",
"serde_json",
"serde_urlencoded",
"smallvec",
"socket2 0.4.0",
"time 0.2.27",
"url",
]
[[package]] [[package]]
name = "actix-web-actors" name = "actix-web-actors"
version = "3.0.0" version = "3.0.0"
@ -363,9 +511,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f6edf3c2693e2a8c422800c87ee89a6a4eac7dd01109bc172a1093ce1f4f001" checksum = "7f6edf3c2693e2a8c422800c87ee89a6a4eac7dd01109bc172a1093ce1f4f001"
dependencies = [ dependencies = [
"actix 0.10.0", "actix 0.10.0",
"actix-codec", "actix-codec 0.3.0",
"actix-http", "actix-http 2.2.0",
"actix-web", "actix-web 3.3.2",
"bytes 0.5.6", "bytes 0.5.6",
"futures-channel", "futures-channel",
"futures-core", "futures-core",
@ -383,6 +531,17 @@ dependencies = [
"syn 1.0.73", "syn 1.0.73",
] ]
[[package]]
name = "actix-web-codegen"
version = "0.5.0-beta.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d048c6986743105c1e8e9729fbc8d5d1667f2f62393a58be8d85a7d9a5a6c8d"
dependencies = [
"proc-macro2 1.0.27",
"quote 1.0.9",
"syn 1.0.73",
]
[[package]] [[package]]
name = "actix_derive" name = "actix_derive"
version = "0.5.0" version = "0.5.0"
@ -432,6 +591,17 @@ version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e"
[[package]]
name = "ahash"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43bb833f0bf979d8475d38fbf09ed3b8a55e1885fe93ad3f93239fc6a4f17b98"
dependencies = [
"getrandom 0.2.3",
"once_cell",
"version_check",
]
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "0.7.18" version = "0.7.18"
@ -502,10 +672,10 @@ version = "2.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b381e490e7b0cfc37ebc54079b0413d8093ef43d14a4e4747083f7fa47a9e691" checksum = "b381e490e7b0cfc37ebc54079b0413d8093ef43d14a4e4747083f7fa47a9e691"
dependencies = [ dependencies = [
"actix-codec", "actix-codec 0.3.0",
"actix-http", "actix-http 2.2.0",
"actix-rt 1.1.1", "actix-rt 1.1.1",
"actix-service", "actix-service 1.0.6",
"base64 0.13.0", "base64 0.13.0",
"bytes 0.5.6", "bytes 0.5.6",
"cfg-if 1.0.0", "cfg-if 1.0.0",
@ -515,7 +685,6 @@ dependencies = [
"mime", "mime",
"percent-encoding", "percent-encoding",
"rand 0.7.3", "rand 0.7.3",
"rustls",
"serde", "serde",
"serde_json", "serde_json",
"serde_urlencoded", "serde_urlencoded",
@ -764,6 +933,9 @@ name = "cc"
version = "1.0.68" version = "1.0.68"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787"
dependencies = [
"jobserver",
]
[[package]] [[package]]
name = "cfg-if" name = "cfg-if"
@ -856,6 +1028,17 @@ dependencies = [
"version_check", "version_check",
] ]
[[package]]
name = "cookie"
version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffdf8865bac3d9a3bde5bde9088ca431b11f5d37c7a578b8086af77248b76627"
dependencies = [
"percent-encoding",
"time 0.2.27",
"version_check",
]
[[package]] [[package]]
name = "copyless" name = "copyless"
version = "0.1.5" version = "0.1.5"
@ -1488,7 +1671,7 @@ version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
dependencies = [ dependencies = [
"ahash", "ahash 0.4.7",
] ]
[[package]] [[package]]
@ -1570,7 +1753,7 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57da981a97112479df3de7e88550c0de21dfbcc401efe832c8e5c7574ba1952e" checksum = "57da981a97112479df3de7e88550c0de21dfbcc401efe832c8e5c7574ba1952e"
dependencies = [ dependencies = [
"actix-web", "actix-web 3.3.2",
"awc", "awc",
"base64 0.12.3", "base64 0.12.3",
"bytes 0.5.6", "bytes 0.5.6",
@ -1752,6 +1935,15 @@ version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
[[package]]
name = "jobserver"
version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "972f5ae5d1cb9c6ae417789196c803205313edde988685da5e3aae0827b9e7fd"
dependencies = [
"libc",
]
[[package]] [[package]]
name = "jpeg-decoder" name = "jpeg-decoder"
version = "0.1.22" version = "0.1.22"
@ -1800,6 +1992,12 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
[[package]]
name = "language-tags"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
[[package]] [[package]]
name = "lazy_static" name = "lazy_static"
version = "1.4.0" version = "1.4.0"
@ -1812,7 +2010,7 @@ version = "0.1.0"
dependencies = [ dependencies = [
"actix 0.12.0", "actix 0.12.0",
"actix-rt 2.2.0", "actix-rt 2.2.0",
"actix-web", "actix-web 4.0.0-beta.8",
"anyhow", "anyhow",
"async-trait", "async-trait",
"awc", "awc",
@ -1855,7 +2053,7 @@ dependencies = [
name = "lemmy_api_common" name = "lemmy_api_common"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"actix-web", "actix-web 4.0.0-beta.8",
"chrono", "chrono",
"diesel", "diesel",
"lemmy_db_queries", "lemmy_db_queries",
@ -1876,7 +2074,7 @@ version = "0.1.0"
dependencies = [ dependencies = [
"actix 0.12.0", "actix 0.12.0",
"actix-rt 2.2.0", "actix-rt 2.2.0",
"actix-web", "actix-web 4.0.0-beta.8",
"anyhow", "anyhow",
"async-trait", "async-trait",
"awc", "awc",
@ -1922,7 +2120,7 @@ dependencies = [
"activitystreams-ext", "activitystreams-ext",
"actix 0.12.0", "actix 0.12.0",
"actix-rt 2.2.0", "actix-rt 2.2.0",
"actix-web", "actix-web 4.0.0-beta.8",
"anyhow", "anyhow",
"async-trait", "async-trait",
"awc", "awc",
@ -1969,7 +2167,7 @@ dependencies = [
"activitystreams-ext", "activitystreams-ext",
"actix 0.12.0", "actix 0.12.0",
"actix-rt 2.2.0", "actix-rt 2.2.0",
"actix-web", "actix-web 4.0.0-beta.8",
"anyhow", "anyhow",
"async-trait", "async-trait",
"awc", "awc",
@ -2078,7 +2276,7 @@ name = "lemmy_routes"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"actix 0.12.0", "actix 0.12.0",
"actix-web", "actix-web 4.0.0-beta.8",
"actix-web-actors", "actix-web-actors",
"anyhow", "anyhow",
"awc", "awc",
@ -2105,9 +2303,9 @@ name = "lemmy_server"
version = "0.0.1" version = "0.0.1"
dependencies = [ dependencies = [
"activitystreams", "activitystreams",
"actix 0.10.0", "actix 0.12.0",
"actix-rt 2.2.0", "actix-rt 2.2.0",
"actix-web", "actix-web 4.0.0-beta.8",
"anyhow", "anyhow",
"cargo-husky", "cargo-husky",
"chrono", "chrono",
@ -2144,7 +2342,7 @@ name = "lemmy_utils"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"actix-rt 2.2.0", "actix-rt 2.2.0",
"actix-web", "actix-web 4.0.0-beta.8",
"anyhow", "anyhow",
"chrono", "chrono",
"comrak", "comrak",
@ -2177,8 +2375,8 @@ dependencies = [
name = "lemmy_websocket" name = "lemmy_websocket"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"actix 0.10.0", "actix 0.12.0",
"actix-web", "actix-web 4.0.0-beta.8",
"actix-web-actors", "actix-web-actors",
"anyhow", "anyhow",
"background-jobs", "background-jobs",
@ -2230,6 +2428,24 @@ version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
[[package]]
name = "local-channel"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6246c68cf195087205a0512559c97e15eaf95198bf0e206d662092cdcb03fe9f"
dependencies = [
"futures-core",
"futures-sink",
"futures-util",
"local-waker",
]
[[package]]
name = "local-waker"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84f9a2d3e27ce99ce2c3aad0b09b1a7b916293ea9b2bf624c13fe646fadd8da4"
[[package]] [[package]]
name = "lock_api" name = "lock_api"
version = "0.4.4" version = "0.4.4"
@ -2637,6 +2853,12 @@ dependencies = [
"winapi 0.3.9", "winapi 0.3.9",
] ]
[[package]]
name = "paste"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58"
[[package]] [[package]]
name = "pem" name = "pem"
version = "0.8.3" version = "0.8.3"
@ -3137,11 +3359,11 @@ dependencies = [
[[package]] [[package]]
name = "rustls" name = "rustls"
version = "0.18.1" version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7"
dependencies = [ dependencies = [
"base64 0.12.3", "base64 0.13.0",
"log", "log",
"ring", "ring",
"sct", "sct",
@ -3696,13 +3918,12 @@ dependencies = [
[[package]] [[package]]
name = "tokio-rustls" name = "tokio-rustls"
version = "0.14.1" version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a" checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6"
dependencies = [ dependencies = [
"futures-core",
"rustls", "rustls",
"tokio 0.2.25", "tokio 1.8.0",
"webpki", "webpki",
] ]
@ -4046,9 +4267,9 @@ dependencies = [
[[package]] [[package]]
name = "webpki-roots" name = "webpki-roots"
version = "0.20.0" version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f20dea7535251981a9670857150d571846545088359b28e4951d350bdaf179f" checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940"
dependencies = [ dependencies = [
"webpki", "webpki",
] ]
@ -4147,3 +4368,32 @@ name = "xdg"
version = "2.2.0" version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57" checksum = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57"
[[package]]
name = "zstd"
version = "0.7.0+zstd.1.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9428752481d8372e15b1bf779ea518a179ad6c771cca2d2c60e4fbff3cc2cd52"
dependencies = [
"zstd-safe",
]
[[package]]
name = "zstd-safe"
version = "3.1.0+zstd.1.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aa1926623ad7fe406e090555387daf73db555b948134b4d73eac5eb08fb666d"
dependencies = [
"libc",
"zstd-sys",
]
[[package]]
name = "zstd-sys"
version = "1.5.0+zstd.1.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e6c094340240369025fc6b731b054ee2a834328fa584310ac96aa4baebdc465"
dependencies = [
"cc",
"libc",
]

View file

@ -44,15 +44,15 @@ diesel = "1.4.7"
diesel_migrations = "1.4.0" diesel_migrations = "1.4.0"
chrono = { version = "0.4.19", features = ["serde"] } chrono = { version = "0.4.19", features = ["serde"] }
serde = { version = "1.0.126", features = ["derive"] } serde = { version = "1.0.126", features = ["derive"] }
actix = "0.10.0" actix = "0.12.0"
actix-web = { version = "3.3.2", default-features = false, features = ["rustls"] } actix-web = { version = "4.0.0-beta.8", default-features = false, features = ["rustls"] }
log = "0.4.14" log = "0.4.14"
env_logger = "0.8.4" env_logger = "0.8.4"
strum = "0.21.0" strum = "0.21.0"
url = { version = "2.2.2", features = ["serde"] } url = { version = "2.2.2", features = ["serde"] }
openssl = "0.10.35" openssl = "0.10.35"
http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] } http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] }
tokio = { version = "1.7.1", features = ["sync"] } tokio = { version = "1.8.0", features = ["sync"] }
anyhow = "1.0.41" anyhow = "1.0.41"
reqwest = { version = "0.11.4", features = ["json"] } reqwest = { version = "0.11.4", features = ["json"] }
activitystreams = "0.7.0-alpha.11" activitystreams = "0.7.0-alpha.11"

View file

@ -24,7 +24,7 @@ chrono = { version = "0.4.19", features = ["serde"] }
serde_json = { version = "1.0.64", features = ["preserve_order"] } serde_json = { version = "1.0.64", features = ["preserve_order"] }
serde = { version = "1.0.126", features = ["derive"] } serde = { version = "1.0.126", features = ["derive"] }
actix = "0.12.0" actix = "0.12.0"
actix-web = { version = "3.3.2", default-features = false } actix-web = { version = "4.0.0-beta.8", default-features = false }
actix-rt = { version = "2.2.0", default-features = false } actix-rt = { version = "2.2.0", default-features = false }
awc = { version = "2.0.3", default-features = false } awc = { version = "2.0.3", default-features = false }
log = "0.4.14" log = "0.4.14"
@ -37,7 +37,7 @@ openssl = "0.10.35"
http = "0.2.4" http = "0.2.4"
http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] } http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] }
base64 = "0.13.0" base64 = "0.13.0"
tokio = "1.7.1" tokio = "1.8.0"
futures = "0.3.15" futures = "0.3.15"
itertools = "0.10.1" itertools = "0.10.1"
uuid = { version = "0.8.2", features = ["serde", "v4"] } uuid = { version = "0.8.2", features = ["serde", "v4"] }

View file

@ -18,7 +18,7 @@ lemmy_utils = { path = "../utils" }
serde = { version = "1.0.126", features = ["derive"] } serde = { version = "1.0.126", features = ["derive"] }
log = "0.4.14" log = "0.4.14"
diesel = "1.4.7" diesel = "1.4.7"
actix-web = "3.3.2" actix-web = "4.0.0-beta.8"
chrono = { version = "0.4.19", features = ["serde"] } chrono = { version = "0.4.19", features = ["serde"] }
serde_json = { version = "1.0.64", features = ["preserve_order"] } serde_json = { version = "1.0.64", features = ["preserve_order"] }
url = "2.2.2" url = "2.2.2"

View file

@ -19,7 +19,7 @@ chrono = { version = "0.4.19", features = ["serde"] }
serde_json = { version = "1.0.64", features = ["preserve_order"] } serde_json = { version = "1.0.64", features = ["preserve_order"] }
serde = { version = "1.0.126", features = ["derive"] } serde = { version = "1.0.126", features = ["derive"] }
actix = "0.12.0" actix = "0.12.0"
actix-web = { version = "3.3.2", default-features = false } actix-web = { version = "4.0.0-beta.8", default-features = false }
actix-rt = { version = "2.2.0", default-features = false } actix-rt = { version = "2.2.0", default-features = false }
awc = { version = "2.0.3", default-features = false } awc = { version = "2.0.3", default-features = false }
log = "0.4.14" log = "0.4.14"
@ -32,7 +32,7 @@ openssl = "0.10.35"
http = "0.2.4" http = "0.2.4"
http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] } http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] }
base64 = "0.13.0" base64 = "0.13.0"
tokio = "1.7.1" tokio = "1.8.0"
futures = "0.3.15" futures = "0.3.15"
itertools = "0.10.1" itertools = "0.10.1"
uuid = { version = "0.8.2", features = ["serde", "v4"] } uuid = { version = "0.8.2", features = ["serde", "v4"] }

View file

@ -24,7 +24,7 @@ chrono = { version = "0.4.19", features = ["serde"] }
serde_json = { version = "1.0.64", features = ["preserve_order"] } serde_json = { version = "1.0.64", features = ["preserve_order"] }
serde = { version = "1.0.126", features = ["derive"] } serde = { version = "1.0.126", features = ["derive"] }
actix = "0.12.0" actix = "0.12.0"
actix-web = { version = "3.3.2", default-features = false } actix-web = { version = "4.0.0-beta.8", default-features = false }
actix-rt = { version = "2.2.0", default-features = false } actix-rt = { version = "2.2.0", default-features = false }
awc = { version = "2.0.3", default-features = false } awc = { version = "2.0.3", default-features = false }
log = "0.4.14" log = "0.4.14"
@ -39,7 +39,7 @@ http = "0.2.4"
http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] } http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] }
http-signature-normalization-reqwest = { version = "0.2.0", default-features = false, features = ["sha-2"] } http-signature-normalization-reqwest = { version = "0.2.0", default-features = false, features = ["sha-2"] }
base64 = "0.13.0" base64 = "0.13.0"
tokio = "1.7.1" tokio = "1.8.0"
futures = "0.3.15" futures = "0.3.15"
itertools = "0.10.1" itertools = "0.10.1"
uuid = { version = "0.8.2", features = ["serde", "v4"] } uuid = { version = "0.8.2", features = ["serde", "v4"] }

View file

@ -20,7 +20,7 @@ chrono = { version = "0.4.19", features = ["serde"] }
serde_json = { version = "1.0.64", features = ["preserve_order"] } serde_json = { version = "1.0.64", features = ["preserve_order"] }
serde = { version = "1.0.126", features = ["derive"] } serde = { version = "1.0.126", features = ["derive"] }
actix = "0.12.0" actix = "0.12.0"
actix-web = { version = "3.3.2", default-features = false } actix-web = { version = "4.0.0-beta.8", default-features = false }
actix-rt = { version = "2.2.0", default-features = false } actix-rt = { version = "2.2.0", default-features = false }
awc = { version = "2.0.3", default-features = false } awc = { version = "2.0.3", default-features = false }
log = "0.4.14" log = "0.4.14"
@ -34,12 +34,12 @@ http = "0.2.4"
http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] } http-signature-normalization-actix = { version = "0.4.1", default-features = false, features = ["sha-2"] }
http-signature-normalization-reqwest = { version = "0.2.0", default-features = false, features = ["sha-2"] } http-signature-normalization-reqwest = { version = "0.2.0", default-features = false, features = ["sha-2"] }
base64 = "0.13.0" base64 = "0.13.0"
tokio = "1.7.1" tokio = "1.8.0"
futures = "0.3.15" futures = "0.3.15"
itertools = "0.10.1" itertools = "0.10.1"
sha2 = "0.9.5" sha2 = "0.9.5"
async-trait = "0.1.50" async-trait = "0.1.50"
anyhow = "1.0.41" anyhow = "1.0.41"
thiserror = "1.0.25" thiserror = "1.0.26"
backtrace = "0.3.60" backtrace = "0.3.60"

View file

@ -16,7 +16,7 @@ lemmy_db_schema = { path = "../db_schema" }
lemmy_api_common = { path = "../api_common" } lemmy_api_common = { path = "../api_common" }
diesel = "1.4.7" diesel = "1.4.7"
actix = "0.12.0" actix = "0.12.0"
actix-web = { version = "3.3.2", default-features = false, features = ["rustls"] } actix-web = { version = "4.0.0-beta.8", default-features = false, features = ["rustls"] }
actix-web-actors = { version = "3.0.0", default-features = false } actix-web-actors = { version = "3.0.0", default-features = false }
sha2 = "0.9.5" sha2 = "0.9.5"
log = "0.4.14" log = "0.4.14"

View file

@ -23,11 +23,11 @@ comrak = { version = "0.10.1", default-features = false }
lazy_static = "1.4.0" lazy_static = "1.4.0"
openssl = "0.10.35" openssl = "0.10.35"
url = { version = "2.2.2", features = ["serde"] } url = { version = "2.2.2", features = ["serde"] }
actix-web = { version = "3.3.2", default-features = false, features = ["rustls"] } actix-web = { version = "4.0.0-beta.8", default-features = false, features = ["rustls"] }
actix-rt = { version = "2.2.0", default-features = false } actix-rt = { version = "2.2.0", default-features = false }
anyhow = "1.0.41" anyhow = "1.0.41"
reqwest = { version = "0.11.4", features = ["json"] } reqwest = { version = "0.11.4", features = ["json"] }
tokio = { version = "1.7.1", features = ["sync"] } tokio = { version = "1.8.0", features = ["sync"] }
strum = "0.21.0" strum = "0.21.0"
strum_macros = "0.21.1" strum_macros = "0.21.1"
futures = "0.3.15" futures = "0.3.15"

View file

@ -154,12 +154,13 @@ impl RateLimited {
} }
} }
impl<S> Transform<S> for RateLimited impl<S, Req> Transform<S, Req> for RateLimited
where where
S: Service<Request = ServiceRequest, Response = ServiceResponse, Error = actix_web::Error>, // S: Service<Request = ServiceRequest, Response = ServiceResponse, Error = actix_web::Error>,
// TODO
S: Service<Req>,
S::Future: 'static, S::Future: 'static,
{ {
type Request = S::Request;
type Response = S::Response; type Response = S::Response;
type Error = actix_web::Error; type Error = actix_web::Error;
type InitError = (); type InitError = ();
@ -176,12 +177,13 @@ where
type FutResult<T, E> = dyn Future<Output = Result<T, E>>; type FutResult<T, E> = dyn Future<Output = Result<T, E>>;
impl<S> Service for RateLimitedMiddleware<S> impl<S, Req> Service<Req> for RateLimitedMiddleware<S>
where where
S: Service<Request = ServiceRequest, Response = ServiceResponse, Error = actix_web::Error>, // S: Service<Request = ServiceRequest, Response = ServiceResponse, Error = actix_web::Error>,
// TODO
S: Service<Req>,
S::Future: 'static, S::Future: 'static,
{ {
type Request = S::Request;
type Response = S::Response; type Response = S::Response;
type Error = actix_web::Error; type Error = actix_web::Error;
type Future = Pin<Box<FutResult<Self::Response, Self::Error>>>; type Future = Pin<Box<FutResult<Self::Response, Self::Error>>>;
@ -190,7 +192,7 @@ where
self.service.poll_ready(cx) self.service.poll_ready(cx)
} }
fn call(&mut self, req: S::Request) -> Self::Future { fn call(&mut self, req: Self::Request) -> Self::Future {
let ip_addr = get_ip(&req.connection_info()); let ip_addr = get_ip(&req.connection_info());
let fut = self let fut = self

View file

@ -18,13 +18,13 @@ log = "0.4.14"
rand = "0.8.4" rand = "0.8.4"
serde = { version = "1.0.126", features = ["derive"] } serde = { version = "1.0.126", features = ["derive"] }
serde_json = { version = "1.0.64", features = ["preserve_order"] } serde_json = { version = "1.0.64", features = ["preserve_order"] }
actix = "0.10.0" actix = "0.12.0"
anyhow = "1.0.41" anyhow = "1.0.41"
diesel = "1.4.7" diesel = "1.4.7"
background-jobs = "0.9.0" background-jobs = "0.9.0"
tokio = "1.7.1" tokio = "1.8.0"
strum = "0.21.0" strum = "0.21.0"
strum_macros = "0.21.1" strum_macros = "0.21.1"
chrono = { version = "0.4.19", features = ["serde"] } chrono = { version = "0.4.19", features = ["serde"] }
actix-web = { version = "3.3.2", default-features = false, features = ["rustls"] } actix-web = { version = "4.0.0-beta.8", default-features = false, features = ["rustls"] }
actix-web-actors = { version = "3.0.0", default-features = false } actix-web-actors = { version = "3.0.0", default-features = false }