diff --git a/Cargo.lock b/Cargo.lock index 0f51b34..fc0f184 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,103 +24,99 @@ dependencies = [ "futures-sink", "log", "pin-project 0.4.28", - "tokio", - "tokio-util", + "tokio 0.2.25", + "tokio-util 0.3.1", ] [[package]] -name = "actix-connect" -version = "2.0.0" +name = "actix-codec" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177837a10863f15ba8d3ae3ec12fac1099099529ed20083a27fdfe247381d0dc" +checksum = "1d5dbeb2d9e51344cb83ca7cc170f1217f9fe25bfc50160e6e200b5c31c1019a" dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", - "actix-utils", - "derive_more", - "either", - "futures-util", - "http", + "bitflags", + "bytes 1.1.0", + "futures-core", + "futures-sink", "log", - "trust-dns-proto", - "trust-dns-resolver", + "pin-project-lite 0.2.7", + "tokio 1.12.0", + "tokio-util 0.6.8", ] [[package]] name = "actix-files" -version = "0.5.0" +version = "0.6.0-beta.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51e8a9146c12fce92a6e4c24b8c4d9b05268130bfd8d61bc587e822c32ce689" +checksum = "5924236735e9f8f35843a79b77d9c5215a52fc66dd80af8c05e40d93984a1657" dependencies = [ - "actix-service", + "actix-http", + "actix-service 2.0.1", + "actix-utils 3.0.0", "actix-web", + "askama_escape", "bitflags", - "bytes 0.5.6", + "bytes 1.1.0", "derive_more", "futures-core", - "futures-util", + "http-range", "log", "mime", "mime_guess", "percent-encoding", - "v_htmlescape", ] [[package]] name = "actix-http" -version = "2.2.1" +version = "3.0.0-beta.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cb8958da437716f3f31b0e76f8daf36554128517d7df37ceba7df00f09622ee" +checksum = "dd38a862fa7fead2b47ee55e550982aba583ebc7365ccf0155b49934ad6f16f9" dependencies = [ - "actix-codec", - "actix-connect", - "actix-rt", - "actix-service", - "actix-threadpool", - "actix-utils", + "actix-codec 0.4.0", + "actix-rt 2.2.0", + "actix-service 2.0.1", + "actix-tls", + "actix-utils 3.0.0", + "ahash", "base64 0.13.0", "bitflags", "brotli2", - "bytes 0.5.6", - "cookie", - "copyless", + "bytes 1.1.0", + "bytestring", "derive_more", - "either", "encoding_rs", "flate2", - "futures-channel", "futures-core", "futures-util", - "fxhash", "h2", "http", "httparse", - "indexmap", "itoa", "language-tags", - "lazy_static", + "local-channel", "log", "mime", + "once_cell", "percent-encoding", "pin-project 1.0.8", - "rand 0.7.3", + "pin-project-lite 0.2.7", + "rand 0.8.4", "regex", "serde", - "serde_json", - "serde_urlencoded", "sha-1", - "slab", + "smallvec", "time 0.2.27", + "tokio 1.12.0", + "zstd", ] [[package]] name = "actix-identity" -version = "0.3.1" +version = "0.4.0-beta.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3263fe74cf505c6f9e18209c89fbdba5569cfd3905a7e907b42aa1c85c18fae5" +checksum = "50b26f099c3b3bd459a547abf391c3cbecdc077df757f56856e31e8cd5757f28" dependencies = [ - "actix-service", + "actix-service 2.0.1", "actix-web", "futures-util", "serde", @@ -134,17 +130,28 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ca8ce00b267af8ccebbd647de0d61e0674b6e61185cc7a592ff88772bed655" dependencies = [ - "quote 1.0.9", + "quote 1.0.10", + "syn", +] + +[[package]] +name = "actix-macros" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2f86cd6857c135e6e9fe57b1619a88d1f94a7df34c00e11fe13e64fd3438837" +dependencies = [ + "quote 1.0.10", "syn", ] [[package]] name = "actix-router" -version = "0.2.7" +version = "0.5.0-beta.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad299af73649e1fc893e333ccf86f377751eb95ff875d095131574c6f43452c" +checksum = "36b95ce0d76d1aa2f98b681702807475ade0f99bd4552546a6843a966d42ea3d" dependencies = [ "bytestring", + "firestorm", "http", "log", "regex", @@ -157,13 +164,24 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "143fcc2912e0d1de2bcf4e2f720d2a60c28652ab4179685a1ee159e0fb3db227" dependencies = [ - "actix-macros", + "actix-macros 0.1.3", "actix-threadpool", "copyless", "futures-channel", "futures-util", "smallvec", - "tokio", + "tokio 0.2.25", +] + +[[package]] +name = "actix-rt" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d7cd957c9ed92288a7c3c96af81fa5291f65247a76a34dac7b6af74e52ba0" +dependencies = [ + "actix-macros 0.2.1", + "futures-core", + "tokio 1.12.0", ] [[package]] @@ -172,18 +190,35 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45407e6e672ca24784baa667c5d32ef109ccdd8d5e0b5ebb9ef8a67f4dfb708e" dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", - "actix-utils", + "actix-codec 0.3.0", + "actix-rt 1.1.1", + "actix-service 1.0.6", + "actix-utils 2.0.0", "futures-channel", "futures-util", "log", - "mio", + "mio 0.6.23", "mio-uds", "num_cpus", "slab", - "socket2", + "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.1", + "actix-utils 3.0.0", + "futures-core", + "log", + "mio 0.7.13", + "num_cpus", + "slab", + "tokio 1.12.0", ] [[package]] @@ -197,17 +232,14 @@ dependencies = [ ] [[package]] -name = "actix-testing" -version = "1.0.1" +name = "actix-service" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47239ca38799ab74ee6a8a94d1ce857014b2ac36f242f70f3f75a66f691e791c" +checksum = "8d3dc6a618b082974a08d7a4781d24d4691cba51500059bfebe6656a61ebfe1e" dependencies = [ - "actix-macros", - "actix-rt", - "actix-server", - "actix-service", - "log", - "socket2", + "futures-core", + "paste", + "pin-project-lite 0.2.7", ] [[package]] @@ -227,14 +259,19 @@ dependencies = [ [[package]] name = "actix-tls" -version = "2.0.0" +version = "3.0.0-beta.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24789b7d7361cf5503a504ebe1c10806896f61e96eca9a7350e23001aca715fb" +checksum = "65b7bb60840962ef0332f7ea01a57d73a24d2cb663708511ff800250bbfef569" dependencies = [ - "actix-codec", - "actix-service", - "actix-utils", - "futures-util", + "actix-codec 0.4.0", + "actix-rt 2.2.0", + "actix-service 2.0.1", + "actix-utils 3.0.0", + "derive_more", + "futures-core", + "http", + "log", + "tokio-util 0.6.8", ] [[package]] @@ -243,9 +280,9 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e9022dec56632d1d7979e59af14f0597a28a830a9c1c7fec8b2327eb9f16b5a" dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", + "actix-codec 0.3.0", + "actix-rt 1.1.1", + "actix-service 1.0.6", "bitflags", "bytes 0.5.6", "either", @@ -258,67 +295,77 @@ dependencies = [ ] [[package]] -name = "actix-web" -version = "3.3.2" +name = "actix-utils" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e641d4a172e7faa0862241a20ff4f1f5ab0ab7c279f00c2d4587b77483477b86" +checksum = "e491cbaac2e7fc788dfff99ff48ef317e23b3cf63dbaf7aaab6418f40f92aa94" dependencies = [ - "actix-codec", + "local-waker", + "pin-project-lite 0.2.7", +] + +[[package]] +name = "actix-web" +version = "4.0.0-beta.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34aa2b23ec9c7c9a799b3cf9258f67c91b18ac3f0f5f484e175c7ac46739bb5" +dependencies = [ + "actix-codec 0.4.0", "actix-http", - "actix-macros", + "actix-macros 0.2.1", "actix-router", - "actix-rt", - "actix-server", - "actix-service", - "actix-testing", - "actix-threadpool", - "actix-tls", - "actix-utils", + "actix-rt 2.2.0", + "actix-server 2.0.0-beta.5", + "actix-service 2.0.1", + "actix-utils 3.0.0", "actix-web-codegen", - "awc", - "bytes 0.5.6", + "ahash", + "bytes 1.1.0", + "cfg-if 1.0.0", + "cookie 0.15.1", "derive_more", + "either", "encoding_rs", - "futures-channel", "futures-core", "futures-util", - "fxhash", + "itoa", + "language-tags", "log", "mime", + "once_cell", + "paste", "pin-project 1.0.8", "regex", "serde", "serde_json", "serde_urlencoded", - "socket2", + "smallvec", + "socket2 0.4.2", "time 0.2.27", - "tinyvec", "url", ] [[package]] name = "actix-web-codegen" -version = "0.4.0" +version = "0.5.0-beta.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad26f77093333e0e7c6ffe54ebe3582d908a104e448723eec6d43d08b07143fb" +checksum = "4a11fd6f322120a74b23327e778ef0a4950b1f44a2b76468a69316a150f5c6dd" dependencies = [ + "actix-router", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] [[package]] name = "actix-web-static-files" version = "3.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b5bced189d398750426bd73719acfa63e2b3707e3804891e82e9cfa189ce9c8" dependencies = [ - "actix-service", + "actix-service 2.0.1", "actix-web", "derive_more", "futures 0.3.17", - "mime_guess", - "path-slash", + "static-files", ] [[package]] @@ -398,15 +445,9 @@ dependencies = [ [[package]] name = "ahash" -version = "0.4.7" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" - -[[package]] -name = "ahash" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "796540673305a66d127804eef19ad696f1f204b8c1025aaca4958c17eab32877" +checksum = "991984e3fd003e7ba02eb724f87a0f997b78677c46c0e91f8424ad7394c9886a" dependencies = [ "getrandom 0.2.3", "once_cell", @@ -470,10 +511,16 @@ dependencies = [ ] [[package]] -name = "assert_cmd" -version = "1.0.8" +name = "askama_escape" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c98233c6673d8601ab23e77eb38f999c51100d46c5703b17288c57fddf3a1ffe" +checksum = "90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb" + +[[package]] +name = "assert_cmd" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e996dc7940838b7ef1096b882e29ec30a3149a3a443cdc8dba19ed382eca1fe2" dependencies = [ "bstr", "doc-comment", @@ -490,7 +537,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] @@ -526,30 +573,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" -[[package]] -name = "awc" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b381e490e7b0cfc37ebc54079b0413d8093ef43d14a4e4747083f7fa47a9e691" -dependencies = [ - "actix-codec", - "actix-http", - "actix-rt", - "actix-service", - "base64 0.13.0", - "bytes 0.5.6", - "cfg-if 1.0.0", - "derive_more", - "futures-core", - "log", - "mime", - "percent-encoding", - "rand 0.7.3", - "serde", - "serde_json", - "serde_urlencoded", -] - [[package]] name = "backtrace" version = "0.3.61" @@ -580,12 +603,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - [[package]] name = "base64" version = "0.13.0" @@ -660,21 +677,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "buf-min" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa17aa1cf56bdd6bb30518767d00e58019d326f3f05d8c3e0730b549d332ea83" -dependencies = [ - "bytes 0.5.6", -] - -[[package]] -name = "build_const" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7" - [[package]] name = "bumpalo" version = "3.7.1" @@ -714,33 +716,11 @@ dependencies = [ "bytes 1.1.0", ] -[[package]] -name = "cargo-platform" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714a157da7991e23d90686b9524b9e12e0407a108647f52e9328f4b3d51ac7f" -dependencies = [ - "cargo-platform", - "semver 0.11.0", - "semver-parser 0.10.2", - "serde", - "serde_json", -] - [[package]] name = "cc" -version = "1.0.70" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0" +checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" dependencies = [ "jobserver", ] @@ -766,6 +746,16 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "change-detection" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "159fa412eae48a1d94d0b9ecdb85c97ce56eb2a347c62394d3fdbf221adabc1a" +dependencies = [ + "path-matchers", + "path-slash", +] + [[package]] name = "checked_int_cast" version = "1.0.0" @@ -801,7 +791,7 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ef0c1bcf2e99c649104bd7a7012d8f8802684400e03db0ec0af48583c6fa0e4" dependencies = [ - "glob", + "glob 0.2.11", "libc", "libloading", ] @@ -863,6 +853,17 @@ name = "cookie" version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951" +dependencies = [ + "percent-encoding", + "time 0.2.27", + "version_check 0.9.3", +] + +[[package]] +name = "cookie" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f1c7727e460397e56abc4bddc1d49e07a1ad78fc98eb2e1c8f032a58a2f80d" dependencies = [ "aes-gcm", "base64 0.13.0", @@ -871,6 +872,7 @@ dependencies = [ "percent-encoding", "rand 0.8.4", "sha2", + "subtle", "time 0.2.27", "version_check 0.9.3", ] @@ -881,7 +883,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3818dfca4b0cb5211a659bbcbb94225b7127407b2b135e650d717bfb78ab10d3" dependencies = [ - "cookie", + "cookie 0.14.4", "idna", "log", "publicsuffix", @@ -930,13 +932,19 @@ checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" [[package]] name = "crc" -version = "1.8.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb" +checksum = "10c2722795460108a7872e1cd933a85d6ec38abc4baecad51028f702da28889f" dependencies = [ - "build_const", + "crc-catalog", ] +[[package]] +name = "crc-catalog" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccaeedb56da03b09f598226e25e80088cb4cd25f316e6e4df7d695f0feeb1403" + [[package]] name = "crc32fast" version = "1.2.1" @@ -1046,7 +1054,7 @@ checksum = "40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df" dependencies = [ "convert_case", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "rustc_version 0.3.3", "syn", ] @@ -1108,18 +1116,6 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "enum-as-inner" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595" -dependencies = [ - "heck", - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn", -] - [[package]] name = "enum-map" version = "1.1.1" @@ -1137,7 +1133,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84278eae0af6e34ff6c1db44c11634a694aafac559ff3080e4db4e4ac35907aa" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] @@ -1171,11 +1167,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", "synstructure", ] +[[package]] +name = "firestorm" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31586bda1b136406162e381a3185a506cdfc1631708dd40cba2f6628d8634499" + [[package]] name = "flate2" version = "1.0.22" @@ -1209,9 +1211,9 @@ dependencies = [ [[package]] name = "fluent" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc4d7142005e2066e4844caf9f271b93fc79836ee96ec85057b8c109687e629a" +checksum = "61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7" dependencies = [ "fluent-bundle 0.15.1", "unic-langid", @@ -1283,7 +1285,7 @@ dependencies = [ "ignore", "once_cell", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", "unic-langid", ] @@ -1435,6 +1437,17 @@ dependencies = [ "futures-util", ] +[[package]] +name = "futures-intrusive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62007592ac46aa7c2b6416f7deb9a8a8f63a01e0f1d6e1787d5630170db2b63e" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + [[package]] name = "futures-io" version = "0.3.17" @@ -1450,7 +1463,7 @@ dependencies = [ "autocfg 1.0.1", "proc-macro-hack", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] @@ -1487,15 +1500,6 @@ dependencies = [ "slab", ] -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - [[package]] name = "generic-array" version = "0.14.4" @@ -1573,6 +1577,12 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" +[[package]] +name = "glob" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" + [[package]] name = "globset" version = "0.4.8" @@ -1624,11 +1634,11 @@ dependencies = [ [[package]] name = "h2" -version = "0.2.7" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" +checksum = "6c06815895acec637cd6ed6e9662c935b866d20a106f8361892893a7d9234964" dependencies = [ - "bytes 0.5.6", + "bytes 1.1.0", "fnv", "futures-core", "futures-sink", @@ -1636,10 +1646,9 @@ dependencies = [ "http", "indexmap", "slab", - "tokio", - "tokio-util", + "tokio 1.12.0", + "tokio-util 0.6.8", "tracing", - "tracing-futures", ] [[package]] @@ -1657,23 +1666,23 @@ name = "hashbrown" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" -dependencies = [ - "ahash 0.4.7", -] [[package]] name = "hashbrown" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash", +] [[package]] name = "hashlink" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d99cf782f0dc4372d26846bec3de7804ceb5df083c2d4462c0b8d2330e894fa8" +checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" dependencies = [ - "hashbrown 0.9.1", + "hashbrown 0.11.2", ] [[package]] @@ -1720,17 +1729,6 @@ dependencies = [ "digest", ] -[[package]] -name = "hostname" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" -dependencies = [ - "libc", - "match_cfg", - "winapi 0.3.9", -] - [[package]] name = "http" version = "0.2.5" @@ -1744,14 +1742,21 @@ dependencies = [ [[package]] name = "http-body" -version = "0.3.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" +checksum = "399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5" dependencies = [ - "bytes 0.5.6", + "bytes 1.1.0", "http", + "pin-project-lite 0.2.7", ] +[[package]] +name = "http-range" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eee9694f83d9b7c09682fdb32213682939507884e5bcf227be9aff5d644b90dc" + [[package]] name = "httparse" version = "1.5.1" @@ -1760,9 +1765,9 @@ checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" [[package]] name = "httpdate" -version = "0.3.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47" +checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" [[package]] name = "humantime" @@ -1775,11 +1780,11 @@ dependencies = [ [[package]] name = "hyper" -version = "0.13.10" +version = "0.14.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb" +checksum = "15d1cfb9e4f68655fa04c01f59edb405b6074a0f7118ea881e5026e4a1cd8593" dependencies = [ - "bytes 0.5.6", + "bytes 1.1.0", "futures-channel", "futures-core", "futures-util", @@ -1789,9 +1794,9 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project 1.0.8", - "socket2", - "tokio", + "pin-project-lite 0.2.7", + "socket2 0.4.2", + "tokio 1.12.0", "tower-service", "tracing", "want", @@ -1799,15 +1804,15 @@ dependencies = [ [[package]] name = "hyper-tls" -version = "0.4.3" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d979acc56dcb5b8dddba3917601745e877576475aa046df3226eabdecef78eed" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ - "bytes 0.5.6", + "bytes 1.1.0", "hyper", "native-tls", - "tokio", - "tokio-tls", + "tokio 1.12.0", + "tokio-native-tls", ] [[package]] @@ -1860,12 +1865,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.7.0" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" dependencies = [ "autocfg 1.0.1", - "hashbrown 0.11.2", + "hashbrown 0.9.1", ] [[package]] @@ -1912,18 +1917,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ipconfig" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" -dependencies = [ - "socket2", - "widestring", - "winapi 0.3.9", - "winreg 0.6.2", -] - [[package]] name = "ipnet" version = "2.3.1" @@ -1984,9 +1977,9 @@ dependencies = [ [[package]] name = "language-tags" -version = "0.2.2" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" +checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" [[package]] name = "lazy_static" @@ -2012,9 +2005,9 @@ dependencies = [ [[package]] name = "libsqlite3-sys" -version = "0.20.1" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d31059f22935e6c31830db5249ba2b7ecd54fd73a9909286f0a67aa55c2fbd" +checksum = "290b64917f8b0cb885d9de0f9959fe1f775d7fa12f1da2db9001c1c8ab60f89d" dependencies = [ "cc", "pkg-config", @@ -2022,10 +2015,22 @@ dependencies = [ ] [[package]] -name = "linked-hash-map" -version = "0.5.4" +name = "local-channel" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +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]] name = "lock_api" @@ -2045,21 +2050,6 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - [[package]] name = "matchers" version = "0.0.1" @@ -2108,9 +2098,9 @@ dependencies = [ [[package]] name = "minimal-lexical" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c835948974f68e0bd58636fc6c5b1fbff7b297e3046f11b3b3c18bbac012c6d" +checksum = "9c64630dcdd71f1a64c435f54885086a0de5d6a12d104d69b165fb7d5286d677" [[package]] name = "miniz_oxide" @@ -2144,12 +2134,25 @@ dependencies = [ "kernel32-sys", "libc", "log", - "miow", + "miow 0.2.2", "net2", "slab", "winapi 0.2.8", ] +[[package]] +name = "mio" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16" +dependencies = [ + "libc", + "log", + "miow 0.3.7", + "ntapi", + "winapi 0.3.9", +] + [[package]] name = "mio-uds" version = "0.6.8" @@ -2158,7 +2161,7 @@ checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" dependencies = [ "iovec", "libc", - "mio", + "mio 0.6.23", ] [[package]] @@ -2173,6 +2176,15 @@ dependencies = [ "ws2_32-sys", ] +[[package]] +name = "miow" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +dependencies = [ + "winapi 0.3.9", +] + [[package]] name = "nanorand" version = "0.6.1" @@ -2238,6 +2250,15 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" +[[package]] +name = "ntapi" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" +dependencies = [ + "winapi 0.3.9", +] + [[package]] name = "num-integer" version = "0.1.44" @@ -2345,25 +2366,9 @@ dependencies = [ [[package]] name = "opentelemetry" -version = "0.13.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91cea1dfd50064e52db033179952d18c770cbc5dfefc8eba45d619357ba3914" -dependencies = [ - "async-trait", - "futures 0.3.17", - "js-sys", - "lazy_static", - "percent-encoding", - "pin-project 1.0.8", - "rand 0.8.4", - "thiserror", -] - -[[package]] -name = "opentelemetry" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "492848ff47f11b7f9de0443b404e2c5775f695e1af6b7076ca25f999581d547a" +checksum = "e1cf9b1c4e9a6c4de793c632496fa490bdc0e1eea73f0c91394f7b6990935d22" dependencies = [ "async-trait", "crossbeam-channel", @@ -2378,17 +2383,27 @@ dependencies = [ [[package]] name = "opentelemetry-jaeger" -version = "0.12.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd4984441954f9ebbe3eebdfc6fd4fa95be6400d403171228779b949f3cd918" +checksum = "db22f492873ea037bc267b35a0e8e4fb846340058cb7c864efe3d0bf23684593" dependencies = [ "async-trait", "lazy_static", - "opentelemetry 0.13.0", + "opentelemetry", + "opentelemetry-semantic-conventions", "thiserror", "thrift", ] +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffeac823339e8b0f27b961f4385057bf9f97f2863bc745bd015fd6091f2270e9" +dependencies = [ + "opentelemetry", +] + [[package]] name = "ordered-float" version = "1.1.1" @@ -2427,7 +2442,7 @@ dependencies = [ "Inflector", "proc-macro-error", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] @@ -2440,7 +2455,7 @@ dependencies = [ "Inflector", "proc-macro-error", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] @@ -2469,6 +2484,21 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "paste" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58" + +[[package]] +name = "path-matchers" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36cd9b72a47679ec193a5f0229d9ab686b7bd45e1fbc59ccf953c9f3d83f7b2b" +dependencies = [ + "glob 0.3.0", +] + [[package]] name = "path-slash" version = "0.1.4" @@ -2521,7 +2551,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] @@ -2532,7 +2562,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] @@ -2591,9 +2621,9 @@ checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" [[package]] name = "predicates" -version = "2.0.2" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c143348f141cc87aab5b950021bac6145d0e5ae754b0591de23244cee42c9308" +checksum = "5c6ce811d0b2e103743eec01db1c50612221f173084ce2f7941053e94b6bb474" dependencies = [ "difflib", "float-cmp", @@ -2611,12 +2641,12 @@ checksum = "57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451" [[package]] name = "predicates-tree" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7dd0fd014130206c9352efbdc92be592751b2b9274dff685348341082c6ea3d" +checksum = "338c7be2905b732ae3984a2f40032b5e94fd8f52505b186c7d4d68d193445df7" dependencies = [ "predicates-core", - "treeline", + "termtree", ] [[package]] @@ -2627,7 +2657,7 @@ checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", "version_check 0.9.3", ] @@ -2639,7 +2669,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "version_check 0.9.3", ] @@ -2675,12 +2705,12 @@ dependencies = [ [[package]] name = "pslink" -version = "0.4.3" +version = "0.4.4" dependencies = [ "actix-files", "actix-identity", - "actix-rt", - "actix-server", + "actix-rt 2.2.0", + "actix-server 1.0.4", "actix-web", "actix-web-static-files", "argonautica", @@ -2693,7 +2723,8 @@ dependencies = [ "fluent-langneg", "fluent-templates", "image", - "opentelemetry 0.14.0", + "indexmap", + "opentelemetry", "opentelemetry-jaeger", "predicates", "pslink-shared", @@ -2703,10 +2734,11 @@ dependencies = [ "rpassword", "serde", "sqlx", + "static-files", "tempdir", "test_bin", "thiserror", - "tokio", + "tokio 1.12.0", "tracing", "tracing-actix-web", "tracing-opentelemetry", @@ -2715,10 +2747,10 @@ dependencies = [ [[package]] name = "pslink-app" -version = "0.4.3" +version = "0.4.4" dependencies = [ "enum-map", - "fluent 0.15.0", + "fluent 0.16.0", "image", "pslink-locales", "pslink-shared", @@ -2733,9 +2765,9 @@ dependencies = [ [[package]] name = "pslink-locales" -version = "0.4.3" +version = "0.4.4" dependencies = [ - "fluent 0.15.0", + "fluent 0.16.0", "pslink-shared", "serde", "unic-langid", @@ -2743,7 +2775,7 @@ dependencies = [ [[package]] name = "pslink-shared" -version = "0.4.3" +version = "0.4.4" dependencies = [ "chrono", "enum-map", @@ -2801,9 +2833,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" dependencies = [ "proc-macro2 1.0.29", ] @@ -3098,13 +3130,13 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.10.10" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0718f81a8e14c4dbb3b34cf23dc6aaf9ab8a0dfec160c534b3dbca1aaa21f47c" +checksum = "51c732d463dd300362ffb44b7b125f299c23d2990411a4253824630ebc7467fb" dependencies = [ "base64 0.13.0", - "bytes 0.5.6", - "cookie", + "bytes 1.1.0", + "cookie 0.14.4", "cookie_store", "encoding_rs", "futures-core", @@ -3118,7 +3150,6 @@ dependencies = [ "lazy_static", "log", "mime", - "mime_guess", "native-tls", "percent-encoding", "pin-project-lite 0.2.7", @@ -3126,23 +3157,13 @@ dependencies = [ "serde_json", "serde_urlencoded", "time 0.2.27", - "tokio", - "tokio-tls", + "tokio 1.12.0", + "tokio-native-tls", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.7.0", -] - -[[package]] -name = "resolv-conf" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" -dependencies = [ - "hostname", - "quick-error", + "winreg", ] [[package]] @@ -3202,11 +3223,11 @@ dependencies = [ [[package]] name = "rustls" -version = "0.18.1" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" +checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" dependencies = [ - "base64 0.12.3", + "base64 0.13.0", "log", "ring", "sct", @@ -3296,7 +3317,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b599be9cc57456f4b7fc99b8abfb154d4819f7b6c147e80be5580663dad4536" dependencies = [ "console_error_panic_hook", - "cookie", + "cookie 0.14.4", "dbg", "enclose", "futures 0.3.17", @@ -3331,7 +3352,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" dependencies = [ "semver-parser 0.10.2", - "serde", ] [[package]] @@ -3365,7 +3385,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] @@ -3451,9 +3471,9 @@ checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590" [[package]] name = "smallvec" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" +checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" [[package]] name = "snafu" @@ -3472,7 +3492,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1508efa03c362e23817f96cde18abed596a25219a8b2c66e8db33c03543d315b" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] @@ -3487,6 +3507,16 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "socket2" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" +dependencies = [ + "libc", + "winapi 0.3.9", +] + [[package]] name = "spin" version = "0.5.2" @@ -3515,9 +3545,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.4.2" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1a98f9bf17b690f026b6fec565293a995b46dfbd6293debcb654dcffd2d1b34" +checksum = "0e4b94ab0f8c21ee4899b93b06451ef5d965f1a355982ee73684338228498440" dependencies = [ "sqlx-core", "sqlx-macros", @@ -3525,15 +3555,15 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.4.2" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36bb6a2ca3345a86493bc3b71eabc2c6c16a8bb1aa476cf5303bee27f67627d7" +checksum = "ec28b91a01e1fe286d6ba66f68289a2286df023fc97444e1fd86c2fd6d5dc026" dependencies = [ - "ahash 0.6.3", + "ahash", "atoi", "bitflags", "byteorder", - "bytes 0.5.6", + "bytes 1.1.0", "chrono", "crc", "crossbeam-channel", @@ -3542,6 +3572,7 @@ dependencies = [ "either", "futures-channel", "futures-core", + "futures-intrusive", "futures-util", "hashlink", "hex", @@ -3561,6 +3592,7 @@ dependencies = [ "sqlx-rt", "stringprep", "thiserror", + "tokio-stream", "url", "webpki", "webpki-roots", @@ -3569,19 +3601,18 @@ dependencies = [ [[package]] name = "sqlx-macros" -version = "0.4.2" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5ada8b3b565331275ce913368565a273a74faf2a34da58c4dc010ce3286844" +checksum = "4dc33c35d54774eed73d54568d47a6ac099aed8af5e1556a017c131be88217d5" dependencies = [ - "cargo_metadata", "dotenv", "either", "futures 0.3.17", "heck", "hex", - "lazy_static", + "once_cell", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "serde", "serde_json", "sha2", @@ -3593,14 +3624,13 @@ dependencies = [ [[package]] name = "sqlx-rt" -version = "0.2.0" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63fc5454c9dd7aaea3a0eeeb65ca40d06d0d8e7413a8184f7c3a3ffa5056190b" +checksum = "0d1bd069de53442e7a320f525a6d4deb8bb0621ac7a55f7eccbc2b58b57f43d0" dependencies = [ - "actix-rt", - "actix-threadpool", + "actix-rt 2.2.0", "once_cell", - "tokio", + "tokio 1.12.0", "tokio-rustls", ] @@ -3619,6 +3649,17 @@ dependencies = [ "version_check 0.9.3", ] +[[package]] +name = "static-files" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64712ea1e3e140010e1d9605872ba205afa2ab5bd38191cc6ebd248ae1f6a06b" +dependencies = [ + "change-detection", + "mime_guess", + "path-slash", +] + [[package]] name = "stdweb" version = "0.4.20" @@ -3640,7 +3681,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "serde", "serde_derive", "syn", @@ -3654,7 +3695,7 @@ checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" dependencies = [ "base-x", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "serde", "serde_derive", "serde_json", @@ -3686,19 +3727,19 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "strum" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" +checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e" [[package]] name = "strum_macros" -version = "0.21.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" +checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb" dependencies = [ "heck", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] @@ -3710,23 +3751,23 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.77" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5239bc68e0fef57495900cfea4e8dc75596d9a319d7e16b1e0a440d24e6fe0a0" +checksum = "d010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "unicode-xid 0.2.2", ] [[package]] name = "synstructure" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "474aaa926faa1603c40b7885a9eaea29b444d1cb2850cb7c0e37bb1a4182f4fa" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", "unicode-xid 0.2.2", ] @@ -3764,6 +3805,12 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "termtree" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78fbf2dd23e79c28ccfa2472d3e6b3b189866ffef1aeb91f17c2d968b6586378" + [[package]] name = "test_bin" version = "0.3.0" @@ -3781,21 +3828,21 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.29" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.29" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] @@ -3884,7 +3931,7 @@ checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f" dependencies = [ "proc-macro-hack", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "standback", "syn", ] @@ -3917,53 +3964,67 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092" dependencies = [ "bytes 0.5.6", - "fnv", "futures-core", "iovec", "lazy_static", "libc", - "memchr", - "mio", + "mio 0.6.23", "mio-uds", - "num_cpus", "pin-project-lite 0.1.12", "signal-hook-registry", "slab", - "tokio-macros", "winapi 0.3.9", ] [[package]] -name = "tokio-macros" -version = "0.2.6" +name = "tokio" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a" +checksum = "c2c2416fdedca8443ae44b4527de1ea633af61d8f7169ffa6e72c5b53d24efcc" dependencies = [ - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn", + "autocfg 1.0.1", + "bytes 1.1.0", + "libc", + "memchr", + "mio 0.7.13", + "num_cpus", + "once_cell", + "parking_lot", + "pin-project-lite 0.2.7", + "signal-hook-registry", + "winapi 0.3.9", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +dependencies = [ + "native-tls", + "tokio 1.12.0", ] [[package]] name = "tokio-rustls" -version = "0.14.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a" +checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" dependencies = [ - "futures-core", "rustls", - "tokio", + "tokio 1.12.0", "webpki", ] [[package]] -name = "tokio-tls" -version = "0.3.1" +name = "tokio-stream" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a70f4fcd7b3b24fb194f837560168208f669ca8cb70d0c4b862944452396343" +checksum = "7b2f3f698253f03119ac0102beaa64f67a67e08074d03a22d18784104543727f" dependencies = [ - "native-tls", - "tokio", + "futures-core", + "pin-project-lite 0.2.7", + "tokio 1.12.0", ] [[package]] @@ -3977,7 +4038,21 @@ dependencies = [ "futures-sink", "log", "pin-project-lite 0.1.12", - "tokio", + "tokio 0.2.25", +] + +[[package]] +name = "tokio-util" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d3725d3efa29485e87311c5b699de63cde14b00ed4d256b8318aa30ca452cd" +dependencies = [ + "bytes 1.1.0", + "futures-core", + "futures-sink", + "log", + "pin-project-lite 0.2.7", + "tokio 1.12.0", ] [[package]] @@ -3988,9 +4063,9 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] name = "tracing" -version = "0.1.28" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f96e095c0c82419687c20ddf5cb3eadb61f4e1405923c9dc8e53a1adacbda8" +checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" dependencies = [ "cfg-if 1.0.0", "log", @@ -4001,12 +4076,12 @@ dependencies = [ [[package]] name = "tracing-actix-web" -version = "0.2.1" +version = "0.4.0-beta.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc36fc2f840643e49d220d07cd7ca81bc31c7f6df25f164d4257971533dab354" +checksum = "2ad2a2baadea06db0c8108ba3100c9a0d0cedc30a798d4ef032737420fed16dd" dependencies = [ "actix-web", - "futures 0.3.17", + "pin-project 1.0.8", "tracing", "tracing-futures", "uuid", @@ -4014,20 +4089,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.16" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98863d0dd09fa59a1b79c6750ad80dbda6b75f4e71c437a6a1a8cb91a8bcbd77" +checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", ] [[package]] name = "tracing-core" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46125608c26121c81b0c6d693eab5a420e416da7e43c426d2e8f7df8da8a3acf" +checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4" dependencies = [ "lazy_static", ] @@ -4055,11 +4130,11 @@ dependencies = [ [[package]] name = "tracing-opentelemetry" -version = "0.12.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99003208b647dae59dcefc49c98aecaa3512fbc29351685d4b9ef23a9218458e" +checksum = "599f388ecb26b28d9c1b2e4437ae019a7b336018b45ed911458cd9ebf91129f6" dependencies = [ - "opentelemetry 0.13.0", + "opentelemetry", "tracing", "tracing-core", "tracing-log", @@ -4078,9 +4153,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.2.24" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdd0568dbfe3baf7048b7908d2b32bca0d81cd56bec6d2a8f894b01d74f86be3" +checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" dependencies = [ "ansi_term 0.12.1", "chrono", @@ -4098,51 +4173,6 @@ dependencies = [ "tracing-serde", ] -[[package]] -name = "treeline" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41" - -[[package]] -name = "trust-dns-proto" -version = "0.19.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cad71a0c0d68ab9941d2fb6e82f8fb2e86d9945b94e1661dd0aaea2b88215a9" -dependencies = [ - "async-trait", - "cfg-if 1.0.0", - "enum-as-inner", - "futures 0.3.17", - "idna", - "lazy_static", - "log", - "rand 0.7.3", - "smallvec", - "thiserror", - "tokio", - "url", -] - -[[package]] -name = "trust-dns-resolver" -version = "0.19.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "710f593b371175db53a26d0b38ed2978fafb9e9e8d3868b1acd753ea18df0ceb" -dependencies = [ - "cfg-if 0.1.10", - "futures 0.3.17", - "ipconfig", - "lazy_static", - "log", - "lru-cache", - "resolv-conf", - "smallvec", - "thiserror", - "tokio", - "trust-dns-proto", -] - [[package]] name = "try-lock" version = "0.2.3" @@ -4208,7 +4238,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29396ffd97e27574c3e01368b1a64267d3064969e4848e2e130ff668be9daa9f" dependencies = [ "proc-macro-hack", - "quote 1.0.9", + "quote 1.0.10", "syn", "unic-langid-impl", ] @@ -4224,9 +4254,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246f4c42e67e7a4e3c6106ff716a5d067d4132a642840b242e357e468a2a0085" +checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" [[package]] name = "unicode-normalization" @@ -4304,38 +4334,6 @@ dependencies = [ "getrandom 0.2.3", ] -[[package]] -name = "v_escape" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e0ab5fab1db278a9413d2ea794cb66f471f898c5b020c3c394f6447625d9d4" -dependencies = [ - "buf-min", - "v_escape_derive", -] - -[[package]] -name = "v_escape_derive" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c860ad1273f4eee7006cee05db20c9e60e5d24cba024a32e1094aa8e574f3668" -dependencies = [ - "nom 4.2.3", - "proc-macro2 1.0.29", - "quote 1.0.9", - "syn", -] - -[[package]] -name = "v_htmlescape" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f9a8af610ad6f7fc9989c9d2590d9764bc61f294884e9ee93baa58795174572" -dependencies = [ - "cfg-if 1.0.0", - "v_escape", -] - [[package]] name = "vcpkg" version = "0.2.15" @@ -4424,7 +4422,7 @@ dependencies = [ "lazy_static", "log", "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", "wasm-bindgen-shared", ] @@ -4447,7 +4445,7 @@ version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" dependencies = [ - "quote 1.0.9", + "quote 1.0.10", "wasm-bindgen-macro-support", ] @@ -4458,7 +4456,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" dependencies = [ "proc-macro2 1.0.29", - "quote 1.0.9", + "quote 1.0.10", "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", @@ -4517,20 +4515,14 @@ dependencies = [ [[package]] name = "whoami" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cabfe22aa4936611957e0b5ad9ed0472ac52b2bfb9aedac4a3f3a91a03bd1ff0" +checksum = "483a59fee1a93fec90eb08bc2eb4315ef10f4ebc478b3a5fadc969819cb66117" dependencies = [ "wasm-bindgen", "web-sys", ] -[[package]] -name = "widestring" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" - [[package]] name = "winapi" version = "0.2.8" @@ -4574,15 +4566,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "winreg" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "winreg" version = "0.7.0" @@ -4601,3 +4584,32 @@ dependencies = [ "winapi 0.2.8", "winapi-build", ] + +[[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", +] diff --git a/app/Cargo.toml b/app/Cargo.toml index 9be1a03..2171c29 100644 --- a/app/Cargo.toml +++ b/app/Cargo.toml @@ -8,7 +8,7 @@ keywords = ["url", "link", "webpage", "actix", "web"] license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/enaut/pslink/" -version = "0.4.3" +version = "0.4.4" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -16,12 +16,12 @@ version = "0.4.3" crate-type = ["cdylib", "rlib"] [dependencies] -fluent = "0.15" +fluent = "0.16" seed = "0.8" serde = {version="1.0", features = ["derive"]} unic-langid = "0.9" -strum_macros = "0.21" -strum = "0.21" +strum_macros = "0.22" +strum = "0.22" enum-map = "1" qrcode = "0.12" image = "0.23" diff --git a/locales/Cargo.toml b/locales/Cargo.toml index d08e897..0fd9278 100644 --- a/locales/Cargo.toml +++ b/locales/Cargo.toml @@ -8,13 +8,13 @@ keywords = ["url", "link", "webpage", "actix", "web"] license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/enaut/pslink/" -version = "0.4.3" +version = "0.4.4" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -fluent = "0.15" +fluent = "0.16" serde = {version="1.0", features = ["derive"]} unic-langid = "0.9" diff --git a/pslink/Cargo.toml b/pslink/Cargo.toml index 127c167..931c3af 100644 --- a/pslink/Cargo.toml +++ b/pslink/Cargo.toml @@ -9,33 +9,36 @@ license = "MIT OR Apache-2.0" name = "pslink" readme = "README.md" repository = "https://github.com/enaut/pslink/" -version = "0.4.3" +version = "0.4.4" [build-dependencies] -actix-web-static-files = "3.0" +actix-web-static-files = { path = "../../actix-web-static-files" } +static-files = { version = "0.2", default-features = false } [dependencies] -actix-identity = "0.3" -actix-rt = "1.1" -actix-web = "3" -actix-web-static-files = "3" -actix-files = "0.5" +actix-identity = "0.4.0-beta.2" +actix-rt = "2.2" +actix-web = "4.0.0-beta.9" +actix-web-static-files = { path = "../../actix-web-static-files" } +actix-files = "0.6.0-beta.7" argonautica = "0.2" clap = "2.33" dotenv = "0.15.0" fluent-langneg = "0.13" image = "0.23" -opentelemetry = "0.14" -opentelemetry-jaeger = "0.12" +opentelemetry = "0.16" +opentelemetry-jaeger = "0.15" qrcode = "0.12" rand = "0.8" rpassword = "5.0" serde = {version="1.0", features = ["derive"]} +static-files = { version = "0.2", default-features = false } thiserror = "1.0" -tracing-actix-web = "0.2.1" -tracing-opentelemetry = "0.12" +tracing-actix-web = "0.4.0-beta.13" +tracing-opentelemetry = "0.15" async-trait = "0.1" enum-map = {version="1", features = ["serde"]} +indexmap = "~1.6.2" pslink-shared = {version="0.4", path = "../shared" } @@ -48,7 +51,7 @@ version = "0.6" [dependencies.sqlx] features = ["sqlite", "macros", "runtime-actix-rustls", "chrono", "migrate", "offline"] -version = "0.4" +version = "0.5" [dependencies.tracing] features = ["log"] @@ -62,11 +65,11 @@ version = "0.2.17" actix-server = "1.0.4" tempdir = "0.3" test_bin = "0.3" -tokio = "0.2.25" -assert_cmd = "1.0.7" +tokio = "1.12" +assert_cmd = "2.0" predicates = "2.0.0" [dev-dependencies.reqwest] features = ["cookies", "json"] -version = "0.10.10" +version = "0.11" diff --git a/pslink/build.rs b/pslink/build.rs index c688c78..ed7307a 100644 --- a/pslink/build.rs +++ b/pslink/build.rs @@ -1,4 +1,4 @@ -use actix_web_static_files::resource_dir; +use static_files::resource_dir; fn main() { resource_dir("./static/").build().unwrap(); diff --git a/pslink/src/bin/pslink/main.rs b/pslink/src/bin/pslink/main.rs index 857a35b..e119a05 100644 --- a/pslink/src/bin/pslink/main.rs +++ b/pslink/src/bin/pslink/main.rs @@ -5,6 +5,8 @@ mod views; use actix_files::Files; use actix_identity::{CookieIdentityPolicy, IdentityService}; +use actix_web::middleware::Compat; +use actix_web::web::Data; use actix_web::{web, App, HttpServer}; use pslink::ServerConfig; @@ -32,7 +34,7 @@ pub fn get_subscriber(name: &str, env_filter: &str) -> impl Subscriber + Send + let otel_layer = OpenTelemetryLayer::new(tracer); // Use the tracing subscriber `Registry`, or any other subscriber - // that impls `LookupSpan` + // that implements `LookupSpan` Registry::default() .with(otel_layer) .with(env_filter) @@ -105,9 +107,10 @@ pub async fn webservice( let server = HttpServer::new(move || { let generated = generate(); + let logger = Compat::new(TracingLogger::default()); App::new() - .data(server_config.clone()) - .wrap(TracingLogger) + .app_data(Data::new(server_config.clone())) + .wrap(logger) .wrap(IdentityService::new( CookieIdentityPolicy::new(&[0; 32]) .name("auth-cookie") diff --git a/pslink/src/bin/pslink/views.rs b/pslink/src/bin/pslink/views.rs index 44ad27f..5489129 100644 --- a/pslink/src/bin/pslink/views.rs +++ b/pslink/src/bin/pslink/views.rs @@ -30,13 +30,13 @@ use pslink::ServerError; #[instrument] fn redirect_builder(target: &str) -> HttpResponse { HttpResponse::SeeOther() - .set(CacheControl(vec![ + .insert_header(CacheControl(vec![ CacheDirective::NoCache, CacheDirective::NoStore, CacheDirective::MustRevalidate, ])) - .set(Expires(SystemTime::now().into())) - .set_header(actix_web::http::header::LOCATION, target) + .insert_header(Expires(SystemTime::now().into())) + .insert_header((actix_web::http::header::LOCATION, target)) .body(format!("Redirect to {}", target)) } @@ -112,7 +112,7 @@ pub async fn index_json( ) -> Result { info!("Listing Links to Json api"); match queries::list_all_allowed(&id, &config, form.0).await { - Ok(links) => Ok(HttpResponse::Ok().json2(&links.list)), + Ok(links) => Ok(HttpResponse::Ok().json(&links.list)), Err(e) => { error!("Failed to access database: {:?}", e); warn!("Not logged in - redirecting to login page"); @@ -129,7 +129,7 @@ pub async fn index_users_json( ) -> Result { info!("Listing Users to Json api"); if let Ok(users) = queries::list_users(&id, &config, form.0).await { - Ok(HttpResponse::Ok().json2(&users.list)) + Ok(HttpResponse::Ok().json(&users.list)) } else { Ok(redirect_builder("/admin/login")) } @@ -145,7 +145,7 @@ pub async fn get_logged_user_json( Ok(HttpResponse::Unauthorized().finish()) } RoleGuard::Regular { user } | RoleGuard::Admin { user } => { - Ok(HttpResponse::Ok().json2(&user)) + Ok(HttpResponse::Ok().json(&user)) } } } @@ -156,7 +156,7 @@ pub async fn download_png( config: web::Data, link_code: web::Path, ) -> Result { - match queries::get_link(&id, &link_code.0, &config).await { + match queries::get_link(&id, &link_code, &config).await { Ok(query) => { let qr = QrCode::with_error_correction_level( &format!("http://{}/{}", config.public_url, &query.item.code), @@ -169,7 +169,9 @@ pub async fn download_png( .write_to(&mut temporary_data, ImageOutputFormat::Png) .unwrap(); let image_data = temporary_data.into_inner(); - Ok(HttpResponse::Ok().set(ContentType::png()).body(image_data)) + Ok(HttpResponse::Ok() + .insert_header(ContentType::png()) + .body(image_data)) } Err(e) => Err(e), } @@ -183,7 +185,7 @@ pub async fn process_create_user_json( ) -> Result { info!("Listing Users to Json api"); match queries::create_user(&id, data.into_inner(), &config).await { - Ok(item) => Ok(HttpResponse::Ok().json2(&Status::Success(Message { + Ok(item) => Ok(HttpResponse::Ok().json(&Status::Success(Message { message: format!("Successfully saved user: {}", item.item.username), }))), Err(e) => Err(e), @@ -198,7 +200,7 @@ pub async fn process_update_user_json( ) -> Result { info!("Listing Users to Json api"); match queries::update_user(&id, &form, &config).await { - Ok(item) => Ok(HttpResponse::Ok().json2(&Status::Success(Message { + Ok(item) => Ok(HttpResponse::Ok().json(&Status::Success(Message { message: format!("Successfully saved user: {}", item.item.username), }))), Err(e) => Err(e), @@ -212,7 +214,7 @@ pub async fn toggle_admin( id: Identity, ) -> Result { let update = queries::toggle_admin(&id, user.id, &config).await?; - Ok(HttpResponse::Ok().json2(&Status::Success(Message { + Ok(HttpResponse::Ok().json(&Status::Success(Message { message: format!( "Successfully changed privileges or user: {}", update.item.username @@ -230,14 +232,14 @@ pub async fn get_language( let user = authenticate(&id, &config).await?; match user { RoleGuard::NotAuthenticated | RoleGuard::Disabled => { - Ok(HttpResponse::Ok().json2(&detect_language(&req)?)) + Ok(HttpResponse::Ok().json(&detect_language(&req)?)) } RoleGuard::Regular { user } | RoleGuard::Admin { user } => { - Ok(HttpResponse::Ok().json2(&user.language)) + Ok(HttpResponse::Ok().json(&user.language)) } } } else { - Ok(HttpResponse::Ok().json2(&detect_language(&req)?)) + Ok(HttpResponse::Ok().json(&detect_language(&req)?)) } } @@ -248,7 +250,7 @@ pub async fn set_language( id: Identity, ) -> Result { queries::set_language(&id, data.0, &config).await?; - Ok(HttpResponse::Ok().json2(&data.0)) + Ok(HttpResponse::Ok().json(&data.0)) } #[instrument(skip(id))] @@ -278,23 +280,23 @@ pub async fn process_login_json( info!("Log-in of user: {}", &u.username); let session_token = u.username.clone(); id.remember(session_token); - Ok(HttpResponse::Ok().json2(&u)) + Ok(HttpResponse::Ok().json(&u)) } else { info!("Invalid password for user: {}", &u.username); - Ok(HttpResponse::Unauthorized().json2(&Status::Error(Message { + Ok(HttpResponse::Unauthorized().json(&Status::Error(Message { message: "Failed to Login".to_string(), }))) } } else { // should fail earlier if secret is missing. - Ok(HttpResponse::Unauthorized().json2(&Status::Error(Message { + Ok(HttpResponse::Unauthorized().json(&Status::Error(Message { message: "Failed to Login".to_string(), }))) } } Err(e) => { info!("Failed to login: {}", e); - Ok(HttpResponse::Unauthorized().json2(&Status::Error(Message { + Ok(HttpResponse::Unauthorized().json(&Status::Error(Message { message: "Failed to Login".to_string(), }))) } @@ -311,7 +313,7 @@ pub async fn logout(id: Identity) -> Result { #[instrument()] pub async fn to_admin() -> Result { let response = HttpResponse::PermanentRedirect() - .set_header(actix_web::http::header::LOCATION, "/app/") + .insert_header((actix_web::http::header::LOCATION, "/app/")) .body(r#"The admin interface moved to /app/"#); Ok(response) @@ -324,7 +326,7 @@ pub async fn redirect( req: HttpRequest, ) -> Result { info!("Redirecting to {:?}", data); - let link = queries::get_link_simple(&data.0, &config).await; + let link = queries::get_link_simple(&data, &config).await; info!("link: {:?}", link); match link { Ok(link) => { @@ -334,7 +336,7 @@ pub async fn redirect( Err(ServerError::Database(e)) => { info!( "Link was not found: http://{}/{} \n {}", - &config.public_url, &data.0, e + &config.public_url, &data, e ); Ok(HttpResponse::NotFound().body( r#" @@ -373,7 +375,7 @@ pub async fn process_create_link_json( ) -> Result { let new_link = queries::create_link(&id, data.into_inner(), &config).await; match new_link { - Ok(item) => Ok(HttpResponse::Ok().json2(&Status::Success(Message { + Ok(item) => Ok(HttpResponse::Ok().json(&Status::Success(Message { message: format!("Successfully saved link: {}", item.item.code), }))), Err(e) => Err(e), @@ -388,7 +390,7 @@ pub async fn process_update_link_json( ) -> Result { let new_link = queries::update_link(&id, data.into_inner(), &config).await; match new_link { - Ok(item) => Ok(HttpResponse::Ok().json2(&Status::Success(Message { + Ok(item) => Ok(HttpResponse::Ok().json(&Status::Success(Message { message: format!("Successfully updated link: {}", item.item.code), }))), Err(e) => Err(e), @@ -402,7 +404,7 @@ pub async fn process_delete_link_json( data: web::Json, ) -> Result { queries::delete_link(&id, &data.code, &config).await?; - Ok(HttpResponse::Ok().json2(&Status::Success(Message { + Ok(HttpResponse::Ok().json(&Status::Success(Message { message: format!("Successfully deleted link: {}", &data.code), }))) } diff --git a/shared/Cargo.toml b/shared/Cargo.toml index 33c9d9a..c36b8b8 100644 --- a/shared/Cargo.toml +++ b/shared/Cargo.toml @@ -8,11 +8,11 @@ license = "MIT OR Apache-2.0" name = "pslink-shared" readme = "../pslink/README.md" repository = "https://github.com/enaut/pslink/" -version = "0.4.3" +version = "0.4.4" [dependencies] serde = {version="1.0", features = ["derive"]} chrono = {version = "0.4", features = ["serde"] } enum-map = {version="1", features = ["serde"]} -strum_macros = "0.21" -strum = "0.21" +strum_macros = "0.22" +strum = "0.22" diff --git a/shared/src/datatypes.rs b/shared/src/datatypes.rs index 9a67d5e..3eb0b41 100644 --- a/shared/src/datatypes.rs +++ b/shared/src/datatypes.rs @@ -1,11 +1,11 @@ -//! The more generic datatypes used in pslink +//! The more generic data-types used in pslink use std::ops::Deref; use serde::{Deserialize, Serialize, Serializer}; -use strum_macros::{AsRefStr, EnumIter, EnumString, ToString}; +use strum_macros::{AsRefStr, EnumIter, EnumString}; use crate::apirequests::users::Role; -/// A generic list returntype containing the User and a Vec containing e.g. Links or Users +/// A generic list return type containing the User and a Vec containing e.g. Links or Users #[derive(Clone, Deserialize, Serialize)] pub struct ListWithOwner { pub user: User, @@ -48,7 +48,7 @@ pub struct Count { pub number: i32, } -/// Everytime a shor url is clicked record it for statistical evaluation. +/// Every time a short url is clicked record it for statistical evaluation. #[derive(Serialize, Debug)] pub struct Click { pub id: i64, @@ -118,20 +118,10 @@ impl Deref for Loadable { } /// An `enum` containing the available languages. -/// To add an additional language add it to this enum aswell as an appropriate file into the locales folder. +/// To add an additional language add it to this enum as well as an appropriate file into the locales folder. #[allow(clippy::upper_case_acronyms)] #[derive( - Debug, - Copy, - Clone, - EnumIter, - EnumString, - ToString, - AsRefStr, - Eq, - PartialEq, - Serialize, - Deserialize, + Debug, Copy, Clone, EnumIter, EnumString, AsRefStr, Eq, PartialEq, Serialize, Deserialize, )] pub enum Lang { #[strum(serialize = "en-US", serialize = "en", serialize = "enUS")] @@ -139,3 +129,9 @@ pub enum Lang { #[strum(serialize = "de-DE", serialize = "de", serialize = "deDE")] DeDE, } + +impl std::fmt::Display for Lang { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self) + } +}