fix: not found fallthru
This commit is contained in:
parent
568b248f3e
commit
d85bc8c579
26
Cargo.lock
generated
26
Cargo.lock
generated
@ -906,9 +906,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "toad"
|
name = "toad"
|
||||||
version = "1.0.0-beta.2"
|
version = "1.0.0-beta.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d41fbfaadd52558c4d595bf38fb6942333307c47158abc30c0c3a0bbd1848b65"
|
checksum = "7680b4a4868e2527ee0cb58b3850179f9ad9a44532b13fb9e4487a176091b71a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"embedded-time",
|
"embedded-time",
|
||||||
"log",
|
"log",
|
||||||
@ -922,7 +922,7 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"tinyvec",
|
"tinyvec",
|
||||||
"toad-array",
|
"toad-array 0.8.0",
|
||||||
"toad-hash",
|
"toad-hash",
|
||||||
"toad-len",
|
"toad-len",
|
||||||
"toad-macros",
|
"toad-macros",
|
||||||
@ -943,6 +943,16 @@ dependencies = [
|
|||||||
"toad-len",
|
"toad-len",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "toad-array"
|
||||||
|
version = "0.8.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "90c89c65763a9ed217a09ea4f43615153e9bccf82f972f3e5914ded7f5658fe6"
|
||||||
|
dependencies = [
|
||||||
|
"tinyvec",
|
||||||
|
"toad-len",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "toad-cursor"
|
name = "toad-cursor"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
@ -990,13 +1000,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "toad-msg"
|
name = "toad-msg"
|
||||||
version = "0.18.1"
|
version = "1.0.0-beta.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d78ad790094eefd8146fab35178e23b224285fe9b275132a31872c0f74b1a8ff"
|
checksum = "63f5ff0cb4b95ec5eb83db517a2301d6a5a5917d94124140dff2fafa283a41f5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"blake2",
|
"blake2",
|
||||||
"tinyvec",
|
"tinyvec",
|
||||||
"toad-array",
|
"toad-array 0.8.0",
|
||||||
"toad-cursor",
|
"toad-cursor",
|
||||||
"toad-hash",
|
"toad-hash",
|
||||||
"toad-len",
|
"toad-len",
|
||||||
@ -1017,7 +1027,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "fdad9197bf6974091949a6d3e00946558d69e0d7b3d159283c6c43fffdef59dc"
|
checksum = "fdad9197bf6974091949a6d3e00946558d69e0d7b3d159283c6c43fffdef59dc"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"tinyvec",
|
"tinyvec",
|
||||||
"toad-array",
|
"toad-array 0.2.3",
|
||||||
"toad-len",
|
"toad-len",
|
||||||
"toad-writable",
|
"toad-writable",
|
||||||
]
|
]
|
||||||
@ -1028,7 +1038,7 @@ version = "0.1.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ebe82c1076c85774b389e86cb2a2dbb846e35e599e9b42c8f2fc6628593cd0a9"
|
checksum = "ebe82c1076c85774b389e86cb2a2dbb846e35e599e9b42c8f2fc6628593cd0a9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"toad-array",
|
"toad-array 0.2.3",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -5,8 +5,8 @@ edition = "2021"
|
|||||||
publish = false
|
publish = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
toad = "1.0.0-beta.2"
|
toad = "1.0.0-beta.3"
|
||||||
toad-msg = "0.18.1"
|
toad-msg = "1.0.0-beta.1"
|
||||||
simple_logger = "4.2"
|
simple_logger = "4.2"
|
||||||
nb = "1.1.0"
|
nb = "1.1.0"
|
||||||
serde = {version = "1", features = ["derive"]}
|
serde = {version = "1", features = ["derive"]}
|
||||||
|
11
src/main.rs
11
src/main.rs
@ -3,6 +3,8 @@ use toad::net::Addrd;
|
|||||||
use toad::platform::Platform as _;
|
use toad::platform::Platform as _;
|
||||||
use toad::req::Req;
|
use toad::req::Req;
|
||||||
use toad::resp::Resp;
|
use toad::resp::Resp;
|
||||||
|
use toad_msg::alloc::Message;
|
||||||
|
use toad_msg::Type;
|
||||||
|
|
||||||
mod app;
|
mod app;
|
||||||
mod hashed_text;
|
mod hashed_text;
|
||||||
@ -82,7 +84,7 @@ struct Foo {
|
|||||||
id: String,
|
id: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_request(req: Addrd<Req<ToadT>>) -> Result<Addrd<Resp<ToadT>>, String> {
|
fn handle_request(req: Addrd<Req<ToadT>>) -> Result<Addrd<Message>, String> {
|
||||||
let path = req.data()
|
let path = req.data()
|
||||||
.path()
|
.path()
|
||||||
.map_err(|e| format!("{e:?}"))
|
.map_err(|e| format!("{e:?}"))
|
||||||
@ -94,9 +96,12 @@ fn handle_request(req: Addrd<Req<ToadT>>) -> Result<Addrd<Resp<ToadT>>, String>
|
|||||||
let mut path_segments = path_segments.clone();
|
let mut path_segments = path_segments.clone();
|
||||||
path_segments.next();
|
path_segments.next();
|
||||||
let _id = path_segments.next();
|
let _id = path_segments.next();
|
||||||
|
let msg = Message::builder(Type::Ack, toad::resp::code::NOT_FOUND).build();
|
||||||
|
Ok(Addrd(msg, req.addr()))
|
||||||
|
} else {
|
||||||
|
let msg = Message::builder(Type::Ack, toad::resp::code::NOT_FOUND).build();
|
||||||
|
Ok(Addrd(msg, req.addr()))
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(req.map(|r| Resp::for_request(&r).unwrap()))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn server_worker(p: &'static Toad) {
|
fn server_worker(p: &'static Toad) {
|
||||||
|
38
src/user.rs
38
src/user.rs
@ -222,29 +222,33 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn user_repo_insert() {
|
fn user_repo_insert() {
|
||||||
let client =
|
let client = || Client::<()> { state: Box::new(vec![UserTag::from("foo")]),
|
||||||
|| Client::<()> { state: Box::new(vec![UserTag::from("foo")]),
|
query_one: Box::new(|c, q, ps| {
|
||||||
query_one: Box::new(|c, q, ps| {
|
assert_eq!(
|
||||||
assert_eq!(q.unwrap_str(),
|
q.unwrap_str(),
|
||||||
format!(
|
format!(
|
||||||
"insert into public.usr
|
"insert into public.usr
|
||||||
(tag, password, email)
|
(tag, password, email)
|
||||||
values
|
values
|
||||||
($2, $3, $4)
|
($2, $3, $4)
|
||||||
returning uid;"));
|
returning uid;"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
let tags = c.state_mut::<Vec<UserTag>>();
|
let tags = c.state_mut::<Vec<UserTag>>();
|
||||||
|
|
||||||
let tag = UserTag::from(from_sql_owned::<String>(ps[0]));
|
let tag = UserTag::from(from_sql_owned::<String>(ps[0]));
|
||||||
|
|
||||||
if tags.contains(&tag) {
|
if tags.contains(&tag) {
|
||||||
Err(())
|
Err(())
|
||||||
} else {
|
} else {
|
||||||
tags.push(tag);
|
tags.push(tag);
|
||||||
Ok(Row::new(vec![("", Type::TEXT)]).value(Type::TEXT, tags.len().to_string()))
|
Ok(Row::new(vec![("", Type::TEXT)]).value(Type::TEXT,
|
||||||
}
|
tags.len()
|
||||||
}),
|
.to_string()))
|
||||||
..Client::default() };
|
}
|
||||||
|
}),
|
||||||
|
..Client::default() };
|
||||||
|
|
||||||
let db = PostgresImpl::try_new(|| Ok(client()), 1).unwrap();
|
let db = PostgresImpl::try_new(|| Ok(client()), 1).unwrap();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user