1
0
mirror of https://github.com/actix/examples synced 2025-03-12 16:22:47 +01:00

chore: edition 2024

This commit is contained in:
Rob Ede 2025-03-11 01:42:01 +00:00
parent fed7127644
commit a7527d72f3
No known key found for this signature in database
GPG Key ID: 97C636207D3EF933
75 changed files with 249 additions and 254 deletions

View File

@ -9,6 +9,7 @@
"binstall", "binstall",
"casbin", "casbin",
"chrono", "chrono",
"clippy",
"deadpool", "deadpool",
"dotenv", "dotenv",
"dotenvy", "dotenvy",

191
Cargo.lock generated
View File

@ -1,6 +1,6 @@
# This file is automatically @generated by Cargo. # This file is automatically @generated by Cargo.
# It is not intended for manual editing. # It is not intended for manual editing.
version = 3 version = 4
[[package]] [[package]]
name = "Inflector" name = "Inflector"
@ -76,7 +76,7 @@ dependencies = [
[[package]] [[package]]
name = "actix-casbin-example" name = "actix-casbin-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"casbin", "casbin",
@ -153,24 +153,24 @@ dependencies = [
[[package]] [[package]]
name = "actix-http" name = "actix-http"
version = "3.9.0" version = "3.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d48f96fc3003717aeb9856ca3d02a8c7de502667ad76eeacd830b48d2e91fac4" checksum = "0fa882656b67966045e4152c634051e70346939fced7117d5f0b52146a7c74c9"
dependencies = [ dependencies = [
"actix-codec", "actix-codec",
"actix-rt", "actix-rt",
"actix-service", "actix-service",
"actix-tls", "actix-tls",
"actix-utils", "actix-utils",
"ahash 0.8.11",
"base64 0.22.1", "base64 0.22.1",
"bitflags 2.8.0", "bitflags 2.8.0",
"brotli", "brotli",
"bytes", "bytes",
"bytestring", "bytestring",
"derive_more 0.99.19", "derive_more 2.0.1",
"encoding_rs", "encoding_rs",
"flate2", "flate2",
"foldhash",
"futures-core", "futures-core",
"h2 0.3.26", "h2 0.3.26",
"http 0.2.12", "http 0.2.12",
@ -182,7 +182,7 @@ dependencies = [
"mime", "mime",
"percent-encoding", "percent-encoding",
"pin-project-lite", "pin-project-lite",
"rand 0.8.5", "rand 0.9.0",
"sha1", "sha1",
"smallvec", "smallvec",
"tokio", "tokio",
@ -422,9 +422,9 @@ dependencies = [
[[package]] [[package]]
name = "actix-web" name = "actix-web"
version = "4.9.0" version = "4.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9180d76e5cc7ccbc4d60a506f2c727730b154010262df5b910eb17dbe4b8cb38" checksum = "f2e3b15b3dc6c6ed996e4032389e9849d4ab002b1e92fbfe85b5f307d1479b4d"
dependencies = [ dependencies = [
"actix-codec", "actix-codec",
"actix-http", "actix-http",
@ -436,13 +436,13 @@ dependencies = [
"actix-tls", "actix-tls",
"actix-utils", "actix-utils",
"actix-web-codegen", "actix-web-codegen",
"ahash 0.8.11",
"bytes", "bytes",
"bytestring", "bytestring",
"cfg-if", "cfg-if",
"cookie", "cookie",
"derive_more 0.99.19", "derive_more 2.0.1",
"encoding_rs", "encoding_rs",
"foldhash",
"futures-core", "futures-core",
"futures-util", "futures-util",
"impl-more", "impl-more",
@ -460,6 +460,7 @@ dependencies = [
"smallvec", "smallvec",
"socket2", "socket2",
"time", "time",
"tracing",
"url", "url",
] ]
@ -495,9 +496,9 @@ dependencies = [
[[package]] [[package]]
name = "actix-web-lab" name = "actix-web-lab"
version = "0.23.0" version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee75923689132fc5fb57ccc5bb98d25bb214796a29cd505844eb3b42daf11df0" checksum = "53df243e3d9bae9e2e1078e8639a0e6f4223a4d0cd7ee3b43ab9d25ec0751f88"
dependencies = [ dependencies = [
"actix-http", "actix-http",
"actix-router", "actix-router",
@ -510,15 +511,14 @@ dependencies = [
"bytes", "bytes",
"bytestring", "bytestring",
"csv", "csv",
"derive_more 1.0.0", "derive_more 2.0.1",
"form_urlencoded", "form_urlencoded",
"futures-core", "futures-core",
"futures-util", "futures-util",
"http 0.2.12", "http 0.2.12",
"impl-more", "impl-more",
"itertools 0.13.0", "itertools 0.14.0",
"local-channel", "local-channel",
"mediatype",
"mime", "mime",
"pin-project-lite", "pin-project-lite",
"regex", "regex",
@ -533,11 +533,10 @@ dependencies = [
[[package]] [[package]]
name = "actix-web-lab-derive" name = "actix-web-lab-derive"
version = "0.23.0" version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c221da13534b9352f3f79fcbbd6095f6d8aee63bdf1da8a73d36f9eeea17d5a" checksum = "9dd80fa0bd6217e482112d9d87a05af8e0f8dec9e3aa51f34816f761c5cf7da7"
dependencies = [ dependencies = [
"proc-macro2",
"quote", "quote",
"syn 2.0.98", "syn 2.0.98",
] ]
@ -903,7 +902,7 @@ dependencies = [
[[package]] [[package]]
name = "async-data" name = "async-data"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -964,7 +963,7 @@ dependencies = [
[[package]] [[package]]
name = "async-graphql-demo" name = "async-graphql-demo"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-cors", "actix-cors",
"actix-web", "actix-web",
@ -1119,7 +1118,7 @@ dependencies = [
[[package]] [[package]]
name = "awc_https" name = "awc_https"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"awc", "awc",
@ -1597,7 +1596,7 @@ dependencies = [
[[package]] [[package]]
name = "background-jobs" name = "background-jobs"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"apalis", "apalis",
@ -1701,7 +1700,7 @@ dependencies = [
[[package]] [[package]]
name = "basics" name = "basics"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-files", "actix-files",
"actix-session", "actix-session",
@ -1859,9 +1858,9 @@ dependencies = [
[[package]] [[package]]
name = "brotli" name = "brotli"
version = "6.0.0" version = "7.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd"
dependencies = [ dependencies = [
"alloc-no-stdlib", "alloc-no-stdlib",
"alloc-stdlib", "alloc-stdlib",
@ -2018,7 +2017,7 @@ dependencies = [
[[package]] [[package]]
name = "cert-watch" name = "cert-watch"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"color-eyre", "color-eyre",
@ -2299,7 +2298,7 @@ dependencies = [
[[package]] [[package]]
name = "cookie-auth" name = "cookie-auth"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-identity", "actix-identity",
"actix-session", "actix-session",
@ -2310,7 +2309,7 @@ dependencies = [
[[package]] [[package]]
name = "cookie-session" name = "cookie-session"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-session", "actix-session",
"actix-web", "actix-web",
@ -2336,7 +2335,7 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]] [[package]]
name = "cors" name = "cors"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-cors", "actix-cors",
"actix-web", "actix-web",
@ -2593,7 +2592,7 @@ checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010"
[[package]] [[package]]
name = "db-diesel" name = "db-diesel"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"diesel", "diesel",
@ -2606,7 +2605,7 @@ dependencies = [
[[package]] [[package]]
name = "db-mongo" name = "db-mongo"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"mongodb", "mongodb",
@ -2615,7 +2614,7 @@ dependencies = [
[[package]] [[package]]
name = "db-postgres" name = "db-postgres"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"confik", "confik",
@ -2630,7 +2629,7 @@ dependencies = [
[[package]] [[package]]
name = "db-redis" name = "db-redis"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -2878,7 +2877,7 @@ dependencies = [
[[package]] [[package]]
name = "docker_sample" name = "docker_sample"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -3064,7 +3063,7 @@ dependencies = [
[[package]] [[package]]
name = "error-handling" name = "error-handling"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"derive_more 2.0.1", "derive_more 2.0.1",
@ -3299,7 +3298,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]] [[package]]
name = "form-example" name = "form-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"serde", "serde",
@ -3643,7 +3642,7 @@ dependencies = [
[[package]] [[package]]
name = "guards" name = "guards"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
] ]
@ -3789,7 +3788,7 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]] [[package]]
name = "hello-world" name = "hello-world"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -3949,7 +3948,7 @@ dependencies = [
[[package]] [[package]]
name = "http-proxy" name = "http-proxy"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"awc", "awc",
@ -4510,7 +4509,7 @@ dependencies = [
[[package]] [[package]]
name = "json-example" name = "json-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -4521,7 +4520,7 @@ dependencies = [
[[package]] [[package]]
name = "json-validation" name = "json-validation"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"awc", "awc",
@ -4535,7 +4534,7 @@ dependencies = [
[[package]] [[package]]
name = "json_decode_error" name = "json_decode_error"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -4545,7 +4544,7 @@ dependencies = [
[[package]] [[package]]
name = "json_error" name = "json_error"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -4556,7 +4555,7 @@ dependencies = [
[[package]] [[package]]
name = "jsonrpc-example" name = "jsonrpc-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"bytes", "bytes",
@ -4586,7 +4585,7 @@ dependencies = [
[[package]] [[package]]
name = "juniper-advanced" name = "juniper-advanced"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-cors", "actix-cors",
"actix-web", "actix-web",
@ -4602,7 +4601,7 @@ dependencies = [
[[package]] [[package]]
name = "juniper-example" name = "juniper-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-cors", "actix-cors",
"actix-web", "actix-web",
@ -4750,7 +4749,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"windows-targets 0.48.5", "windows-targets 0.52.6",
] ]
[[package]] [[package]]
@ -4969,12 +4968,6 @@ dependencies = [
"digest", "digest",
] ]
[[package]]
name = "mediatype"
version = "0.19.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8878cd8d1b3c8c8ae4b2ba0a36652b7cf192f618a599a7fbdfa25cffd4ea72dd"
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.7.4" version = "2.7.4"
@ -5028,7 +5021,7 @@ dependencies = [
[[package]] [[package]]
name = "middleware-encrypted-payloads" name = "middleware-encrypted-payloads"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-http", "actix-http",
"actix-web", "actix-web",
@ -5042,7 +5035,7 @@ dependencies = [
[[package]] [[package]]
name = "middleware-http-to-https" name = "middleware-http-to-https"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -5054,7 +5047,7 @@ dependencies = [
[[package]] [[package]]
name = "middleware-rate-limit" name = "middleware-rate-limit"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-governor", "actix-governor",
"actix-web", "actix-web",
@ -5066,7 +5059,7 @@ dependencies = [
[[package]] [[package]]
name = "middleware-request-extensions" name = "middleware-request-extensions"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -5075,7 +5068,7 @@ dependencies = [
[[package]] [[package]]
name = "middleware-various" name = "middleware-various"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-http", "actix-http",
"actix-web", "actix-web",
@ -5261,7 +5254,7 @@ dependencies = [
[[package]] [[package]]
name = "multipart-example" name = "multipart-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-multipart", "actix-multipart",
"actix-web", "actix-web",
@ -5274,7 +5267,7 @@ dependencies = [
[[package]] [[package]]
name = "multipart-s3-example" name = "multipart-s3-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-multipart", "actix-multipart",
"actix-web", "actix-web",
@ -5299,7 +5292,7 @@ checksum = "e94e1e6445d314f972ff7395df2de295fe51b71821694f0b0e1e79c4f12c8577"
[[package]] [[package]]
name = "mysql" name = "mysql"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"derive_more 2.0.1", "derive_more 2.0.1",
@ -5420,7 +5413,7 @@ dependencies = [
[[package]] [[package]]
name = "nested-routing" name = "nested-routing"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -6261,7 +6254,7 @@ dependencies = [
[[package]] [[package]]
name = "protobuf-example" name = "protobuf-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-protobuf", "actix-protobuf",
"actix-web", "actix-web",
@ -6535,7 +6528,7 @@ dependencies = [
[[package]] [[package]]
name = "redis-session-example" name = "redis-session-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-session", "actix-session",
"actix-test", "actix-test",
@ -6793,7 +6786,7 @@ dependencies = [
[[package]] [[package]]
name = "run-in-thread" name = "run-in-thread"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -6921,7 +6914,7 @@ dependencies = [
[[package]] [[package]]
name = "rustls-client-cert" name = "rustls-client-cert"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-tls", "actix-tls",
"actix-web", "actix-web",
@ -6933,7 +6926,7 @@ dependencies = [
[[package]] [[package]]
name = "rustls-example" name = "rustls-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-files", "actix-files",
"actix-web", "actix-web",
@ -7331,7 +7324,7 @@ dependencies = [
[[package]] [[package]]
name = "server-sent-events" name = "server-sent-events"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"actix-web-lab", "actix-web-lab",
@ -7399,7 +7392,7 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]] [[package]]
name = "shutdown-server" name = "shutdown-server"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"actix-web-lab", "actix-web-lab",
@ -7445,7 +7438,7 @@ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"
[[package]] [[package]]
name = "simple-auth-server" name = "simple-auth-server"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-identity", "actix-identity",
"actix-session", "actix-session",
@ -7462,6 +7455,7 @@ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
"sparklepost", "sparklepost",
"temp-env",
"time", "time",
"uuid", "uuid",
] ]
@ -7804,7 +7798,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]] [[package]]
name = "state" name = "state"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -7813,7 +7807,7 @@ dependencies = [
[[package]] [[package]]
name = "static-files" name = "static-files"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-files", "actix-files",
"actix-web", "actix-web",
@ -8010,6 +8004,15 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
[[package]]
name = "temp-env"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96374855068f47402c3121c6eed88d29cb1de8f3ab27090e273e420bdabcf050"
dependencies = [
"parking_lot",
]
[[package]] [[package]]
name = "tempfile" name = "tempfile"
version = "3.17.1" version = "3.17.1"
@ -8026,7 +8029,7 @@ dependencies = [
[[package]] [[package]]
name = "templating-askama" name = "templating-askama"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"askama", "askama",
@ -8036,7 +8039,7 @@ dependencies = [
[[package]] [[package]]
name = "templating-fluent" name = "templating-fluent"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"actix-web-lab", "actix-web-lab",
@ -8049,7 +8052,7 @@ dependencies = [
[[package]] [[package]]
name = "templating-handlebars" name = "templating-handlebars"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -8059,7 +8062,7 @@ dependencies = [
[[package]] [[package]]
name = "templating-minijinja" name = "templating-minijinja"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-utils", "actix-utils",
"actix-web", "actix-web",
@ -8071,7 +8074,7 @@ dependencies = [
[[package]] [[package]]
name = "templating-sailfish" name = "templating-sailfish"
version = "0.1.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -8081,7 +8084,7 @@ dependencies = [
[[package]] [[package]]
name = "templating-tera" name = "templating-tera"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -8091,7 +8094,7 @@ dependencies = [
[[package]] [[package]]
name = "templating-tinytemplate" name = "templating-tinytemplate"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -8102,7 +8105,7 @@ dependencies = [
[[package]] [[package]]
name = "templating-yarte" name = "templating-yarte"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"derive_more 2.0.1", "derive_more 2.0.1",
@ -8290,7 +8293,7 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]] [[package]]
name = "tls-acme" name = "tls-acme"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"acme-rfc8555", "acme-rfc8555",
"actix-files", "actix-files",
@ -8306,7 +8309,7 @@ dependencies = [
[[package]] [[package]]
name = "tls-openssl" name = "tls-openssl"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -8337,7 +8340,7 @@ dependencies = [
[[package]] [[package]]
name = "todo" name = "todo"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-files", "actix-files",
"actix-session", "actix-session",
@ -8767,7 +8770,7 @@ dependencies = [
[[package]] [[package]]
name = "tracing-mainmatter-workshop" name = "tracing-mainmatter-workshop"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"dotenvy", "dotenvy",
@ -9054,7 +9057,7 @@ dependencies = [
[[package]] [[package]]
name = "unix-socket" name = "unix-socket"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"env_logger", "env_logger",
@ -9376,7 +9379,7 @@ dependencies = [
[[package]] [[package]]
name = "websocket" name = "websocket"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-files", "actix-files",
"actix-web", "actix-web",
@ -9392,7 +9395,7 @@ dependencies = [
[[package]] [[package]]
name = "websocket-autobahn" name = "websocket-autobahn"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix", "actix",
"actix-web", "actix-web",
@ -9403,7 +9406,7 @@ dependencies = [
[[package]] [[package]]
name = "websocket-chat-actorless-example" name = "websocket-chat-actorless-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-files", "actix-files",
"actix-web", "actix-web",
@ -9417,7 +9420,7 @@ dependencies = [
[[package]] [[package]]
name = "websocket-chat-broker" name = "websocket-chat-broker"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix", "actix",
"actix-broker", "actix-broker",
@ -9431,7 +9434,7 @@ dependencies = [
[[package]] [[package]]
name = "websocket-example" name = "websocket-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix", "actix",
"actix-files", "actix-files",
@ -9444,7 +9447,7 @@ dependencies = [
[[package]] [[package]]
name = "websocket-tcp-example" name = "websocket-tcp-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix", "actix",
"actix-codec", "actix-codec",
@ -9465,7 +9468,7 @@ dependencies = [
[[package]] [[package]]
name = "websockets-echo-actorless-example" name = "websockets-echo-actorless-example"
version = "1.0.0" version = "0.0.0"
dependencies = [ dependencies = [
"actix-files", "actix-files",
"actix-web", "actix-web",
@ -9529,7 +9532,7 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
dependencies = [ dependencies = [
"windows-sys 0.48.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]

View File

@ -1,5 +1,5 @@
[workspace] [workspace]
resolver = "2" resolver = "3"
members = [ members = [
"auth/casbin", "auth/casbin",
"auth/cookie-auth", "auth/cookie-auth",
@ -74,8 +74,8 @@ exclude = [
[workspace.package] [workspace.package]
publish = false publish = false
edition = "2021" edition = "2024"
rust-version = "1.72" rust-version = "1.85"
[workspace.dependencies] [workspace.dependencies]
actix = "0.13" actix = "0.13"
@ -83,7 +83,7 @@ actix-broker = "0.4"
actix-codec = "0.5" actix-codec = "0.5"
actix-cors = "0.7" actix-cors = "0.7"
actix-files = "0.6" actix-files = "0.6"
actix-http = "3.5" actix-http = "3.10"
actix-identity = "0.8" actix-identity = "0.8"
actix-multipart = "0.7" actix-multipart = "0.7"
actix-protobuf = "0.11" actix-protobuf = "0.11"
@ -91,11 +91,11 @@ actix-session = "0.10"
actix-test = "0.1" actix-test = "0.1"
actix-tls = "3.4" actix-tls = "3.4"
actix-utils = "3" actix-utils = "3"
actix-web = "4.9" actix-web = "4.10"
actix-web-actors = "4.1" actix-web-actors = "4.1"
actix-web-lab = "0.23" actix-web-lab = "0.24"
actix-ws = "0.3" actix-ws = "0.3"
awc = "3.2" awc = "3.6"
chrono = { version = "0.4.30", features = ["serde"] } chrono = { version = "0.4.30", features = ["serde"] }
derive_more = "2" derive_more = "2"
@ -116,6 +116,7 @@ rustls-pemfile = "2"
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }
serde_json = "1" serde_json = "1"
time = "0.3" time = "0.3"
temp-env = "0.3"
tokio = { version = "1.24.2", features = ["sync", "io-util"] } tokio = { version = "1.24.2", features = ["sync", "io-util"] }
tokio-util = "0.7.4" tokio-util = "0.7.4"
tokio-stream = "0.1.1" tokio-stream = "0.1.1"

View File

@ -1,7 +1,7 @@
[package] [package]
name = "actix-casbin-example" name = "actix-casbin-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "cookie-auth" name = "cookie-auth"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "cookie-session" name = "cookie-session"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "redis-session-example" name = "redis-session-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "simple-auth-server" name = "simple-auth-server"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-identity.workspace = true actix-identity.workspace = true
@ -20,5 +20,6 @@ rust-argon2 = "2"
serde_json.workspace = true serde_json.workspace = true
serde.workspace = true serde.workspace = true
sparklepost = "0.5" sparklepost = "0.5"
temp-env.workspace = true
time.workspace = true time.workspace = true
uuid.workspace = true uuid.workspace = true

View File

@ -1,4 +1,4 @@
use actix_web::{error::ResponseError, HttpResponse}; use actix_web::{HttpResponse, error::ResponseError};
use derive_more::Display; use derive_more::Display;
use diesel::result::{DatabaseErrorKind, Error as DBError}; use diesel::result::{DatabaseErrorKind, Error as DBError};
use uuid::Error as ParseError; use uuid::Error as ParseError;
@ -22,7 +22,7 @@ impl ResponseError for ServiceError {
ServiceError::InternalServerError => { ServiceError::InternalServerError => {
HttpResponse::InternalServerError().json("Internal Server Error, Please try later") HttpResponse::InternalServerError().json("Internal Server Error, Please try later")
} }
ServiceError::BadRequest(ref message) => HttpResponse::BadRequest().json(message), ServiceError::BadRequest(message) => HttpResponse::BadRequest().json(message),
ServiceError::Unauthorized => HttpResponse::Unauthorized().json("Unauthorized"), ServiceError::Unauthorized => HttpResponse::Unauthorized().json("Unauthorized"),
} }
} }

View File

@ -30,16 +30,14 @@ pub fn verify(hash: &str, password: &str) -> Result<bool, ServiceError> {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use std::env;
use actix_web::cookie::Key; use actix_web::cookie::Key;
use super::SECRET_KEY; use super::SECRET_KEY;
#[test] #[test]
fn secret_key_default() { fn secret_key_default() {
env::remove_var("SECRET_KEY"); temp_env::with_var("SECRET_KEY", None::<&str>, || {
assert!(Key::try_from(SECRET_KEY.as_bytes()).is_ok());
assert!(Key::try_from(SECRET_KEY.as_bytes()).is_ok()); });
} }
} }

View File

@ -1,7 +1,7 @@
[package] [package]
name = "background-jobs" name = "background-jobs"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "basics" name = "basics"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-files.workspace = true actix-files.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "error-handling" name = "error-handling"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "hello-world" name = "hello-world"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "nested-routing" name = "nested-routing"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "state" name = "state"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "static-files" name = "static-files"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "todo" name = "todo"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-files.workspace = true actix-files.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "cors" name = "cors"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "async-data" name = "async-data"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "db-diesel" name = "db-diesel"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "db-mongo" name = "db-mongo"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "mysql" name = "mysql"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "db-postgres" name = "db-postgres"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "db-redis" name = "db-redis"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "db-sqlite" name = "db-sqlite"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
# Do not use workspace deps as this package isn't part of the workspace. # Do not use workspace deps as this package isn't part of the workspace.
[dependencies] [dependencies]

View File

@ -1,7 +1,7 @@
[package] [package]
name = "docker_sample" name = "docker_sample"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
# Do not use workspace deps as they won't work in docker context. # Do not use workspace deps as they won't work in docker context.
[dependencies] [dependencies]

View File

@ -1,7 +1,7 @@
[package] [package]
name = "form-example" name = "form-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "multipart-s3-example" name = "multipart-s3-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-multipart.workspace = true actix-multipart.workspace = true

View File

@ -1,8 +1,7 @@
[package] [package]
name = "multipart-example" name = "multipart-example"
version = "1.0.0"
description = "Simple file uploader in Actix Web with Async/Await"
edition.workspace = true edition.workspace = true
rust-version.workspace = true
[dependencies] [dependencies]
actix-multipart.workspace = true actix-multipart.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "async-graphql-demo" name = "async-graphql-demo"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "juniper-advanced" name = "juniper-advanced"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "juniper-example" name = "juniper-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "guards" name = "guards"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "http-proxy" name = "http-proxy"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web = { workspace = true, features = ["openssl"] } actix-web = { workspace = true, features = ["openssl"] }

View File

@ -1,8 +1,7 @@
[package] [package]
name = "tls-acme" name = "tls-acme"
version = "1.0.0"
publish = false
edition.workspace = true edition.workspace = true
rust-version.workspace = true
[dependencies] [dependencies]
acme-rfc8555 = "0.1" acme-rfc8555 = "0.1"

View File

@ -1,7 +1,7 @@
[package] [package]
name = "awc_https" name = "awc_https"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "cert-watch" name = "cert-watch"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web = { workspace = true, features = ["rustls-0_23"] } actix-web = { workspace = true, features = ["rustls-0_23"] }

View File

@ -1,7 +1,7 @@
[package] [package]
name = "tls-openssl" name = "tls-openssl"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web = { workspace = true, features = ["openssl"] } actix-web = { workspace = true, features = ["openssl"] }

View File

@ -1,7 +1,7 @@
[package] [package]
name = "rustls-client-cert" name = "rustls-client-cert"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-tls = { workspace = true, features = ["rustls-0_23"] } actix-tls = { workspace = true, features = ["rustls-0_23"] }

View File

@ -1,7 +1,7 @@
[package] [package]
name = "rustls-example" name = "rustls-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web = { workspace = true, features = ["rustls-0_23"] } actix-web = { workspace = true, features = ["rustls-0_23"] }

View File

@ -1,7 +1,7 @@
[package] [package]
name = "json_decode_error" name = "json_decode_error"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "json_error" name = "json_error"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "json-validation" name = "json-validation"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "json-example" name = "json-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "jsonrpc-example" name = "jsonrpc-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,15 +1,11 @@
// Allow this lint since it's fine to use type directly in the short example.
#![allow(clippy::type_complexity)]
use std::{ use std::{
error, error,
future::Future,
pin::Pin, pin::Pin,
sync::{Arc, RwLock}, sync::{Arc, RwLock},
time::Duration, time::Duration,
}; };
use actix_web::{middleware, web, App, Error, HttpResponse, HttpServer}; use actix_web::{App, Error, HttpResponse, HttpServer, middleware, web};
use bytes::Bytes; use bytes::Bytes;
use futures_util::FutureExt as _; use futures_util::FutureExt as _;
use serde_json::Value; use serde_json::Value;
@ -88,9 +84,12 @@ async fn rpc_select(
pub trait ImplNetwork { pub trait ImplNetwork {
fn ping(&self) -> String; fn ping(&self) -> String;
#[allow(clippy::type_complexity)]
fn wait(&self, d: u64) -> Pin<Box<dyn Future<Output = Result<String, Box<dyn error::Error>>>>>; fn wait(&self, d: u64) -> Pin<Box<dyn Future<Output = Result<String, Box<dyn error::Error>>>>>;
fn get(&self) -> u32; fn get(&self) -> u32;
fn inc(&mut self); fn inc(&mut self);
} }

View File

@ -1,8 +1,7 @@
[package] [package]
name = "middleware-encrypted-payloads" name = "middleware-encrypted-payloads"
version = "1.0.0"
publish.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true
[dependencies] [dependencies]
actix-http.workspace = true actix-http.workspace = true

View File

@ -1,8 +1,7 @@
[package] [package]
name = "middleware-http-to-https" name = "middleware-http-to-https"
version = "1.0.0"
publish.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true
[dependencies] [dependencies]
actix-web = { workspace = true, features = ["rustls-0_23"] } actix-web = { workspace = true, features = ["rustls-0_23"] }

View File

@ -1,8 +1,7 @@
[package] [package]
name = "middleware-rate-limit" name = "middleware-rate-limit"
version = "1.0.0"
publish.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true
[dependencies] [dependencies]
actix-governor = "0.5" actix-governor = "0.5"

View File

@ -1,8 +1,7 @@
[package] [package]
name = "middleware-request-extensions" name = "middleware-request-extensions"
version = "1.0.0"
publish.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,8 +1,7 @@
[package] [package]
name = "middleware-various" name = "middleware-various"
version = "1.0.0"
publish.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true
[dependencies] [dependencies]
actix-http.workspace = true actix-http.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "protobuf-example" name = "protobuf-example"
version = "1.0.0"
edition.workspace = true edition.workspace = true
rust-version.workspace = true
[dependencies] [dependencies]
actix-protobuf.workspace = true actix-protobuf.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "run-in-thread" name = "run-in-thread"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
description = "Run Actix Web in separate thread" description = "Run Actix Web in separate thread"
[dependencies] [dependencies]

View File

@ -1,7 +1,7 @@
[package] [package]
name = "server-sent-events" name = "server-sent-events"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "shutdown-server" name = "shutdown-server"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
description = "Send a request to the server to shut it down" description = "Send a request to the server to shut it down"
[dependencies] [dependencies]

View File

@ -1,7 +1,7 @@
[package] [package]
name = "templating-askama" name = "templating-askama"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "templating-fluent" name = "templating-fluent"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "templating-handlebars" name = "templating-handlebars"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "templating-minijinja" name = "templating-minijinja"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,12 +1,13 @@
use std::{collections::HashMap, env, path::PathBuf}; use std::{collections::HashMap, env, path::PathBuf};
use actix_utils::future::{ready, Ready}; use actix_utils::future::{Ready, ready};
use actix_web::{ use actix_web::{
App, FromRequest, HttpRequest, HttpResponse, HttpServer, Responder, Result,
dev::{self, ServiceResponse}, dev::{self, ServiceResponse},
error, error,
http::{header::ContentType, StatusCode}, http::{StatusCode, header::ContentType},
middleware::{ErrorHandlerResponse, ErrorHandlers, Logger}, middleware::{ErrorHandlerResponse, ErrorHandlers, Logger},
web, App, FromRequest, HttpRequest, HttpResponse, HttpServer, Responder, Result, web,
}; };
use minijinja::path_loader; use minijinja::path_loader;
use minijinja_autoreload::AutoReloader; use minijinja_autoreload::AutoReloader;
@ -16,11 +17,11 @@ struct MiniJinjaRenderer {
} }
impl MiniJinjaRenderer { impl MiniJinjaRenderer {
fn render( fn render<T: Into<minijinja::value::Value>>(
&self, &self,
tmpl: &str, tmpl: &str,
ctx: impl Into<minijinja::value::Value>, ctx: T,
) -> actix_web::Result<impl Responder> { ) -> actix_web::Result<impl Responder + use<T>> {
self.tmpl_env self.tmpl_env
.acquire_env() .acquire_env()
.map_err(|_| error::ErrorInternalServerError("could not acquire template env"))? .map_err(|_| error::ErrorInternalServerError("could not acquire template env"))?

View File

@ -1,7 +1,7 @@
[package] [package]
name = "templating-sailfish" name = "templating-sailfish"
version = "0.1.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "templating-tera" name = "templating-tera"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "templating-tinytemplate" name = "templating-tinytemplate"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,8 +1,8 @@
[package] [package]
name = "templating-yarte" name = "templating-yarte"
version = "1.0.0" edition.workspace = true
rust-version.workspace = true
publish = false publish = false
edition = "2021"
[package.metadata.cargo-machete] [package.metadata.cargo-machete]
ignored = [ ignored = [

View File

@ -1,7 +1,5 @@
[package] [package]
name = "tracing-mainmatter-workshop" name = "tracing-mainmatter-workshop"
version = "1.0.0"
publish.workspace = true
edition.workspace = true edition.workspace = true
rust-version.workspace = true rust-version.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "unix-socket" name = "unix-socket"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-web.workspace = true actix-web.workspace = true

View File

@ -1,7 +1,7 @@
[package] [package]
name = "websocket-autobahn" name = "websocket-autobahn"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[[bin]] [[bin]]
name = "websocket-autobahn-server" name = "websocket-autobahn-server"

View File

@ -1,7 +1,7 @@
[package] [package]
name = "websocket-chat-actorless-example" name = "websocket-chat-actorless-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[dependencies] [dependencies]
actix-files.workspace = true actix-files.workspace = true

View File

@ -5,8 +5,8 @@ use std::{
use actix_ws::AggregatedMessage; use actix_ws::AggregatedMessage;
use futures_util::{ use futures_util::{
future::{select, Either},
StreamExt as _, StreamExt as _,
future::{Either, select},
}; };
use tokio::{sync::mpsc, time::interval}; use tokio::{sync::mpsc, time::interval};
@ -182,7 +182,7 @@ async fn process_text_msg(
} else { } else {
// prefix message with our name, if assigned // prefix message with our name, if assigned
let msg = match name { let msg = match name {
Some(ref name) => format!("{name}: {msg}"), Some(name) => format!("{name}: {msg}"),
None => msg.to_owned(), None => msg.to_owned(),
}; };

View File

@ -1,7 +1,7 @@
[package] [package]
name = "websocket-chat-broker" name = "websocket-chat-broker"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[[bin]] [[bin]]
name = "server" name = "server"

View File

@ -1,7 +1,7 @@
[package] [package]
name = "websocket-tcp-example" name = "websocket-tcp-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[[bin]] [[bin]]
name = "websocket-tcp-server" name = "websocket-tcp-server"

View File

@ -1,7 +1,7 @@
[package] [package]
name = "websocket-example" name = "websocket-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[[bin]] [[bin]]
name = "websocket-chat-server" name = "websocket-chat-server"

View File

@ -1,7 +1,7 @@
[package] [package]
name = "websockets-echo-actorless-example" name = "websockets-echo-actorless-example"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[[bin]] [[bin]]
name = "websocket-server" name = "websocket-server"

View File

@ -1,7 +1,7 @@
[package] [package]
name = "websocket" name = "websocket"
version = "1.0.0" edition.workspace = true
edition = "2021" rust-version.workspace = true
[[bin]] [[bin]]
name = "websocket-server" name = "websocket-server"