From d91c0f5ba3e22a08b70d371f9019874ae85dff06 Mon Sep 17 00:00:00 2001 From: David Pedersen Date: Fri, 3 Sep 2021 18:54:49 +0200 Subject: [PATCH] builder: Implement `Layer` for `ServiceBuilder` (#600) --- tower/CHANGELOG.md | 2 +- tower/src/builder/mod.rs | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/tower/CHANGELOG.md b/tower/CHANGELOG.md index 321955ea..0d8ee464 100644 --- a/tower/CHANGELOG.md +++ b/tower/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 # Unreleased -Nothing yet. +- **builder**: Implement `Layer` for `ServiceBuilder`. # 0.4.8 (May 28, 2021) diff --git a/tower/src/builder/mod.rs b/tower/src/builder/mod.rs index aed508cd..e7622f7f 100644 --- a/tower/src/builder/mod.rs +++ b/tower/src/builder/mod.rs @@ -673,3 +673,14 @@ impl fmt::Debug for ServiceBuilder { f.debug_tuple("ServiceBuilder").field(&self.layer).finish() } } + +impl Layer for ServiceBuilder +where + L: Layer, +{ + type Service = L::Service; + + fn layer(&self, inner: S) -> Self::Service { + self.layer.layer(inner) + } +}