pub trait SgRequestExt {
// Required methods
fn with_reflect(&mut self);
fn reflect_mut(&mut self) -> &mut Reflect;
fn reflect(&self) -> &Reflect;
fn get_redis_client_by_gateway_name(&self) -> Option<RedisClient>;
fn extract<M>(&self) -> M
where M: Extract;
fn try_extract<M>(&self) -> Option<M>
where M: OptionalExtract;
fn inject<I>(&mut self, i: &I) -> Result<(), Box<dyn Error + Send + Sync>>
where I: Inject;
fn defer_call<F>(&mut self, f: F)
where F: FnOnce(Request<SgBody>) -> Request<SgBody> + Send + 'static;
fn path_iter(&self) -> PathIter<'_>;
fn query_kv_iter(&self) -> Option<QueryKvIter<'_>>;
}
Expand description
Provides extension methods for Request
.
Required Methods§
fn with_reflect(&mut self)
fn reflect_mut(&mut self) -> &mut Reflect
fn reflect(&self) -> &Reflect
fn get_redis_client_by_gateway_name(&self) -> Option<RedisClient>
fn extract<M>(&self) -> Mwhere
M: Extract,
fn try_extract<M>(&self) -> Option<M>where
M: OptionalExtract,
Sourcefn inject<I>(&mut self, i: &I) -> Result<(), Box<dyn Error + Send + Sync>>where
I: Inject,
fn inject<I>(&mut self, i: &I) -> Result<(), Box<dyn Error + Send + Sync>>where
I: Inject,
§Errors
If the injection fails.
fn defer_call<F>(&mut self, f: F)
fn path_iter(&self) -> PathIter<'_>
fn query_kv_iter(&self) -> Option<QueryKvIter<'_>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl SgRequestExt for Request<SgBody>
impl SgRequestExt for Request<SgBody>
Source§fn reflect_mut(&mut self) -> &mut Reflect
fn reflect_mut(&mut self) -> &mut Reflect
Get a mutable reference to the reflect extension.
§Panics
Panics if the reflect extension is not found. If you are using a request created by spacegate, this should never happen.
Source§fn reflect(&self) -> &Reflect
fn reflect(&self) -> &Reflect
Get a reference to the reflect extension.
§Panics
Panics if the reflect extension is not found. If you are using a request created by spacegate, this should never happen.
Source§fn with_reflect(&mut self)
fn with_reflect(&mut self)
Add a reflect extension to the request if it does not exist.
Source§fn get_redis_client_by_gateway_name(&self) -> Option<RedisClient>
fn get_redis_client_by_gateway_name(&self) -> Option<RedisClient>
Get a redis client by the extension::GatewayName
, which would exist once the request had entered some gateway.
Source§fn try_extract<M>(&self) -> Option<M>where
M: OptionalExtract,
fn try_extract<M>(&self) -> Option<M>where
M: OptionalExtract,
Try to extract a value from the request.
Source§fn inject<I>(&mut self, i: &I) -> Result<(), Box<dyn Error + Send + Sync>>where
I: Inject,
fn inject<I>(&mut self, i: &I) -> Result<(), Box<dyn Error + Send + Sync>>where
I: Inject,
Inject some data into the request.
Source§fn defer_call<F>(&mut self, f: F)
fn defer_call<F>(&mut self, f: F)
Defer a call to the request. The call will be executed before the request has been sent to the backend.