diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-02 18:36:06 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-02 18:36:06 -0600 |
| commit | 8cdfa445d6629ffef4cb84967ff7017654045bc2 (patch) | |
| tree | 22f0b0907c024c78d26a731e2e1f5219407d8102 /vendor/tower-layer/src/identity.rs | |
| parent | 4351c74c7c5f97156bc94d3a8549b9940ac80e3f (diff) | |
chore: add vendor directory
Diffstat (limited to 'vendor/tower-layer/src/identity.rs')
| -rw-r--r-- | vendor/tower-layer/src/identity.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/vendor/tower-layer/src/identity.rs b/vendor/tower-layer/src/identity.rs new file mode 100644 index 00000000..5233a1d8 --- /dev/null +++ b/vendor/tower-layer/src/identity.rs @@ -0,0 +1,37 @@ +use super::Layer; +use std::fmt; + +/// A no-op middleware. +/// +/// When wrapping a [`Service`], the [`Identity`] layer returns the provided +/// service without modifying it. +/// +/// [`Service`]: https://docs.rs/tower-service/latest/tower_service/trait.Service.html +#[derive(Default, Clone)] +pub struct Identity { + _p: (), +} + +impl Identity { + /// Create a new [`Identity`] value + pub const fn new() -> Identity { + Identity { _p: () } + } +} + +/// Decorates a [`Service`], transforming either the request or the response. +/// +/// [`Service`]: https://docs.rs/tower-service/latest/tower_service/trait.Service.html +impl<S> Layer<S> for Identity { + type Service = S; + + fn layer(&self, inner: S) -> Self::Service { + inner + } +} + +impl fmt::Debug for Identity { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.debug_struct("Identity").finish() + } +} |
