From 137f8d2ac9bb47f3889ec2a794bc4283060e68a1 Mon Sep 17 00:00:00 2001 From: kanarus Date: Fri, 15 Aug 2025 04:22:43 +0900 Subject: [PATCH] refactor(request): rename `Request::{init => uninit}` & fix `Pin::{new_unchecked => new}` --- ohkami/src/fang/builtin/jwt.rs | 8 ++++---- ohkami/src/ohkami/mod.rs | 8 ++++---- ohkami/src/request/_test_parse.rs | 4 ++-- ohkami/src/request/mod.rs | 2 +- ohkami/src/session/mod.rs | 12 +++++------- ohkami/src/testing/mod.rs | 2 +- 6 files changed, 17 insertions(+), 19 deletions(-) diff --git a/ohkami/src/fang/builtin/jwt.rs b/ohkami/src/fang/builtin/jwt.rs index 0a4ba020d..a460bc03c 100644 --- a/ohkami/src/fang/builtin/jwt.rs +++ b/ohkami/src/fang/builtin/jwt.rs @@ -444,8 +444,8 @@ impl Deserialize<'de>> Jwt { .header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3MDY4MTEwNzUsInVzZXJfaWQiOiI5ZmMwMDViMi1mODU4LTQzMzYtODkwYS1mMWEyYWVmNjBhMjQifQ.AKp-0zvKK4Hwa6qCgxskckD04Snf0gpSG7U1LOpcC_I") .encode(); let mut req_bytes = &req_bytes[..]; - let mut req = Request::init(crate::util::IP_0000); - let mut req = unsafe {Pin::new_unchecked(&mut req)}; + let mut req = Request::uninit(crate::util::IP_0000); + let mut req = Pin::new(&mut req); crate::__rt__::testing::block_on({ req.as_mut().read(&mut req_bytes) }).unwrap(); @@ -460,8 +460,8 @@ impl Deserialize<'de>> Jwt { .header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3MDY4MTEwNzUsInVzZXJfaWQiOiI5ZmMwMDViMi1mODU4LTQzMzYtODkwYS1mMWEyYWVmNjBhMjQifQ.AKp-0zvKK4Hwa6qCgxskckD04Snf0gpSG7U1LOpcC_X") .encode(); let mut req_bytes = &req_bytes[..]; - let mut req = Request::init(crate::util::IP_0000); - let mut req = unsafe {Pin::new_unchecked(&mut req)}; + let mut req = Request::uninit(crate::util::IP_0000); + let mut req = Pin::new(&mut req); crate::__rt__::testing::block_on({ req.as_mut().read(&mut req_bytes) }).unwrap(); diff --git a/ohkami/src/ohkami/mod.rs b/ohkami/src/ohkami/mod.rs index f0320644c..54d94f145 100644 --- a/ohkami/src/ohkami/mod.rs +++ b/ohkami/src/ohkami/mod.rs @@ -771,10 +771,10 @@ impl Ohkami { ) -> ::worker::Response { crate::DEBUG!("Called `#[ohkami::worker]`; req: {req:?}"); - let mut ohkami_req = crate::Request::init(); + let mut ohkami_req = crate::Request::uninit(); crate::DEBUG!("Done `ohkami::Request::init`"); - let mut ohkami_req = unsafe {std::pin::Pin::new_unchecked(&mut ohkami_req)}; + let mut ohkami_req = std::pin::Pin::new(&mut ohkami_req); crate::DEBUG!("Put request in `Pin`"); let take_over = ohkami_req.as_mut().take_over(req, env, ctx).await; @@ -918,8 +918,8 @@ const _: () = { req: lambda_runtime::LambdaEvent ) -> Self::Future { let f = async move { - let mut ohkami_req = crate::Request::init(); - let mut ohkami_req = unsafe {std::pin::Pin::new_unchecked(&mut ohkami_req)}; + let mut ohkami_req = crate::Request::uninit(); + let mut ohkami_req = std::pin::Pin::new(&mut ohkami_req); ohkami_req.as_mut().take_over(req)?; let mut ohkami_res = ROUTER.get().unwrap().handle(&mut ohkami_req).await; diff --git a/ohkami/src/request/_test_parse.rs b/ohkami/src/request/_test_parse.rs index 5c4ebfe6a..7a089ae3e 100644 --- a/ohkami/src/request/_test_parse.rs +++ b/ohkami/src/request/_test_parse.rs @@ -26,8 +26,8 @@ macro_rules! assert_parse { ($case:expr, $expected:expr) => { let mut case = $case.as_bytes(); - let mut actual = Request::init(crate::util::IP_0000); - let mut actual = unsafe {Pin::new_unchecked(&mut actual)}; + let mut actual = Request::uninit(crate::util::IP_0000); + let mut actual = Pin::new(&mut actual); let result = crate::__rt__::testing::block_on({ actual.as_mut().read(&mut case) diff --git a/ohkami/src/request/mod.rs b/ohkami/src/request/mod.rs index 79b04c604..404399979 100644 --- a/ohkami/src/request/mod.rs +++ b/ohkami/src/request/mod.rs @@ -177,7 +177,7 @@ pub struct Request { impl Request { #[cfg(feature="__rt__")] #[inline] - pub(crate) fn init( + pub(crate) fn uninit( #[cfg(feature="__rt_native__")] ip: std::net::IpAddr ) -> Self { diff --git a/ohkami/src/session/mod.rs b/ohkami/src/session/mod.rs index 2f418e0b3..fe0ea360b 100644 --- a/ohkami/src/session/mod.rs +++ b/ohkami/src/session/mod.rs @@ -55,17 +55,15 @@ impl Session { } } - let mut req = Request::init(self.ip); - let mut req = unsafe { Pin::new_unchecked(&mut req) }; + let mut req = Request::uninit(self.ip); + let mut req = Pin::new(&mut req); let upgrade = loop { req.clear(); // Apply a fresh timeout for each read, thus resetting the timer on activity. - let read_result = with_timeout( + match with_timeout( Duration::from_secs(crate::CONFIG.keepalive_timeout()), - async { req.as_mut().read(&mut self.connection).await } - ).await; - - match read_result { + req.as_mut().read(&mut self.connection) + ).await { None => { crate::DEBUG!("\ Reached Keep-Alive timeout. In Ohkami, Keep-Alive timeout \ diff --git a/ohkami/src/testing/mod.rs b/ohkami/src/testing/mod.rs index 0a905c77e..c48472b8a 100644 --- a/ohkami/src/testing/mod.rs +++ b/ohkami/src/testing/mod.rs @@ -57,7 +57,7 @@ impl TestingOhkami { let router = self.0.clone(); let res = async move { - let mut request = Request::init(#[cfg(feature="__rt_native__")] crate::util::IP_0000); + let mut request = Request::uninit(#[cfg(feature="__rt_native__")] crate::util::IP_0000); let mut request = unsafe {Pin::new_unchecked(&mut request)}; let res = match request.as_mut().read(&mut &req.encode()[..]).await {