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]