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",
"casbin",
"chrono",
"clippy",
"deadpool",
"dotenv",
"dotenvy",

191
Cargo.lock generated
View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
[package]
name = "simple-auth-server"
version = "1.0.0"
edition = "2021"
edition.workspace = true
rust-version.workspace = true
[dependencies]
actix-identity.workspace = true
@ -20,5 +20,6 @@ rust-argon2 = "2"
serde_json.workspace = true
serde.workspace = true
sparklepost = "0.5"
temp-env.workspace = true
time.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 diesel::result::{DatabaseErrorKind, Error as DBError};
use uuid::Error as ParseError;
@ -22,7 +22,7 @@ impl ResponseError for ServiceError {
ServiceError::InternalServerError => {
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"),
}
}

View File

@ -30,16 +30,14 @@ pub fn verify(hash: &str, password: &str) -> Result<bool, ServiceError> {
#[cfg(test)]
mod tests {
use std::env;
use actix_web::cookie::Key;
use super::SECRET_KEY;
#[test]
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());
});
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,7 @@
[package]
name = "jsonrpc-example"
version = "1.0.0"
edition = "2021"
edition.workspace = true
rust-version.workspace = true
[dependencies]
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::{
error,
future::Future,
pin::Pin,
sync::{Arc, RwLock},
time::Duration,
};
use actix_web::{middleware, web, App, Error, HttpResponse, HttpServer};
use actix_web::{App, Error, HttpResponse, HttpServer, middleware, web};
use bytes::Bytes;
use futures_util::FutureExt as _;
use serde_json::Value;
@ -88,9 +84,12 @@ async fn rpc_select(
pub trait ImplNetwork {
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 get(&self) -> u32;
fn inc(&mut self);
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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