Skip to content

Commit aed46ba

Browse files
committedFeb 15, 2025
feat!: replace Request.get_inner with AsRef/AsMut
1 parent edc5874 commit aed46ba

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed
 

‎examples/async.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -136,12 +136,12 @@ http_request_handler!(async_access_handler, |request: &mut http::Request| {
136136
}
137137

138138
let event_data = unsafe {
139-
let ctx = request.get_inner().ctx.add(ngx_http_async_module.ctx_index);
139+
let ctx = request.as_ref().ctx.add(ngx_http_async_module.ctx_index);
140140
if (*ctx).is_null() {
141141
let ctx_data = &mut *(request.pool().alloc(std::mem::size_of::<RequestCTX>()) as *mut RequestCTX);
142142
ctx_data.event_data = Some(Arc::new(EventData {
143143
done_flag: AtomicBool::new(false),
144-
request: &request.get_inner() as *const _ as *mut _,
144+
request: &request.as_ref() as *const _ as *mut _,
145145
}));
146146
*ctx = ctx_data as *const _ as _;
147147
ctx_data.event_data.as_ref().unwrap().clone()
@@ -191,7 +191,7 @@ http_request_handler!(async_access_handler, |request: &mut http::Request| {
191191
});
192192

193193
unsafe {
194-
(*request.get_inner().main).set_count((*request.get_inner().main).count() + 1);
194+
(*request.as_ref().main).set_count((*request.as_ref().main).count() + 1);
195195
}
196196
core::Status::NGX_DONE
197197
});

‎src/http/request.rs

+12-5
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,18 @@ impl<'a> From<&'a mut Request> for *mut ngx_http_request_t {
101101
}
102102
}
103103

104+
impl AsRef<ngx_http_request_t> for Request {
105+
fn as_ref(&self) -> &ngx_http_request_t {
106+
&self.0
107+
}
108+
}
109+
110+
impl AsMut<ngx_http_request_t> for Request {
111+
fn as_mut(&mut self) -> &mut ngx_http_request_t {
112+
&mut self.0
113+
}
114+
}
115+
104116
impl Request {
105117
/// Create a [`Request`] from an [`ngx_http_request_t`].
106118
///
@@ -402,11 +414,6 @@ impl Request {
402414
pub fn headers_out_iterator(&self) -> NgxListIterator {
403415
unsafe { list_iterator(&self.0.headers_out.headers) }
404416
}
405-
406-
/// Returns the inner data structure that the Request object is wrapping.
407-
pub fn get_inner(&self) -> &ngx_http_request_t {
408-
&self.0
409-
}
410417
}
411418

412419
// trait OnSubRequestDone {

0 commit comments

Comments
 (0)
Failed to load comments.