35 Commits

Author SHA1 Message Date
Juan Alvarez
1843416dfe remove service, make and layer path deps (#382) 2019-12-06 11:59:56 -05:00
Lucio Franco
ec6215fb2f
Update timeout, tower-test and reconnect (#373)
* Update timeout and prepare 0.3

* Update tower-test and prepare release

* Update lib doc path

* Update reconnect and prepare for release
2019-12-02 19:14:15 -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
Taiki Endo
03dc7069aa Update pin-project to 0.4 (#350) 2019-09-30 14:58:27 -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
Sean McArthur
52075f3c6f Update tower-make to tokio-io v0.2.0-alpha.5 2019-09-20 15:09:09 -07:00
Lucio Franco
97a2bc18b9
timeout: Update changelog release date 2019-09-11 15:00:42 -04:00
Lucio Franco
fb124a14f0
Pin all the alpha based dependencies (#339)
Signed-off-by: Lucio Franco <luciofranco14@gmail.com>
2019-09-11 13:57:27 -04:00
Taiki Endo
921325ac2d Pin the version of pin-project 2019-09-11 10:00:27 -07:00
Taiki Endo
65e07064db Update pin-project to 0.4.0-alpha.11 2019-09-11 10:00:27 -07:00
Jon Gjengset
4eb47b01dc
Update tower-timeout to std::future (#328)
This bumps tower-timeout to 0.3.0-alpha.1
2019-09-09 16:20:09 -04:00
Lucio Franco
26d096bd99
timeout: Add Elapsed::new and prepare 0.1.1 release (#308)
* Add Elapsed::new

* Prep tower-timeout 0.1.1 release
2019-07-30 15:14:24 -04:00
Carl Lerche
716bafd922
chore: fix small errors in Cargo files 2019-04-26 22:31:07 -07: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
Jake Shadle
b42a365828 Add license field to all crates (#241) 2019-04-09 10:59:30 -07:00
David Barsky
17860191d7 Move Tower to 2018 Edition (#238) 2019-04-08 20:11:09 -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
Carl Lerche
50fc5e8e63
Reorganize tower-timeout (#191)
- Change error bound: `Error: From<S::Error>` (for `?` operator)
- Split types into dedicated files
- Move `ResponseFuture` into public `future` mod.
2019-03-11 16:10:51 -07:00
Carl Lerche
bdcce9677b
depend on tower-service from crates.io (#186) 2019-03-06 13:38:58 -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
Sean McArthur
79a98ea05d timeout: update to Box<dyn Error> (#170) 2019-02-27 10:35:25 -08:00
Lucio Franco
d874c251ff
timeout: Add derive Clone for the timeout service (#169) 2019-02-27 11:57:56 -05:00
David Barsky
d7e1b8f5dd Format tower with rustfmt; check in CI (#157) 2019-02-11 15:11:31 -08:00
David Barsky
68d3f6c22e
Use tokio::timer instead of tokio_timer; use Kind pattern (#141) 2019-01-15 15:05:14 -05:00
Sean McArthur
ffa6f03618 tower-service v0.2.0 (#135) 2018-12-12 16:14:05 -05:00
Carl Lerche
75eecc476c
Switch Service request to a generic. (#109)
This changes the Service request type to a generic instead of an associated
type. This is more appropriate as requests are inputs to the service.

This change enables a single implementation of `Service` to accept many
kinds of request types. This also enables requests to be references.

Fixes #99
2018-11-01 12:28:10 -07:00
Eliza Weisman
4ffe24f485 Update tower-timeout to use new tokio-timer (#101) 2018-09-03 11:03:00 -07:00
Carl Lerche
5369879af6
Extract Service trait and related into crate. (#67)
This makes the `tower` crate available to be a "batteries included"
facade.
2018-04-25 12:35:52 -07:00
Eliza Weisman
7b6cd0355d Normalize naming scheme (#62) 2018-03-06 11:41:52 -08:00
Eliza Weisman
8acbfa80ee Nested errors no longer print "inner service error:" or similar (#56) 2018-02-27 15:36:44 -08:00
Eliza Weisman
59679934c9 Add Error impls for tower-rate-limit and tower-timeout as well (#54) 2018-02-26 09:12:46 -08:00
Carl Lerche
ad6ff8c0d8 License Tower under MIT only
A dual MIT / Apache 2.0 license does not make any sense. Since the
intent of the original license was to be dual under MIT or Apache 2.0,
restricting to ony MIT is OK.
2017-11-16 09:44:44 -08:00
Carl Lerche
8d6daa45ea Prevent accidental publishing of the crates 2017-11-16 09:40:32 -08:00
Carl Lerche
b45c7ee0d4 Add middleware 2017-10-03 10:03:14 -07:00