20 Commits

Author SHA1 Message Date
David Pedersen
0226ef0f4c
Make combinators implement Debug in more cases (#552)
Co-authored-by: Eliza Weisman <eliza@buoyant.io>
2021-01-27 23:47:04 +01:00
David Pedersen
d25589d3a6
Fix all the docs links (#515)
* Fix docs links

* Add `#![deny(broken_intra_doc_links)]` to all crates

Co-authored-by: Eliza Weisman <eliza@buoyant.io>
2021-01-11 11:44:50 -05:00
Eliza Weisman
44ad621c56
layer: prepare to release v0.3.1 (#513)
* layer: prepare to release v0.3.1

Signed-off-by: Eliza Weisman <eliza@buoyant.io>

* whitespace
2021-01-07 15:05:45 -08:00
Eliza Weisman
fdd66e5305
docs pass (#490)
This branch makes the following changes:

* New `lib.rs` docs for `tower`, which should hopefully provide a
  better explanation of Tower's core abstractions & their
  relationships
* Nicer docs for `ServiceBuilder`
* Added `#[doc(cfg(...))]` attributes for feature flagged APIs
* Example improvements
* Fixing a bunch of broken intra-rustdoc links

Signed-off-by: Eliza Weisman <eliza@buoyant.io>
2021-01-04 13:52:23 -08:00
David Pedersen
f76fe9f38f
util: add layer_fn (#491)
Resolves #267

I went with `layer_fn` over `layer::from_fn` because changing
`service_fn` would be a breaking change. But I don't mind changing it if
you think thats more appropriate 😊 

Co-authored-by: Eliza Weisman <eliza@buoyant.io>
2020-12-29 10:33:31 -08:00
George Hahn
704bfa819e
layer: fix+improve doc links (#487)
- Fixes a link to the `Service` trait on the `tower_layer` module page.
  ([current page](https://docs.rs/tower-layer/0.3.0/tower_layer/index.html))
- Adds a link to `Service` on the `Layer` trait page.
  ([current page](https://docs.rs/tower-layer/0.3.0/tower_layer/trait.Layer.html))

These changes use old style links - intra-rustdoc links won't work
here because `tower`/`tower_service` aren't referenced by this crate.
2020-12-28 15:07:01 -08:00
Steven Fackler
82e578b5b0
Impl Layer for &Layer (#446) 2020-04-21 17:11:27 -04:00
David Barsky
45e311c2f2 layer: Prepare 0.3.0 Release (#372)
* layer: prepare 0.3.0 release

* fmt

* Update tower-layer/src/lib.rs
2019-11-29 16:09:47 -05:00
Jon Gjengset
2653f70884 Bumps for 0.3.0-alpha.2 (#355)
* Bump all to futures-* alpha.19

* Prepare for alpha.2 release

* Make tower-service also a path dep

* Use new tokio alpha
2019-09-30 18:56:26 -04:00
Jon Gjengset
6baf381879
Consistently apply deny/warn rules (#352)
This makes all tower subcrates have the following lints as warn (rather
than allow): `missing_docs`, `rust_2018_idioms`, `unreachable_pub`, and
`missing_debug_implementations`. In addition, it consistently applies
`deny(warning)` *only* under CI so that deprecations and macro changes in minor
version bumps in dependencies will never cause `tower` crates to stop
compiling, and so that tests can be run even if not all warnings have been
dealt with. See also https://github.com/rust-unofficial/patterns/blob/master/anti_patterns/deny-warnings.md

Note that `tower-reconnect` has the `missing_docs` lint disabled for now
since it contained _no_ documentation previously. Also note that this
patch does not add documentation to the various `new` methods, as they
are considered self-explanatory. They are instead marked as
`#[allow(missing_docs)]`.
2019-09-23 17:28:14 -04:00
Taiki Endo
5a561b7776 layer: remove unused dependencies (#351) 2019-09-23 09:54:08 -04:00
Jon Gjengset
db116d1937
Update tower-layer to std::future (#322)
This bumps tower-layer to 0.3.0-alpha.1
2019-09-07 00:22:18 -04:00
Carl Lerche
14f4259518
Prepare release (#273)
The following crates are to be released:

- tower
- tower-buffer
- tower-discover
- tower-layer
- tower-limit
- tower-load-shed
- tower-retry
- tower-service
- tower-test
- tower-timeout
- tower-util
2019-04-26 21:31:25 -07:00
Carl Lerche
07baf63048 Remove bounds of Service from Layer 2019-04-22 13:34:38 -07:00
David Barsky
17860191d7 Move Tower to 2018 Edition (#238) 2019-04-08 20:11:09 -07:00
Carl Lerche
019129829c
Move layer::{LayerExt, Chain, Identity} (#216)
- `tower-layer` util types are now in `tower-util`.
- `LayerExt` is now in `tower`.

This sets the stage for adding layer specific extension fns.
2019-03-29 14:28:06 -07:00
Lucio Franco
476f085c89
Introduce the ServiceBuilder (#175)
The `ServiceBuilder` composes layers together and produces either a `MakeService` or a `Service` wrapped by those layers.
2019-03-26 10:14:42 -04:00
Lucio Franco
0e70f1320e
layer: Add an identity layer (#195)
Tied to #175
2019-03-24 16:53:09 -04:00
Lucio Franco
0a234af4ba layer: Fix util feature and add chain try support (#174) 2019-02-28 14:34:00 -08:00
Lucio Franco
c5d70481bd
layer: Add tower-layer and the Layer trait (#163)
This change introduces the new `tower-layer` crate and the foundational `Layer` trait to go along with it. This trait allows one to easily compose a set of `Service`s that take an inner service. These services only modify the request/response. This also provides the `Layer` implementation for many of the tower crates.
2019-02-27 15:28:42 -05:00