mirror of
https://github.com/actix/examples
synced 2024-11-27 16:02:57 +01:00
Update basics/basics to v4 (#474)
Co-authored-by: Rob Ede <robjtede@icloud.com>
This commit is contained in:
parent
9aef457a78
commit
8dcc610d23
216
Cargo.lock
generated
216
Cargo.lock
generated
@ -183,9 +183,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "actix-files"
|
||||
version = "0.6.0-beta.15"
|
||||
version = "0.6.0-beta.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "66862400e0b79538bc52926dadd965d01c9320b0477eecedac2d3d6bda5e9b92"
|
||||
checksum = "0b49f1b48724a52605ba40b67ede24f5a6cbc246817f9278d280d393a28e8b0e"
|
||||
dependencies = [
|
||||
"actix-http 3.0.0-rc.1",
|
||||
"actix-service 2.0.2",
|
||||
@ -327,9 +327,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "actix-multipart"
|
||||
version = "0.4.0-beta.12"
|
||||
version = "0.4.0-beta.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8362a002d669c85fea5504737a68b9f2d5538069ddd9ccd7d6d5f3eaa62cc000"
|
||||
checksum = "c59b1f14a8b2bc14df9be544d173f5390da5b62d531e406fd0f0ce9b825fea5a"
|
||||
dependencies = [
|
||||
"actix-utils 3.0.0",
|
||||
"actix-web 4.0.0-rc.1",
|
||||
@ -367,7 +367,7 @@ dependencies = [
|
||||
"actix-http 2.2.2",
|
||||
"actix-rt 1.1.1",
|
||||
"actix-service 1.0.6",
|
||||
"actix-session",
|
||||
"actix-session 0.4.1",
|
||||
"actix-utils 2.0.0",
|
||||
"actix-web 3.3.3",
|
||||
"backoff",
|
||||
@ -510,6 +510,23 @@ dependencies = [
|
||||
"time 0.2.27",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "actix-session"
|
||||
version = "0.5.0-beta.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8984fa6256873b5075143ef662898ed6699bcd0ca094d8a6e40048c12af8d591"
|
||||
dependencies = [
|
||||
"actix-service 2.0.2",
|
||||
"actix-utils 3.0.0",
|
||||
"actix-web 4.0.0-rc.1",
|
||||
"derive_more",
|
||||
"futures-util",
|
||||
"log",
|
||||
"serde 1.0.136",
|
||||
"serde_json",
|
||||
"time 0.3.7",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "actix-testing"
|
||||
version = "1.0.1"
|
||||
@ -579,7 +596,7 @@ name = "actix-todo"
|
||||
version = "2.0.0"
|
||||
dependencies = [
|
||||
"actix-files 0.3.0",
|
||||
"actix-session",
|
||||
"actix-session 0.4.1",
|
||||
"actix-web 3.3.3",
|
||||
"diesel",
|
||||
"dotenv",
|
||||
@ -800,6 +817,15 @@ dependencies = [
|
||||
"generic-array 0.14.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "aead"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877"
|
||||
dependencies = [
|
||||
"generic-array 0.14.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "aes"
|
||||
version = "0.6.0"
|
||||
@ -808,7 +834,19 @@ checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561"
|
||||
dependencies = [
|
||||
"aes-soft",
|
||||
"aesni",
|
||||
"cipher",
|
||||
"cipher 0.2.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "aes"
|
||||
version = "0.7.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"cipher 0.3.0",
|
||||
"cpufeatures",
|
||||
"opaque-debug 0.3.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -817,11 +855,25 @@ version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da"
|
||||
dependencies = [
|
||||
"aead",
|
||||
"aes",
|
||||
"cipher",
|
||||
"ctr",
|
||||
"ghash",
|
||||
"aead 0.3.2",
|
||||
"aes 0.6.0",
|
||||
"cipher 0.2.5",
|
||||
"ctr 0.6.0",
|
||||
"ghash 0.3.1",
|
||||
"subtle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "aes-gcm"
|
||||
version = "0.9.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6"
|
||||
dependencies = [
|
||||
"aead 0.4.3",
|
||||
"aes 0.7.5",
|
||||
"cipher 0.3.0",
|
||||
"ctr 0.8.0",
|
||||
"ghash 0.4.4",
|
||||
"subtle",
|
||||
]
|
||||
|
||||
@ -831,7 +883,7 @@ version = "0.6.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072"
|
||||
dependencies = [
|
||||
"cipher",
|
||||
"cipher 0.2.5",
|
||||
"opaque-debug 0.3.0",
|
||||
]
|
||||
|
||||
@ -841,7 +893,7 @@ version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce"
|
||||
dependencies = [
|
||||
"cipher",
|
||||
"cipher 0.2.5",
|
||||
"opaque-debug 0.3.0",
|
||||
]
|
||||
|
||||
@ -1336,11 +1388,13 @@ checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
|
||||
name = "basics"
|
||||
version = "2.0.0"
|
||||
dependencies = [
|
||||
"actix-files 0.3.0",
|
||||
"actix-session",
|
||||
"actix-utils 2.0.0",
|
||||
"actix-web 3.3.3",
|
||||
"env_logger 0.8.4",
|
||||
"actix-files 0.6.0-beta.16",
|
||||
"actix-session 0.5.0-beta.7",
|
||||
"actix-utils 3.0.0",
|
||||
"actix-web 4.0.0-rc.1",
|
||||
"env_logger 0.9.0",
|
||||
"tokio 1.16.1",
|
||||
"tokio-stream",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1622,7 +1676,7 @@ dependencies = [
|
||||
"num-integer",
|
||||
"num-traits 0.2.14",
|
||||
"serde 1.0.136",
|
||||
"time 0.1.44",
|
||||
"time 0.1.43",
|
||||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
@ -1657,6 +1711,15 @@ dependencies = [
|
||||
"generic-array 0.14.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cipher"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
|
||||
dependencies = [
|
||||
"generic-array 0.14.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "2.34.0"
|
||||
@ -1759,9 +1822,9 @@ version = "0.14.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951"
|
||||
dependencies = [
|
||||
"aes-gcm",
|
||||
"aes-gcm 0.8.0",
|
||||
"base64 0.13.0",
|
||||
"hkdf",
|
||||
"hkdf 0.10.0",
|
||||
"hmac 0.10.1",
|
||||
"percent-encoding",
|
||||
"rand 0.8.4",
|
||||
@ -1776,7 +1839,14 @@ version = "0.16.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "94d4706de1b0fa5b132270cddffa8585166037822e260a944fe161acd137ca05"
|
||||
dependencies = [
|
||||
"aes-gcm 0.9.4",
|
||||
"base64 0.13.0",
|
||||
"hkdf 0.12.2",
|
||||
"hmac 0.12.0",
|
||||
"percent-encoding",
|
||||
"rand 0.8.4",
|
||||
"sha2 0.10.1",
|
||||
"subtle",
|
||||
"time 0.3.7",
|
||||
"version_check 0.9.4",
|
||||
]
|
||||
@ -1795,7 +1865,7 @@ dependencies = [
|
||||
name = "cookie-session"
|
||||
version = "1.0.0"
|
||||
dependencies = [
|
||||
"actix-session",
|
||||
"actix-session 0.4.1",
|
||||
"actix-web 3.3.3",
|
||||
"env_logger 0.8.4",
|
||||
]
|
||||
@ -1968,7 +2038,16 @@ version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f"
|
||||
dependencies = [
|
||||
"cipher",
|
||||
"cipher 0.2.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ctr"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea"
|
||||
dependencies = [
|
||||
"cipher 0.3.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2187,6 +2266,7 @@ dependencies = [
|
||||
"block-buffer 0.10.0",
|
||||
"crypto-common",
|
||||
"generic-array 0.14.5",
|
||||
"subtle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2597,7 +2677,7 @@ checksum = "418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"libc",
|
||||
"wasi 0.10.0+wasi-snapshot-preview1",
|
||||
"wasi 0.10.2+wasi-snapshot-preview1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2607,7 +2687,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375"
|
||||
dependencies = [
|
||||
"opaque-debug 0.3.0",
|
||||
"polyval",
|
||||
"polyval 0.4.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ghash"
|
||||
version = "0.4.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99"
|
||||
dependencies = [
|
||||
"opaque-debug 0.3.0",
|
||||
"polyval 0.5.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2764,6 +2854,15 @@ dependencies = [
|
||||
"hmac 0.10.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hkdf"
|
||||
version = "0.12.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "158bc31e00a68e380286904cc598715f861f2b0ccf7aa6fe20c6d0c49ca5d0f6"
|
||||
dependencies = [
|
||||
"hmac 0.12.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hmac"
|
||||
version = "0.9.0"
|
||||
@ -2794,6 +2893,15 @@ dependencies = [
|
||||
"digest 0.9.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hmac"
|
||||
version = "0.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ddca131f3e7f2ce2df364b57949a9d47915cfbd35e46cfee355ccebbf794d6a2"
|
||||
dependencies = [
|
||||
"digest 0.10.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hostname"
|
||||
version = "0.3.1"
|
||||
@ -3741,7 +3849,7 @@ dependencies = [
|
||||
"serde_json",
|
||||
"sha1",
|
||||
"sha2 0.8.2",
|
||||
"time 0.1.44",
|
||||
"time 0.1.43",
|
||||
"twox-hash",
|
||||
"uuid 0.8.2",
|
||||
]
|
||||
@ -4237,6 +4345,18 @@ dependencies = [
|
||||
"universal-hash",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "polyval"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"cpufeatures",
|
||||
"opaque-debug 0.3.0",
|
||||
"universal-hash",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "postgres-protocol"
|
||||
version = "0.5.3"
|
||||
@ -4579,7 +4699,7 @@ dependencies = [
|
||||
"actix-redis",
|
||||
"actix-rt 1.1.1",
|
||||
"actix-service 1.0.6",
|
||||
"actix-session",
|
||||
"actix-session 0.4.1",
|
||||
"actix-web 3.3.3",
|
||||
"env_logger 0.8.4",
|
||||
"rand 0.7.3",
|
||||
@ -4866,9 +4986,9 @@ checksum = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2"
|
||||
|
||||
[[package]]
|
||||
name = "rust_decimal"
|
||||
version = "1.20.0"
|
||||
version = "1.21.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e0593ce4677e3800ddafb3de917e8397b1348e06e688128ade722d88fbe11ebf"
|
||||
checksum = "4214023b1223d02a4aad9f0bb9828317634a56530870a2eaf7200a99c0c10f68"
|
||||
dependencies = [
|
||||
"arrayvec 0.7.2",
|
||||
"num-traits 0.2.14",
|
||||
@ -4940,7 +5060,7 @@ dependencies = [
|
||||
name = "rustls-example"
|
||||
version = "1.0.0"
|
||||
dependencies = [
|
||||
"actix-files 0.6.0-beta.15",
|
||||
"actix-files 0.6.0-beta.16",
|
||||
"actix-web 4.0.0-rc.1",
|
||||
"env_logger 0.9.0",
|
||||
"rustls 0.20.2",
|
||||
@ -5034,9 +5154,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "security-framework"
|
||||
version = "2.5.0"
|
||||
version = "2.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d09d3c15d814eda1d6a836f2f2b56a6abc1446c8a34351cb3180d3db92ffe4ce"
|
||||
checksum = "3fed7948b6c68acbb6e20c334f55ad635dc0f75506963de4464289fbd3b051ac"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"core-foundation",
|
||||
@ -5047,9 +5167,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "security-framework-sys"
|
||||
version = "2.5.0"
|
||||
version = "2.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e90dd10c41c6bfc633da6e0c659bd25d31e0791e5974ac42970267d59eba87f7"
|
||||
checksum = "a57321bf8bc2362081b2599912d2961fe899c0efadf1b4b2f8d48b3e253bb96c"
|
||||
dependencies = [
|
||||
"core-foundation-sys",
|
||||
"libc",
|
||||
@ -5266,6 +5386,17 @@ dependencies = [
|
||||
"opaque-debug 0.3.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sha2"
|
||||
version = "0.10.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "99c3bd8169c58782adad9290a9af5939994036b76187f7b4f0e6de91dbbfc0ec"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"cpufeatures",
|
||||
"digest 0.10.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "shlex"
|
||||
version = "1.1.0"
|
||||
@ -5540,7 +5671,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
|
||||
name = "static_index"
|
||||
version = "2.0.0"
|
||||
dependencies = [
|
||||
"actix-files 0.6.0-beta.15",
|
||||
"actix-files 0.6.0-beta.16",
|
||||
"actix-web 4.0.0-rc.1",
|
||||
"env_logger 0.9.0",
|
||||
]
|
||||
@ -5839,12 +5970,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.1.44"
|
||||
version = "0.1.43"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
|
||||
checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"wasi 0.10.0+wasi-snapshot-preview1",
|
||||
"winapi 0.3.9",
|
||||
]
|
||||
|
||||
@ -6670,9 +6800,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.10.0+wasi-snapshot-preview1"
|
||||
version = "0.10.2+wasi-snapshot-preview1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
|
||||
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
@ -7100,9 +7230,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "zeroize"
|
||||
version = "1.5.1"
|
||||
version = "1.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4062c749be08d90be727e9c5895371c3a0e49b90ba2b9592dc7afda95cc2b719"
|
||||
checksum = "7c88870063c39ee00ec285a2f8d6a966e5b6fb2becc4e8dac77ed0d370ed6006"
|
||||
|
||||
[[package]]
|
||||
name = "zstd"
|
||||
|
@ -5,8 +5,10 @@ authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
actix-web = "3"
|
||||
actix-files = "0.3"
|
||||
actix-session = "0.4"
|
||||
actix-utils = "2"
|
||||
env_logger = "0.8"
|
||||
actix-web = "4.0.0-beta.21"
|
||||
actix-files = "0.6.0-beta.15"
|
||||
actix-session = "0.5.0-beta.7"
|
||||
actix-utils = "3"
|
||||
tokio = "1"
|
||||
tokio-stream = "0.1"
|
||||
env_logger = "0.9"
|
||||
|
@ -1,12 +1,13 @@
|
||||
use actix_files as fs;
|
||||
use actix_session::{CookieSession, Session};
|
||||
use actix_utils::mpsc;
|
||||
use actix_web::http::{header, Method, StatusCode};
|
||||
use actix_web::{
|
||||
error, get, guard, middleware, web, App, Error, HttpRequest, HttpResponse,
|
||||
error, get, middleware, web, App, Either, Error, HttpRequest, HttpResponse,
|
||||
HttpServer, Result,
|
||||
};
|
||||
use std::{env, io};
|
||||
use tokio::sync::mpsc;
|
||||
use tokio_stream::wrappers::UnboundedReceiverStream;
|
||||
|
||||
/// favicon handler
|
||||
#[get("/favicon")]
|
||||
@ -27,7 +28,7 @@ async fn welcome(session: Session, req: HttpRequest) -> Result<HttpResponse> {
|
||||
}
|
||||
|
||||
// set counter to session
|
||||
session.set("counter", counter)?;
|
||||
session.insert("counter", counter)?;
|
||||
|
||||
// response
|
||||
Ok(HttpResponse::build(StatusCode::OK)
|
||||
@ -35,31 +36,36 @@ async fn welcome(session: Session, req: HttpRequest) -> Result<HttpResponse> {
|
||||
.body(include_str!("../static/welcome.html")))
|
||||
}
|
||||
|
||||
/// 404 handler
|
||||
async fn p404() -> Result<fs::NamedFile> {
|
||||
Ok(fs::NamedFile::open("static/404.html")?.set_status_code(StatusCode::NOT_FOUND))
|
||||
async fn default_handler(
|
||||
request: HttpRequest,
|
||||
) -> Result<Either<fs::NamedFile, HttpResponse>> {
|
||||
match *request.method() {
|
||||
actix_web::http::Method::GET => {
|
||||
let file = fs::NamedFile::open("static/404.html")?
|
||||
.set_status_code(StatusCode::NOT_FOUND);
|
||||
Ok(Either::Left(file))
|
||||
}
|
||||
_ => Ok(Either::Right(HttpResponse::MethodNotAllowed().finish())),
|
||||
}
|
||||
}
|
||||
|
||||
/// response body
|
||||
async fn response_body(path: web::Path<String>) -> HttpResponse {
|
||||
let text = format!("Hello {}!", *path);
|
||||
|
||||
let (tx, rx_body) = mpsc::channel();
|
||||
let (tx, rx_body) = mpsc::unbounded_channel();
|
||||
let _ = tx.send(Ok::<_, Error>(web::Bytes::from(text)));
|
||||
|
||||
HttpResponse::Ok().streaming(rx_body)
|
||||
HttpResponse::Ok().streaming(UnboundedReceiverStream::from(rx_body))
|
||||
}
|
||||
|
||||
/// handler with path parameters like `/user/{name}/`
|
||||
async fn with_param(
|
||||
req: HttpRequest,
|
||||
web::Path((name,)): web::Path<(String,)>,
|
||||
) -> HttpResponse {
|
||||
async fn with_param(req: HttpRequest, path: web::Path<(String,)>) -> HttpResponse {
|
||||
println!("{:?}", req);
|
||||
|
||||
HttpResponse::Ok()
|
||||
.content_type("text/plain")
|
||||
.body(format!("Hello {}!", name))
|
||||
.body(format!("Hello {}!", path.0))
|
||||
}
|
||||
|
||||
#[actix_web::main]
|
||||
@ -102,21 +108,11 @@ async fn main() -> io::Result<()> {
|
||||
.service(web::resource("/").route(web::get().to(|req: HttpRequest| {
|
||||
println!("{:?}", req);
|
||||
HttpResponse::Found()
|
||||
.header(header::LOCATION, "static/welcome.html")
|
||||
.insert_header((header::LOCATION, "static/welcome.html"))
|
||||
.finish()
|
||||
})))
|
||||
// default
|
||||
.default_service(
|
||||
// 404 for GET request
|
||||
web::resource("")
|
||||
.route(web::get().to(p404))
|
||||
// all requests that are not `GET`
|
||||
.route(
|
||||
web::route()
|
||||
.guard(guard::Not(guard::Get()))
|
||||
.to(HttpResponse::MethodNotAllowed),
|
||||
),
|
||||
)
|
||||
.default_service(web::route().to(default_handler))
|
||||
})
|
||||
.bind("127.0.0.1:8080")?
|
||||
.run()
|
||||
|
Loading…
Reference in New Issue
Block a user