From 5e8883e35a165a652d25328a608205cec1f38f06 Mon Sep 17 00:00:00 2001 From: Rob Ede Date: Sun, 16 Oct 2022 21:20:01 +0100 Subject: [PATCH] add minijinja templating example --- Cargo.lock | 857 +++++++++++++--------- Cargo.toml | 2 + templating/minijinja/Cargo.toml | 12 + templating/minijinja/README.md | 13 + templating/minijinja/src/main.rs | 105 +++ templating/minijinja/templates/error.html | 10 + templating/minijinja/templates/index.html | 17 + templating/minijinja/templates/user.html | 13 + templating/tera/Cargo.toml | 6 +- templating/tera/README.md | 11 +- templating/tera/src/main.rs | 4 +- 11 files changed, 686 insertions(+), 364 deletions(-) create mode 100644 templating/minijinja/Cargo.toml create mode 100644 templating/minijinja/README.md create mode 100644 templating/minijinja/src/main.rs create mode 100644 templating/minijinja/templates/error.html create mode 100644 templating/minijinja/templates/index.html create mode 100644 templating/minijinja/templates/user.html diff --git a/Cargo.lock b/Cargo.lock index b6557564..3e8d2f31 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -49,7 +49,7 @@ dependencies = [ "parking_lot 0.12.1", "pin-project-lite 0.2.9", "smallvec", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-util 0.7.4", ] @@ -71,7 +71,7 @@ dependencies = [ "actix-web", "casbin", "loge", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -87,15 +87,15 @@ dependencies = [ "log", "memchr", "pin-project-lite 0.2.9", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-util 0.7.4", ] [[package]] name = "actix-cors" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02a0adcaabb68f1dfe8880cb3c5f049261c68f5d69ce06b6f3a930f31710838e" +checksum = "684a6ce1562a5fcca49bc9302896c63547eea78a1e405e837e7416affd8b6eb9" dependencies = [ "actix-utils", "actix-web", @@ -131,9 +131,9 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.2.1" +version = "3.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f9ffb6db08c1c3a1f4aef540f1a63193adc73c4fbd40b75a95fc8c5258f6e51" +checksum = "0c83abf9903e1f0ad9973cc4f7b9767fd5a03a583f51a5b7a339e07987cd2724" dependencies = [ "actix-codec", "actix-rt", @@ -154,14 +154,14 @@ dependencies = [ "http", "httparse", "httpdate 1.0.2", - "itoa 1.0.3", + "itoa 1.0.4", "language-tags", "local-channel", "mime", "percent-encoding", "pin-project-lite 0.2.9", "rand 0.8.5", - "sha1 0.10.4", + "sha1 0.10.5", "smallvec", "tracing", "zstd", @@ -190,7 +190,7 @@ dependencies = [ "serde_urlencoded", "slab", "socket2 0.4.7", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -205,7 +205,7 @@ dependencies = [ "futures-util", "serde", "serde_json", - "time 0.3.14", + "time 0.3.15", ] [[package]] @@ -264,23 +264,22 @@ dependencies = [ "futures-core", "log", "redis-async", - "time 0.3.14", - "tokio 1.21.0", + "time 0.3.15", + "tokio 1.21.2", "tokio-util 0.7.4", ] [[package]] name = "actix-router" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb60846b52c118f2f04a56cc90880a274271c489b2498623d58176f8ca21fa80" +checksum = "d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799" dependencies = [ "bytestring", - "firestorm", "http", - "log", "regex", "serde", + "tracing", ] [[package]] @@ -291,7 +290,7 @@ checksum = "7ea16c295198e958ef31930a6ef37d0fb64e9ca3b6116e6b93a8bdae96ee1000" dependencies = [ "actix-macros", "futures-core", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -308,7 +307,7 @@ dependencies = [ "mio 0.8.4", "num_cpus", "socket2 0.4.7", - "tokio 1.21.0", + "tokio 1.21.2", "tracing", ] @@ -325,9 +324,9 @@ dependencies = [ [[package]] name = "actix-session" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d324d2a6e670f8746ae64f333c2c0fe856bdf624bcb72fb56e250e62a7e9a85f" +checksum = "43da8b818ae1f11049a4d218975345fe8e56ce5a5f92c11f972abcff5ff80e87" dependencies = [ "actix", "actix-redis", @@ -364,7 +363,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -385,7 +384,7 @@ dependencies = [ "tokio-openssl", "tokio-rustls 0.23.4", "tokio-util 0.7.4", - "webpki-roots 0.22.4", + "webpki-roots 0.22.5", ] [[package]] @@ -400,9 +399,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.1.0" +version = "4.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27e8fe9ba4ae613c21f677c2cfaf0696c3744030c6f485b34634e502d6bb379" +checksum = "d48f7b6534e06c7bfc72ee91db7917d4af6afe23e7d223b51e68fffbb21e96b9" dependencies = [ "actix-codec", "actix-http", @@ -418,12 +417,13 @@ dependencies = [ "bytes 1.2.1", "bytestring", "cfg-if 1.0.0", - "cookie 0.16.0", + "cookie 0.16.1", "derive_more", "encoding_rs", "futures-core", "futures-util", - "itoa 1.0.3", + "http", + "itoa 1.0.4", "language-tags", "log", "mime", @@ -435,7 +435,7 @@ dependencies = [ "serde_urlencoded", "smallvec", "socket2 0.4.7", - "time 0.3.14", + "time 0.3.15", "url", ] @@ -453,14 +453,14 @@ dependencies = [ "bytestring", "futures-core", "pin-project-lite 0.2.9", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] name = "actix-web-codegen" -version = "4.0.1" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f270541caec49c15673b0af0e9a00143421ad4f118d2df7edcb68b627632f56" +checksum = "1fa9362663c8643d67b2d5eafba49e4cb2c8a053a29ed00a0bea121f17c76b13" dependencies = [ "actix-router", "proc-macro2", @@ -474,7 +474,7 @@ version = "1.0.0" dependencies = [ "actix-cors", "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "serde", "serde_json", ] @@ -499,7 +499,7 @@ dependencies = [ "bytestring", "csv", "derive_more", - "digest 0.10.3", + "digest 0.10.5", "futures-core", "futures-util", "generic-array", @@ -514,7 +514,7 @@ dependencies = [ "serde_html_form", "serde_json", "subtle", - "tokio 1.21.0", + "tokio 1.21.2", "tracing", ] @@ -538,7 +538,7 @@ dependencies = [ "bytestring", "csv", "derive_more", - "digest 0.10.3", + "digest 0.10.5", "futures-core", "futures-util", "generic-array", @@ -553,7 +553,47 @@ dependencies = [ "serde_html_form", "serde_json", "subtle", - "tokio 1.21.0", + "tokio 1.21.2", + "tracing", +] + +[[package]] +name = "actix-web-lab" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b11277c9258b28bb2189b10c8910b729384d32afc7839d63568e0931d6a5493e" +dependencies = [ + "actix-files", + "actix-http", + "actix-router", + "actix-service", + "actix-utils", + "actix-web", + "actix-web-lab-derive", + "ahash 0.8.0", + "arc-swap", + "async-trait", + "bytes 1.2.1", + "bytestring", + "csv", + "derive_more", + "digest 0.10.5", + "futures-core", + "futures-util", + "generic-array", + "hmac", + "http", + "itertools", + "local-channel", + "mime", + "once_cell", + "pin-project-lite 0.2.9", + "regex", + "serde", + "serde_html_form", + "serde_json", + "subtle", + "tokio 1.21.2", "tracing", ] @@ -578,7 +618,7 @@ dependencies = [ "actix-http", "actix-web", "futures-core", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -600,30 +640,30 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aead" -version = "0.4.3" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" +checksum = "5c192eb8f11fc081b0fe4259ba5af04217d4e0faddd02417310a927911abd7c8" dependencies = [ + "crypto-common", "generic-array", ] [[package]] name = "aes" -version = "0.7.5" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" +checksum = "bfe0133578c0986e1fe3dfcd4af1cc5b2dd6c3dbf534d69916ce16a2701d40ba" dependencies = [ "cfg-if 1.0.0", "cipher", "cpufeatures", - "opaque-debug", ] [[package]] name = "aes-gcm" -version = "0.9.4" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" +checksum = "82e1366e0c69c9f927b1fa5ce2c7bf9eafc8f9268c0b9800729e8b267612447c" dependencies = [ "aead", "aes", @@ -667,15 +707,15 @@ dependencies = [ [[package]] name = "alloc-no-stdlib" -version = "2.0.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35ef4730490ad1c4eae5c4325b2a95f521d023e5c885853ff7aca0a6a1631db3" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" [[package]] name = "alloc-stdlib" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "697ed7edc0f1711de49ce108c541623a0af97c6c60b2f6e2b65229847ac843c2" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" dependencies = [ "alloc-no-stdlib", ] @@ -710,9 +750,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.64" +version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9a8f622bcf6ff3df478e9deba3e03e4e04b300f8e6a139e192c05fa3490afc7" +checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" [[package]] name = "arc-swap" @@ -814,7 +854,7 @@ name = "async-data" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", ] @@ -877,7 +917,7 @@ dependencies = [ "actix-web-lab 0.17.0", "async-graphql", "async-graphql-actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "slab", ] @@ -900,9 +940,9 @@ dependencies = [ [[package]] name = "async-graphql-parser" -version = "4.0.13" +version = "4.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2e30051a98bcecc8baab3f7a8b12e8e49b365afa81b598ad5dffa49d343f51" +checksum = "b599d684b30ed8ede2600507ceb2ba60214ffb2cfc55088c4c0dd33f7656acfd" dependencies = [ "async-graphql-value", "pest", @@ -912,9 +952,9 @@ dependencies = [ [[package]] name = "async-graphql-value" -version = "4.0.13" +version = "4.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c8c0d67fe10c7c49c6dcc9072b7a5c6c07af3b72b6e67cfb30ee070e2e940c" +checksum = "a81662a313c523f2b55c3735e20a5162fe7f42c0d4b0b64f6d73568dfde316ee" dependencies = [ "bytes 1.2.1", "indexmap", @@ -959,7 +999,7 @@ name = "async_db" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", "r2d2", @@ -1026,13 +1066,13 @@ dependencies = [ "base64", "bytes 1.2.1", "cfg-if 1.0.0", - "cookie 0.16.0", + "cookie 0.16.1", "derive_more", "futures-core", "futures-util", "h2 0.3.14", "http", - "itoa 1.0.3", + "itoa 1.0.4", "log", "mime", "openssl", @@ -1043,7 +1083,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -1052,11 +1092,11 @@ version = "1.0.0" dependencies = [ "actix-web", "awc", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "mime", "rustls 0.20.6", - "webpki-roots 0.22.4", + "webpki-roots 0.22.5", ] [[package]] @@ -1080,7 +1120,7 @@ dependencies = [ "http", "hyper 0.14.20", "ring", - "tokio 1.21.0", + "tokio 1.21.2", "tower", "tracing", "zeroize", @@ -1216,7 +1256,7 @@ dependencies = [ "percent-encoding", "regex", "ring", - "time 0.3.14", + "time 0.3.15", "tracing", ] @@ -1228,7 +1268,7 @@ checksum = "deb59cfdd21143006c01b9ca4dc4a9190b8c50c2ef831f9eb36f54f69efa42f1" dependencies = [ "futures-util", "pin-project-lite 0.2.9", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-stream", ] @@ -1250,7 +1290,7 @@ dependencies = [ "hyper-rustls", "lazy_static", "pin-project-lite 0.2.9", - "tokio 1.21.0", + "tokio 1.21.2", "tower", "tracing", ] @@ -1283,7 +1323,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite 0.2.9", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-util 0.7.4", "tracing", ] @@ -1328,10 +1368,10 @@ version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d230d281653de22fb0e9c7c74d18d724a39d7148e2165b1e760060064c4967c0" dependencies = [ - "itoa 1.0.3", + "itoa 1.0.4", "num-integer", "ryu", - "time 0.3.14", + "time 0.3.15", ] [[package]] @@ -1390,7 +1430,7 @@ dependencies = [ "actix-session", "actix-web", "async-stream", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", ] @@ -1529,8 +1569,8 @@ dependencies = [ "serde", "serde_bytes", "serde_json", - "time 0.3.14", - "uuid 1.1.2", + "time 0.3.15", + "uuid 1.2.1", ] [[package]] @@ -1623,7 +1663,7 @@ dependencies = [ "ritelinked", "serde", "thiserror", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -1702,18 +1742,19 @@ checksum = "fff857943da45f546682664a79488be82e69e43c1a7a2307679ab9afb3a66d2e" [[package]] name = "cipher" -version = "0.3.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" dependencies = [ - "generic-array", + "crypto-common", + "inout", ] [[package]] name = "clang-sys" -version = "1.3.3" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" +checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" dependencies = [ "glob", "libc", @@ -1737,9 +1778,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.20" +version = "3.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b71c3ce99b7611011217b366d923f1d0a7e07a92bb2dbf1e84508c673ca3bd" +checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" dependencies = [ "atty", "bitflags", @@ -1749,7 +1790,7 @@ dependencies = [ "once_cell", "strsim 0.10.0", "termcolor", - "textwrap 0.15.0", + "textwrap 0.15.1", ] [[package]] @@ -1783,6 +1824,16 @@ dependencies = [ "cc", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "colored" version = "1.9.3" @@ -1817,7 +1868,7 @@ dependencies = [ "futures-core", "memchr", "pin-project-lite 0.2.9", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-util 0.7.4", ] @@ -1880,9 +1931,9 @@ dependencies = [ [[package]] name = "cookie" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94d4706de1b0fa5b132270cddffa8585166037822e260a944fe161acd137ca05" +checksum = "344adc371239ef32293cb1c4fe519592fcf21206c79c02854320afcdf3ab4917" dependencies = [ "aes-gcm", "base64", @@ -1890,9 +1941,9 @@ dependencies = [ "hmac", "percent-encoding", "rand 0.8.5", - "sha2 0.10.5", + "sha2 0.10.6", "subtle", - "time 0.3.14", + "time 0.3.15", "version_check", ] @@ -1902,7 +1953,7 @@ version = "1.0.0" dependencies = [ "actix-identity", "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "rand 0.8.5", ] @@ -1912,7 +1963,7 @@ version = "1.0.0" dependencies = [ "actix-session", "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", ] @@ -2003,12 +2054,11 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc" +checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" dependencies = [ "cfg-if 1.0.0", - "once_cell", ] [[package]] @@ -2018,6 +2068,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", + "rand_core 0.6.4", "typenum", ] @@ -2054,13 +2105,57 @@ dependencies = [ [[package]] name = "ctr" -version = "0.8.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ "cipher", ] +[[package]] +name = "cxx" +version = "1.0.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e599641dff337570f6aa9c304ecca92341d30bf72e1c50287869ed6a36615a6" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60e2434bc22249c056e12d2e87db46380730da0f2648471edea3e8e11834a892" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3894ad0c6d517cb5a4ce8ec20b37cd0ea31b480fe582a104c5db67ae21270853" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34fa7e395dc1c001083c7eed28c8f0f0b5a225610f3b6284675f444af6fab86b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "darling" version = "0.13.4" @@ -2107,7 +2202,7 @@ name = "db-redis" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", "redis", @@ -2125,7 +2220,7 @@ dependencies = [ "num_cpus", "retain_mut", "serde", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -2137,7 +2232,7 @@ dependencies = [ "deadpool", "log", "serde", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-postgres", ] @@ -2147,7 +2242,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaa37046cc0f6c3cc6090fbdbf73ef0b8ef4cfcc37f6befc0020f63e8cf121e1" dependencies = [ - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -2193,19 +2288,19 @@ checksum = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690" [[package]] name = "diesel" -version = "2.0.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01e2adfd0a7a81070ed7beec0c62636458926326c16fedb77796d41e447b282d" +checksum = "68c186a7418a2aac330bb76cde82f16c36b03a66fb91db32d20214311f9f6545" dependencies = [ "bitflags", "byteorder", "chrono", "diesel_derives", - "itoa 1.0.3", + "itoa 1.0.4", "libsqlite3-sys", "pq-sys", "r2d2", - "uuid 1.1.2", + "uuid 1.2.1", ] [[package]] @@ -2215,18 +2310,18 @@ dependencies = [ "actix-web", "diesel", "dotenv", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "serde", "serde_json", - "uuid 1.1.2", + "uuid 1.2.1", ] [[package]] name = "diesel_derives" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a7ab9d7967e6a1a247ea38aedf88ab808b4ac0c159576bc71866ab8f9f9250" +checksum = "143b758c91dbc3fe1fdcb0dba5bd13276c6a66422f2ef5795b58488248a310aa" dependencies = [ "proc-macro-error", "proc-macro2", @@ -2245,9 +2340,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" dependencies = [ "block-buffer 0.10.3", "crypto-common", @@ -2297,7 +2392,7 @@ name = "docker_sample" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", ] @@ -2309,18 +2404,18 @@ checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" [[package]] name = "dotenvy" -version = "0.15.3" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3db6fcad7c1fc4abdd99bf5276a4db30d6a819127903a709ed41e5ff016e84" +checksum = "ed9155c8f4dc55c7470ae9da3f63c6785245093b3f6aeb0f5bf2e968efbba314" dependencies = [ "dirs", ] [[package]] name = "dtoa" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6053ff46b5639ceb91756a85a4c8914668393a03170efd79c8884a529d80656" +checksum = "f8a6eee2d5d0d113f015688310da018bd1d864d86bd567c8fca9c266889e1bfa" [[package]] name = "either" @@ -2367,9 +2462,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" +checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" dependencies = [ "atty", "humantime", @@ -2384,7 +2479,7 @@ version = "1.0.0" dependencies = [ "actix-web", "derive_more", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "rand 0.8.5", ] @@ -2437,12 +2532,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "firestorm" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c5f6c2c942da57e2aaaa84b8a521489486f14e75e7fa91dab70aba913975f98" - [[package]] name = "flate2" version = "1.0.24" @@ -2829,9 +2918,9 @@ dependencies = [ [[package]] name = "ghash" -version = "0.4.4" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" dependencies = [ "opaque-debug", "polyval", @@ -2918,16 +3007,16 @@ dependencies = [ "http", "indexmap", "slab", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-util 0.7.4", "tracing", ] [[package]] name = "handlebars" -version = "4.3.3" +version = "4.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360d9740069b2f6cbb63ce2dbaa71a20d3185350cbb990d7bebeb9318415eb17" +checksum = "433e4ab33f1213cdc25b5fa45c76881240cfe79284cf2b395e8b9e312a30a2fd" dependencies = [ "log", "pest", @@ -2967,9 +3056,9 @@ dependencies = [ [[package]] name = "hashlink" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d452c155cb93fecdfb02a73dd57b5d8e442c2063bd7aac72f1bc5e4263a43086" +checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa" dependencies = [ "hashbrown 0.12.3", ] @@ -2988,7 +3077,7 @@ name = "hello-world" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", ] [[package]] @@ -3021,14 +3110,14 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", ] [[package]] name = "home" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2456aef2e6b6a9784192ae780c0f15bc57df0e918585282325e8c8ac27737654" +checksum = "747309b4b440c06d57b0b25f2aee03ee9b5e5397d288c60e21fc709bb98a7408" dependencies = [ "winapi 0.3.9", ] @@ -3052,7 +3141,7 @@ checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes 1.2.1", "fnv", - "itoa 1.0.3", + "itoa 1.0.4", ] [[package]] @@ -3082,8 +3171,8 @@ version = "1.0.0" dependencies = [ "actix-web", "awc", - "clap 3.2.20", - "env_logger 0.9.0", + "clap 3.2.22", + "env_logger 0.9.1", "log", "url", ] @@ -3163,10 +3252,10 @@ dependencies = [ "http-body 0.4.5", "httparse", "httpdate 1.0.2", - "itoa 1.0.3", + "itoa 1.0.4", "pin-project-lite 0.2.9", "socket2 0.4.7", - "tokio 1.21.0", + "tokio 1.21.2", "tower-service", "tracing", "want", @@ -3184,7 +3273,7 @@ dependencies = [ "log", "rustls 0.19.1", "rustls-native-certs", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-rustls 0.22.0", "webpki 0.21.4", ] @@ -3211,24 +3300,34 @@ dependencies = [ "bytes 1.2.1", "hyper 0.14.20", "native-tls", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-native-tls", ] [[package]] name = "iana-time-zone" -version = "0.1.47" +version = "0.1.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c495f162af0bf17656d0014a0eded5f3cd2f365fdd204548c2869db89359dc7" +checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed" dependencies = [ "android_system_properties", "core-foundation-sys", + "iana-time-zone-haiku", "js-sys", - "once_cell", "wasm-bindgen", "winapi 0.3.9", ] +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -3291,6 +3390,15 @@ dependencies = [ "serde", ] +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array", +] + [[package]] name = "instant" version = "0.1.12" @@ -3361,9 +3469,9 @@ checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" [[package]] name = "itertools" -version = "0.10.3" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ "either", ] @@ -3376,9 +3484,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "itoa" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" [[package]] name = "itoap" @@ -3388,18 +3496,18 @@ checksum = "9028f49264629065d057f340a86acb84867925865f73bbf8d47b4d149a7e88b8" [[package]] name = "jobserver" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.59" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] @@ -3415,7 +3523,7 @@ name = "json-example" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "json", "log", @@ -3429,7 +3537,7 @@ version = "1.0.0" dependencies = [ "actix-web", "awc", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", "serde", @@ -3453,7 +3561,7 @@ name = "json_decode_error" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "serde", ] @@ -3463,7 +3571,7 @@ name = "json_error" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "serde", "serde_json", @@ -3475,7 +3583,7 @@ version = "1.0.0" dependencies = [ "actix-web", "bytes 1.2.1", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", "serde", @@ -3512,7 +3620,7 @@ dependencies = [ "actix-web", "actix-web-lab 0.17.0", "dotenv", - "env_logger 0.9.0", + "env_logger 0.9.1", "juniper", "log", "mysql", @@ -3520,7 +3628,7 @@ dependencies = [ "r2d2_mysql", "serde", "serde_json", - "uuid 1.1.2", + "uuid 1.2.1", ] [[package]] @@ -3530,7 +3638,7 @@ dependencies = [ "actix-cors", "actix-web", "actix-web-lab 0.17.0", - "env_logger 0.9.0", + "env_logger 0.9.1", "juniper", "log", "serde", @@ -3602,9 +3710,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.132" +version = "0.2.135" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" [[package]] name = "libloading" @@ -3638,6 +3746,15 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "link-cplusplus" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +dependencies = [ + "cc", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -3664,9 +3781,9 @@ checksum = "e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1" [[package]] name = "lock_api" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f80bf5aacaf25cbfc8210d1cfb718f2bf3b11c4c54e5afe36c236853a8ec390" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" dependencies = [ "autocfg", "scopeguard", @@ -3746,11 +3863,11 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "md-5" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b48670c893079d3c2ed79114e3644b7004df1c361a4e0ad52e2e6940d07c3d" +checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -3759,6 +3876,12 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +[[package]] +name = "memo-map" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aec276c09560ce4447087aaefc19eb0c18d97e31bd05ebac38881c4723400c40" + [[package]] name = "memoffset" version = "0.6.5" @@ -3773,7 +3896,7 @@ name = "middleware-example" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", "pin-project", @@ -3784,7 +3907,7 @@ name = "middleware-ext-mut" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", ] @@ -3794,7 +3917,7 @@ version = "1.0.0" dependencies = [ "actix-web", "actix-web-lab 0.17.0", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", "rustls 0.20.6", @@ -3817,6 +3940,17 @@ dependencies = [ "unicase", ] +[[package]] +name = "minijinja" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9459b63f078d9b7bd7a9deee349f759b8afa3af49d8a8ed1d466ee117a2a3b58" +dependencies = [ + "memo-map", + "self_cell", + "serde", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -3880,15 +4014,15 @@ name = "mongodb" version = "1.0.0" dependencies = [ "actix-web", - "mongodb 2.3.0", + "mongodb 2.3.1", "serde", ] [[package]] name = "mongodb" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b95afe97b0c799fdf69cd960272a2cb9662d077bd6efd84eb722bb9805d47554" +checksum = "b5a1df476ac9541b0e4fdc8e2cc48884e66c92c933cd17a1fd75e68caf75752e" dependencies = [ "async-trait", "base64", @@ -3914,27 +4048,27 @@ dependencies = [ "serde_bytes", "serde_with", "sha-1", - "sha2 0.10.5", + "sha2 0.10.6", "socket2 0.4.7", "stringprep", "strsim 0.10.0", "take_mut", "thiserror", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-rustls 0.23.4", "tokio-util 0.7.4", "trust-dns-proto", "trust-dns-resolver", "typed-builder", "uuid 0.8.2", - "webpki-roots 0.22.4", + "webpki-roots 0.22.5", ] [[package]] name = "multer" -version = "2.0.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a30ba6d97eb198c5e8a35d67d5779d6680cca35652a60ee90fc23dc431d4fde8" +checksum = "6ed4198ce7a4cbd2a57af78d28c6fbb57d81ac5f1d6ad79ac6c5587419cbdf22" dependencies = [ "bytes 1.2.1", "encoding_rs", @@ -3956,7 +4090,7 @@ dependencies = [ "actix-web", "futures-util", "sanitize-filename", - "uuid 1.1.2", + "uuid 1.2.1", ] [[package]] @@ -3969,13 +4103,13 @@ dependencies = [ "aws-config", "aws-sdk-s3", "dotenv", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", "sanitize-filename", "serde", "serde_json", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -4073,7 +4207,7 @@ name = "nested-routing" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "serde", "serde_json", ] @@ -4190,9 +4324,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0" +checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" [[package]] name = "opaque-debug" @@ -4202,9 +4336,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.41" +version = "0.10.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0" +checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -4223,10 +4357,10 @@ dependencies = [ "actix-files", "actix-web", "anyhow", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "openssl", - "reqwest 0.11.11", + "reqwest 0.11.12", ] [[package]] @@ -4234,7 +4368,7 @@ name = "openssl-example" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "openssl", ] @@ -4257,9 +4391,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.75" +version = "0.9.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f" +checksum = "5230151e44c0f05157effb743e8d517472843121cf9243e8b81393edb5acd9ce" dependencies = [ "autocfg", "cc", @@ -4280,9 +4414,9 @@ dependencies = [ [[package]] name = "os_info" -version = "3.5.0" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5209b2162b2c140df493a93689e04f8deab3a67634f5bc7a553c0a98e5b8d399" +checksum = "c4750134fb6a5d49afc80777394ad5d95b04bc12068c6abb92fae8f43817270f" dependencies = [ "log", "winapi 0.3.9", @@ -4369,7 +4503,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7" dependencies = [ - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -4397,9 +4531,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0560d531d1febc25a3c9398a62a71256c0178f2e3443baedd9ad4bb8c9deb4" +checksum = "dbc7bc69c062e492337d74d59b120c274fd3d261b6bf6d3207d499b4b379c41a" dependencies = [ "thiserror", "ucd-trie", @@ -4407,9 +4541,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "905708f7f674518498c1f8d644481440f476d39ca6ecae83319bba7c6c12da91" +checksum = "60b75706b9642ebcb34dab3bc7750f811609a0eb1dd8b88c2d15bf628c1c65b2" dependencies = [ "pest", "pest_generator", @@ -4417,9 +4551,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5803d8284a629cc999094ecd630f55e91b561a1d1ba75e233b00ae13b91a69ad" +checksum = "f4f9272122f5979a6511a749af9db9bfc810393f63119970d7085fed1c4ea0db" dependencies = [ "pest", "pest_meta", @@ -4430,13 +4564,13 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1538eb784f07615c6d9a8ab061089c6c54a344c5b4301db51990ca1c241e8c04" +checksum = "4c8717927f9b79515e565a64fe46c38b8cd0427e64c40680b14a7365ab09ac8d" dependencies = [ "once_cell", "pest", - "sha-1", + "sha1 0.10.5", ] [[package]] @@ -4562,9 +4696,9 @@ checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" [[package]] name = "polyval" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -4586,7 +4720,7 @@ dependencies = [ "md-5", "memchr", "rand 0.8.5", - "sha2 0.10.5", + "sha2 0.10.6", "stringprep", ] @@ -4624,9 +4758,9 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "prettyplease" -version = "0.1.19" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a49e86d2c26a24059894a3afa13fd17d063419b05dfb83f06d9c3566060c3f5a" +checksum = "c142c0e46b57171fe0c528bee8c5b7569e80f0c17e377cd0e30ea57dbc11bb51" dependencies = [ "proc-macro2", "syn", @@ -4711,7 +4845,7 @@ version = "1.0.0" dependencies = [ "actix-protobuf", "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "prost", "prost-derive", @@ -4809,7 +4943,7 @@ checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha 0.3.1", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -4829,7 +4963,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.3", + "rand_core 0.6.4", ] [[package]] @@ -4843,9 +4977,9 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ "getrandom 0.2.7", ] @@ -4871,11 +5005,11 @@ dependencies = [ "combine 4.6.6", "futures", "futures-util", - "itoa 1.0.3", + "itoa 1.0.4", "percent-encoding", "pin-project-lite 0.2.9", "ryu", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-util 0.7.4", "url", ] @@ -4891,7 +5025,7 @@ dependencies = [ "futures-sink", "futures-util", "log", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-util 0.7.4", ] @@ -4902,11 +5036,11 @@ dependencies = [ "actix-session", "actix-test", "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "serde", "serde_json", - "time 0.3.14", + "time 0.3.15", ] [[package]] @@ -4999,9 +5133,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.11" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92" +checksum = "431949c384f4e2ae07605ccaa56d1d9d2ecdb5cadd4f9577ccfab29f2e5149fc" dependencies = [ "base64", "bytes 1.2.1", @@ -5015,16 +5149,16 @@ dependencies = [ "hyper-tls 0.5.0", "ipnet", "js-sys", - "lazy_static", "log", "mime", "native-tls", + "once_cell", "percent-encoding", "pin-project-lite 0.2.9", "serde", "serde_json", "serde_urlencoded", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-native-tls", "tower-service", "url", @@ -5052,9 +5186,9 @@ checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0" [[package]] name = "rhai" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "863c895db914cfbef71203b027f6336c00c9aed51c985c484584c37dd0375c51" +checksum = "6eec3a3db30f591ece18c66b3db4c9fa26f3bce20bc821c50550968361f84333" dependencies = [ "ahash 0.8.0", "bitflags", @@ -5118,7 +5252,7 @@ name = "run-in-thread" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", ] @@ -5191,7 +5325,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.13", + "semver 1.0.14", ] [[package]] @@ -5235,7 +5369,7 @@ version = "1.0.0" dependencies = [ "actix-tls", "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "rustls 0.20.6", "rustls-pemfile 1.0.1", @@ -5248,7 +5382,7 @@ dependencies = [ "actix-files", "actix-web", "actix-web-lab 0.17.0", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "rustls 0.20.6", "rustls-pemfile 1.0.1", @@ -5378,6 +5512,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "scratch" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" + [[package]] name = "sct" version = "0.6.1" @@ -5438,9 +5578,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f6841e709003d68bb2deee8c343572bf446003ec20a583e76f7b15cebf3711" +checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" [[package]] name = "semver-parser" @@ -5450,9 +5590,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.144" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" +checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b" dependencies = [ "serde_derive", ] @@ -5468,9 +5608,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.144" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" +checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c" dependencies = [ "proc-macro2", "quote", @@ -5485,19 +5625,19 @@ checksum = "3312ac3bf56e70cb7082a85db89d127940607b6acf39bd537cc06c8212124927" dependencies = [ "form_urlencoded", "indexmap", - "itoa 1.0.3", + "itoa 1.0.4", "ryu", "serde", ] [[package]] name = "serde_json" -version = "1.0.85" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +checksum = "41feea4228a6f1cd09ec7a3593a682276702cd67b5273544757dae23c096f074" dependencies = [ "indexmap", - "itoa 1.0.3", + "itoa 1.0.4", "ryu", "serde", ] @@ -5509,7 +5649,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.3", + "itoa 1.0.4", "ryu", "serde", ] @@ -5542,11 +5682,11 @@ version = "1.0.0" dependencies = [ "actix-web", "actix-web-lab 0.16.9", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", "parking_lot 0.12.1", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-stream", ] @@ -5558,7 +5698,7 @@ checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -5572,13 +5712,13 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006769ba83e921b3085caa8334186b00cf92b4cb1a6cf4632fbccc8eff5c7549" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -5602,13 +5742,13 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9db03534dff993187064c4e0c05a5708d2a9728ace9a8959b77bedf415dac5" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.3", + "digest 0.10.5", ] [[package]] @@ -5623,10 +5763,10 @@ version = "1.0.0" dependencies = [ "actix-web", "actix-web-lab 0.17.0", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "parking_lot 0.12.1", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -5648,15 +5788,15 @@ dependencies = [ "derive_more", "diesel", "dotenv", - "env_logger 0.9.0", + "env_logger 0.9.1", "once_cell", "r2d2", "rust-argon2", "serde", "serde_json", "sparkpost", - "time 0.3.14", - "uuid 1.1.2", + "time 0.3.15", + "uuid 1.2.1", ] [[package]] @@ -5685,9 +5825,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" dependencies = [ "serde", ] @@ -5715,9 +5855,9 @@ dependencies = [ [[package]] name = "snafu" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5177903bf45656592d9eb5c0e22f408fc023aae51dbe2088889b71633ba451f2" +checksum = "dd726aec4ebad65756394ff89a9b9598793d4e30121cd71690244c1e497b3aee" dependencies = [ "doc-comment", "snafu-derive", @@ -5725,9 +5865,9 @@ dependencies = [ [[package]] name = "snafu-derive" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "410b26ed97440d90ced3e2488c868d56a86e2064f5d7d6f417909b286afe25e5" +checksum = "712529e9b0b014eabaa345b38e06032767e3dc393e8b017e853b1d7247094e74" dependencies = [ "heck", "proc-macro2", @@ -5786,9 +5926,9 @@ dependencies = [ [[package]] name = "sqlformat" -version = "0.1.8" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b7922be017ee70900be125523f38bdd644f4f06a1b16e8fa5a8ee8c34bffd4" +checksum = "f87e292b4291f154971a43c3774364e2cbcaec599d3f5bf6fa9d122885dbc38a" dependencies = [ "itertools", "nom 7.1.1", @@ -5797,9 +5937,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "788841def501aabde58d3666fcea11351ec3962e6ea75dbcd05c84a71d68bcd1" +checksum = "9249290c05928352f71c077cc44a464d880c63f26f7534728cca008e135c0428" dependencies = [ "sqlx-core", "sqlx-macros", @@ -5807,9 +5947,9 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c21d3b5e7cadfe9ba7cdc1295f72cc556c750b4419c27c219c0693198901f8e" +checksum = "dcbc16ddba161afc99e14d1713a453747a2b07fc097d2009f4c300ec99286105" dependencies = [ "ahash 0.7.6", "atoi", @@ -5827,10 +5967,10 @@ dependencies = [ "futures-executor", "futures-intrusive", "futures-util", - "hashlink 0.8.0", + "hashlink 0.8.1", "hex", "indexmap", - "itoa 1.0.3", + "itoa 1.0.4", "libc", "libsqlite3-sys", "log", @@ -5841,7 +5981,7 @@ dependencies = [ "rustls 0.20.6", "rustls-pemfile 1.0.1", "serde", - "sha2 0.10.5", + "sha2 0.10.6", "smallvec", "sqlformat", "sqlx-rt", @@ -5849,14 +5989,14 @@ dependencies = [ "thiserror", "tokio-stream", "url", - "webpki-roots 0.22.4", + "webpki-roots 0.22.5", ] [[package]] name = "sqlx-macros" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4adfd2df3557bddd3b91377fc7893e8fa899e9b4061737cbade4e1bb85f1b45c" +checksum = "b850fa514dc11f2ee85be9d055c512aa866746adfacd1cb42d867d68e6a5b0d9" dependencies = [ "dotenvy", "either", @@ -5867,7 +6007,7 @@ dependencies = [ "quote", "serde", "serde_json", - "sha2 0.10.5", + "sha2 0.10.6", "sqlx-core", "sqlx-rt", "syn", @@ -5876,12 +6016,12 @@ dependencies = [ [[package]] name = "sqlx-rt" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be52fc7c96c136cedea840ed54f7d446ff31ad670c9dea95ebcb998530971a3" +checksum = "24c5b2d25fa654cc5f841750b8e1cdedbe21189bf9a9382ee90bfa9dd3562396" dependencies = [ "once_cell", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-rustls 0.23.4", ] @@ -5899,7 +6039,7 @@ name = "state" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", ] [[package]] @@ -5908,7 +6048,7 @@ version = "1.0.0" dependencies = [ "actix-files", "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", ] @@ -6074,7 +6214,7 @@ version = "1.0.0" dependencies = [ "actix-web", "askama", - "env_logger 0.9.0", + "env_logger 0.9.1", ] [[package]] @@ -6098,13 +6238,24 @@ dependencies = [ "serde_json", ] +[[package]] +name = "templating-minijinja" +version = "1.0.0" +dependencies = [ + "actix-web", + "actix-web-lab 0.18.5", + "env_logger 0.9.1", + "log", + "minijinja", +] + [[package]] name = "templating-sailfish" version = "0.1.0" dependencies = [ "actix-web", "actix-web-lab 0.17.0", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "sailfish", ] @@ -6114,7 +6265,8 @@ name = "templating-tera" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "actix-web-lab 0.18.5", + "env_logger 0.9.1", "tera", ] @@ -6123,7 +6275,7 @@ name = "templating-tinytemplate" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", "serde_json", "tinytemplate", ] @@ -6134,7 +6286,7 @@ version = "1.0.0" dependencies = [ "actix-web", "derive_more", - "env_logger 0.9.0", + "env_logger 0.9.1", "yarte", "yarte_helpers", ] @@ -6152,9 +6304,9 @@ dependencies = [ [[package]] name = "tera" -version = "1.17.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d4685e72cb35f0eb74319c8fe2d3b61e93da5609841cde2cb87fcc3bea56d20" +checksum = "3df578c295f9ec044ff1c829daf31bb7581d5b3c2a7a3d87419afe1f2531438c" dependencies = [ "chrono", "chrono-tz", @@ -6192,24 +6344,24 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.15.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" +checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" [[package]] name = "thiserror" -version = "1.0.34" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1b05ca9d106ba7d2e31a9dab4a64e7be2cce415321966ea3132c49a656e252" +checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.34" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8f2591983642de85c921015f3f070c665a197ed69e417af436115e3a1407487" +checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" dependencies = [ "proc-macro2", "quote", @@ -6253,11 +6405,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b" +checksum = "d634a985c4d4238ec39cacaed2e7ae552fbd3c476b552c1deac3021b7d7eaf0c" dependencies = [ - "itoa 1.0.3", + "itoa 1.0.4", "libc", "num_threads", "time-macros 0.2.4", @@ -6332,7 +6484,7 @@ dependencies = [ "actix-web", "actix-web-lab 0.17.0", "dotenv", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "serde", "serde_json", @@ -6360,9 +6512,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.21.0" +version = "1.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89797afd69d206ccd11fb0ea560a44bbb87731d020670e79416d442919257d42" +checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" dependencies = [ "autocfg", "bytes 1.2.1", @@ -6370,7 +6522,6 @@ dependencies = [ "memchr", "mio 0.8.4", "num_cpus", - "once_cell", "parking_lot 0.12.1", "pin-project-lite 0.2.9", "signal-hook-registry", @@ -6397,7 +6548,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" dependencies = [ "native-tls", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -6409,7 +6560,7 @@ dependencies = [ "futures-util", "openssl", "openssl-sys", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -6452,7 +6603,7 @@ dependencies = [ "postgres-protocol", "postgres-types", "socket2 0.4.7", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-util 0.7.4", ] @@ -6463,7 +6614,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" dependencies = [ "rustls 0.19.1", - "tokio 1.21.0", + "tokio 1.21.2", "webpki 0.21.4", ] @@ -6474,19 +6625,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ "rustls 0.20.6", - "tokio 1.21.0", + "tokio 1.21.2", "webpki 0.22.0", ] [[package]] name = "tokio-stream" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9" +checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" dependencies = [ "futures-core", "pin-project-lite 0.2.9", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -6523,7 +6674,7 @@ dependencies = [ "futures-core", "futures-sink", "pin-project-lite 0.2.9", - "tokio 1.21.0", + "tokio 1.21.2", "tracing", ] @@ -6546,7 +6697,7 @@ dependencies = [ "futures-util", "pin-project", "pin-project-lite 0.2.9", - "tokio 1.21.0", + "tokio 1.21.2", "tower-layer", "tower-service", "tracing", @@ -6554,9 +6705,9 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "343bc9466d3fe6b0f960ef45960509f84480bf4fd96f92901afe7ff3df9d3a62" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" [[package]] name = "tower-service" @@ -6590,9 +6741,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.29" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ "once_cell", ] @@ -6628,7 +6779,7 @@ dependencies = [ "smallvec", "thiserror", "tinyvec", - "tokio 1.21.0", + "tokio 1.21.2", "url", ] @@ -6648,7 +6799,7 @@ dependencies = [ "resolv-conf", "smallvec", "thiserror", - "tokio 1.21.0", + "tokio 1.21.2", "trust-dns-proto", ] @@ -6836,30 +6987,30 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-normalization" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" +checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" [[package]] name = "unicode-width" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "unicode-xid" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "unicode_categories" @@ -6869,11 +7020,11 @@ checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" [[package]] name = "universal-hash" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" +checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5" dependencies = [ - "generic-array", + "crypto-common", "subtle", ] @@ -6882,7 +7033,7 @@ name = "unix-socket" version = "1.0.0" dependencies = [ "actix-web", - "env_logger 0.9.0", + "env_logger 0.9.1", ] [[package]] @@ -6953,9 +7104,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.1.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f" +checksum = "feb41e78f93363bb2df8b0e86a2ca30eed7806ea16ea0c790d757cf93f79be83" dependencies = [ "getrandom 0.2.7", "serde", @@ -7087,9 +7238,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ "cfg-if 1.0.0", "serde", @@ -7099,9 +7250,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", "log", @@ -7114,9 +7265,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.32" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa76fb221a1f8acddf5b54ace85912606980ad661ac7a503b4570ffd3a624dad" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -7126,9 +7277,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7136,9 +7287,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ "proc-macro2", "quote", @@ -7149,15 +7300,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.82" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] name = "web-sys" -version = "0.3.59" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" dependencies = [ "js-sys", "wasm-bindgen", @@ -7194,9 +7345,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.4" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1c760f0d366a6c24a02ed7816e23e691f5d92291f94d15e836006fd11b04daf" +checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" dependencies = [ "webpki 0.22.0", ] @@ -7212,10 +7363,10 @@ dependencies = [ "actix-web", "actix-web-actors", "awc", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-stream", ] @@ -7226,7 +7377,7 @@ dependencies = [ "actix", "actix-web", "actix-web-actors", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", ] @@ -7239,11 +7390,11 @@ dependencies = [ "actix-ws", "awc", "derive_more", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", "rand 0.8.5", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -7255,7 +7406,7 @@ dependencies = [ "actix-files", "actix-web", "actix-web-actors", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "rand 0.8.5", ] @@ -7268,10 +7419,10 @@ dependencies = [ "actix-web", "actix-ws", "awc", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", - "tokio 1.21.0", + "tokio 1.21.2", ] [[package]] @@ -7282,7 +7433,7 @@ dependencies = [ "actix-files", "actix-web", "actix-web-actors", - "env_logger 0.9.0", + "env_logger 0.9.1", "log", "rand 0.8.5", "serde", @@ -7300,13 +7451,13 @@ dependencies = [ "actix-web-actors", "byteorder", "bytes 1.2.1", - "env_logger 0.9.0", + "env_logger 0.9.1", "futures-util", "log", "rand 0.8.5", "serde", "serde_json", - "tokio 1.21.0", + "tokio 1.21.2", "tokio-stream", "tokio-util 0.7.4", ] @@ -7536,7 +7687,7 @@ checksum = "8dfe1ef3558dde14b4be5387bdd41e3bd45746570743521470ec3e9cd0826679" dependencies = [ "buf-min", "dtoa", - "itoa 1.0.3", + "itoa 1.0.4", "prettyplease", "ryu", "serde", diff --git a/Cargo.toml b/Cargo.toml index d99bdf9b..42339b2d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -48,6 +48,7 @@ members = [ "templating/askama", "templating/fluent", "templating/handlebars", + "templating/minijinja", "templating/sailfish", "templating/tera", "templating/tinytemplate", @@ -61,3 +62,4 @@ members = [ "websockets/echo-actorless", "websockets/echo", ] +resolver = "2" diff --git a/templating/minijinja/Cargo.toml b/templating/minijinja/Cargo.toml new file mode 100644 index 00000000..984f5614 --- /dev/null +++ b/templating/minijinja/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "templating-minijinja" +version = "1.0.0" +edition = "2021" + +[dependencies] +actix-web = "4" +actix-web-lab = "0.18" + +env_logger = "0.9" +log = "0.4" +minijinja = { version = "0.23", features = ["source"] } diff --git a/templating/minijinja/README.md b/templating/minijinja/README.md new file mode 100644 index 00000000..4ad60501 --- /dev/null +++ b/templating/minijinja/README.md @@ -0,0 +1,13 @@ +# MiniJinja + +Minimal example of using the template engine [MiniJinja](https://github.com/Keats/tera) that displays a form. + +## Usage + +```sh +cd templating/minijinja +cargo run +``` + +- +- - 404 page rendered using template diff --git a/templating/minijinja/src/main.rs b/templating/minijinja/src/main.rs new file mode 100644 index 00000000..0923b72e --- /dev/null +++ b/templating/minijinja/src/main.rs @@ -0,0 +1,105 @@ +use std::collections::HashMap; + +use actix_web::{ + dev::ServiceResponse, + error, + http::{header::ContentType, StatusCode}, + middleware::{ErrorHandlerResponse, ErrorHandlers, Logger}, + web, App, Error, HttpResponse, HttpServer, Responder, Result, +}; +use actix_web_lab::respond::Html; + +/// store tera template in application state +async fn index( + tmpl_env: web::Data>, + query: web::Query>, +) -> Result { + let html = if let Some(name) = query.get("name") { + let tmpl = tmpl_env + .get_template("user.html") + .map_err(|_| error::ErrorInternalServerError("Template error"))?; + + let ctx = minijinja::context! { + name, + text => "Welcome!", + }; + + tmpl.render(ctx) + .map_err(|_| error::ErrorInternalServerError("Template error"))? + } else { + tmpl_env + .get_template("index.html") + .map_err(|_| error::ErrorInternalServerError("Template error"))? + .render(()) + .map_err(|_| error::ErrorInternalServerError("Template error"))? + }; + + Ok(Html(html)) +} + +#[actix_web::main] +async fn main() -> std::io::Result<()> { + env_logger::init_from_env(env_logger::Env::new().default_filter_or("info")); + + log::info!("starting HTTP server at http://localhost:8080"); + + let mut env: minijinja::Environment<'static> = minijinja::Environment::new(); + env.set_source(minijinja::Source::from_path(concat!( + env!("CARGO_MANIFEST_DIR"), + "/templates" + ))); + + HttpServer::new(move || { + App::new() + .app_data(web::Data::new(env.clone())) + .service(web::resource("/").route(web::get().to(index))) + .wrap(ErrorHandlers::new().handler(StatusCode::NOT_FOUND, not_found)) + .wrap(Logger::default()) + }) + .workers(2) + .bind(("127.0.0.1", 8080))? + .run() + .await +} + +/// Error handler for a 404 Page not found error. +fn not_found(svc_res: ServiceResponse) -> Result> { + let res = get_error_response(&svc_res, "Page not found"); + + Ok(ErrorHandlerResponse::Response(ServiceResponse::new( + svc_res.into_parts().0, + res.map_into_right_body(), + ))) +} + +/// Generic error handler. +fn get_error_response(res: &ServiceResponse, error: &str) -> HttpResponse { + let req = res.request(); + + // Provide a fallback to a simple plain text response in case an error occurs during the + // rendering of the error page. + let fallback = |err: &str| { + HttpResponse::build(res.status()) + .content_type(ContentType::plaintext()) + .body(err.to_string()) + }; + + let ctx = minijinja::context! { + error => error, + status_code => res.status().as_str(), + }; + + match req + .app_data::>() + .and_then(|tmpl_env| tmpl_env.get_template("error.html").ok()) + .and_then(|tmpl| tmpl.render(ctx).ok()) + { + Some(body) => Html(body) + .customize() + .with_status(res.status()) + .respond_to(&req) + .map_into_boxed_body(), + + None => fallback(error), + } +} diff --git a/templating/minijinja/templates/error.html b/templating/minijinja/templates/error.html new file mode 100644 index 00000000..4a3b512f --- /dev/null +++ b/templating/minijinja/templates/error.html @@ -0,0 +1,10 @@ + + + + + {{ error }} + + +

{{ status_code }} {{ error }}

+ + diff --git a/templating/minijinja/templates/index.html b/templating/minijinja/templates/index.html new file mode 100644 index 00000000..293ec99e --- /dev/null +++ b/templating/minijinja/templates/index.html @@ -0,0 +1,17 @@ + + + + + Actix Web + + +

Welcome!

+

+

What is your name?

+
+
+

+
+

+ + diff --git a/templating/minijinja/templates/user.html b/templating/minijinja/templates/user.html new file mode 100644 index 00000000..6aa345eb --- /dev/null +++ b/templating/minijinja/templates/user.html @@ -0,0 +1,13 @@ + + + + + Actix Web + + +

Hi, {{ name }}!

+

+ {{ text }} +

+ + diff --git a/templating/tera/Cargo.toml b/templating/tera/Cargo.toml index 5e9b6c79..ab06d4c5 100644 --- a/templating/tera/Cargo.toml +++ b/templating/tera/Cargo.toml @@ -4,6 +4,8 @@ version = "1.0.0" edition = "2021" [dependencies] -env_logger = "0.9.0" -tera = "1.8.0" actix-web = "4" +actix-web-lab = "0.18" + +env_logger = "0.9" +tera = "1.8.0" diff --git a/templating/tera/README.md b/templating/tera/README.md index f877e045..f94416c2 100644 --- a/templating/tera/README.md +++ b/templating/tera/README.md @@ -4,15 +4,10 @@ Minimal example of using the template [tera](https://github.com/Keats/tera) that ## Usage -### server - ```sh cd templating/tera -cargo run (or ``cargo watch -x run``) -# Started http server: 127.0.0.1:8080 +cargo run ``` -### web client - -- [http://localhost:8080](http://localhost:8080) -- [http://localhost:8080/non-existing-page](http://localhost:8080/non-existing-page) - 404 page rendered using template +- +- - 404 page rendered using template diff --git a/templating/tera/src/main.rs b/templating/tera/src/main.rs index 24a0b187..3f19ffe4 100644 --- a/templating/tera/src/main.rs +++ b/templating/tera/src/main.rs @@ -8,6 +8,7 @@ use actix_web::{ middleware::{self, ErrorHandlerResponse, ErrorHandlers}, web, App, Error, HttpResponse, HttpServer, Result, }; +use actix_web_lab::respond::Html; use tera::Tera; // store tera template in application state @@ -26,7 +27,8 @@ async fn index( tmpl.render("index.html", &tera::Context::new()) .map_err(|_| error::ErrorInternalServerError("Template error"))? }; - Ok(HttpResponse::Ok().content_type("text/html").body(s)) + + Ok(Html(s)) } #[actix_web::main]