Commit Graph

1522 Commits

Author SHA1 Message Date
Weihang Lo
c71abe5c20 docs(client): doc tests to async/await 2019-07-15 11:21:16 -07:00
Weihang Lo
e90f0037d3 docs(client): HttpInfo doc test to async/await 2019-07-15 11:21:16 -07:00
Weihang Lo
e0c1090ca7 docs(client): send_request doc test to async/await 2019-07-15 11:21:16 -07:00
Weihang Lo
7c2622abef docs(service): service_fn doc test to async/await 2019-07-15 11:21:16 -07:00
Weihang Lo
b3e337dd99 docs(service): make_service_fn doc test to async/await 2019-07-15 11:21:16 -07:00
Weihang Lo
e6a7e33cf4 docs(body): wrap_stream using futures_util 2019-07-15 11:21:16 -07:00
Weihang Lo
47407f5c01 docs(server): serve_connection doc test to async/await 2019-07-15 11:21:16 -07:00
Weihang Lo
ca10ca6284 docs(server): update `with_graceful_shutdown doc test
Signed-off-by: Weihang Lo <me@weihanglo.tw>
2019-07-15 11:21:16 -07:00
Weihang Lo
13afb6e0da docs(server): doc test to async/await 2019-07-15 11:21:16 -07:00
Weihang Lo
87b4850694 docs(server): doc test of Builder to async future
Signed-off-by: Weihang Lo <me@weihanglo.tw>
2019-07-15 11:21:16 -07:00
Sean McArthur
5da17df97f chore(lib): individually disable tests and examples that aren't updated 2019-07-12 13:44:03 -07:00
Sean McArthur
4441372121 feat(body): require Sync when wrapping a dynamic Stream 2019-07-10 16:49:21 -07:00
Sean McArthur
3524db9473 refactor(client): use a tokio-threadpool for the GaiResolver 2019-07-10 16:11:05 -07:00
Sean McArthur
ccc7c25334 chore(body): re-enable Body::wrap_stream 2019-07-10 14:17:36 -07:00
Sean McArthur
f0478c6267 feat(rt): export hyper::rt::main attribute macro
Usage:

    #[hyper::rt::main]
    async fn main() {
        // async stuff in here
    }
2019-07-10 14:12:21 -07:00
Sean McArthur
8d4ae27b42 refactor(lib): remove build script detecting rust >= 1.34 2019-07-10 10:23:48 -07:00
Sean McArthur
8f4b05ae78 feat(lib): update to std::future::Future
BREAKING CHANGE: All usage of async traits (`Future`, `Stream`,
`AsyncRead`, `AsyncWrite`, etc) are updated to newer versions.
2019-07-09 15:55:22 -07:00
Sean McArthur
da9b0319ef refactor(lib): update to 2018 edition 2019-07-09 15:16:01 -07:00
Sean McArthur
5d44f8841c v0.12.32 2019-07-08 16:17:40 -07:00
Sean McArthur
3e2f19e5bb chore(lib): allow deprecated mem::uninitialized 2019-07-08 16:17:03 -07:00
Sean McArthur
3446af020b refactor(http1): detect whether a Token parse error is for method or uri 2019-07-03 15:06:44 -07:00
Dietmar Maurer
cf24765a22 style(client): HttpConnector: use consistent naming - s/buf/buffer/ (#1840)
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2019-07-02 09:45:59 -07:00
Dietmar Maurer
386109c421 feat(client): HttpConnector: allow to set socket buffer sizes
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2019-07-01 11:09:04 -07:00
Sean McArthur
31ec07a387 v0.12.31 2019-06-25 16:08:24 -07:00
Sean McArthur
6b2940631e v0.12.30 2019-06-14 13:43:00 -07:00
Sean McArthur
8316f96d80 fix(http1): force always-ready connections to yield after a few spins 2019-06-14 13:35:54 -07:00
Sean McArthur
50198851a2 fix(http2): correctly propagate HTTP2 request cancellation 2019-06-03 14:39:35 -07:00
Sean McArthur
01c03db7ea chore(lib): add dyn keyword to trait objects (#1820)
Requires Rust 1.27.
2019-06-03 13:08:13 -07:00
Sean McArthur
e0f5a9c6c5 v0.12.29 2019-05-16 15:20:30 -07:00
Sean McArthur
8b45af7f31 feat(server): add initial window builder methods that take self by-val (#1817)
The current `Builder` methods `http2_initial_stream_window_size` and
`http2_initial_connection_window_size` take `&mut self`, while every
other builder method takes `self`. That breaks up the chaining of
options.

This patch adds two methods that configure the same option, but take
`self` instead, and have an underscore suffix (so,
`http2_initial_stream_window_size_`).

cc #1814
2019-05-16 14:34:28 -07:00
Lucio Franco
2d9f3490aa feat(body): implement http_body::Body for hyper::Body
This adds a `http_body::Body` impl for hypers `Body`. This should
allow us to start moving to a more generic body trait based on
`BufStream` and `http-body`.
2019-05-16 14:21:42 -07:00
Andy Moran
d1183a8027 feat(client): Implement TryFrom for Destination (#1810)
Add TryFrom<Uri> impl for Destination, for compiler version >= 1.34.

Closes #1808
2019-05-08 18:39:47 -07:00
João Oliveira
b342c38f08 fix(server): skip automatic Content-Length header for HTTP 304 responses
Closes #1797
2019-05-07 12:53:25 -07:00
Sean McArthur
7fde9ba6b8 refactor(body): improve Debug format of Body 2019-04-30 14:40:21 -07:00
Sean McArthur
778421eb94 v0.12.28 2019-04-29 16:20:43 -07:00
Sean McArthur
e0ec5cad9a fix(client): detect HTTP2 connection closures sooner 2019-04-29 16:17:11 -07:00
Sean McArthur
271bba1667 refactor(error): improve organization of Error kinds
- Placed all cases of "unexpected bytes" errors into the
  `UnexpectedMessage` variant.
- Placed all cases of "unexpected EOF" errors into the
  `IncompleteMessage` variant. Description is now generic about
  "connection closed before message completed", instead of mentioning
  "request" or "response.
- Added `Error::is_incomplete_message()` accessor to help checking for
  unexpected closures.
- Renamed some variants to be clearer when viewing the `Debug` format.
- Collected all "user" errors into an internal `User` enum, to prevent
  forgetting to update the `is_user()` method.
2019-04-26 10:44:40 -07:00
quininer
4133181bb2 fix(client): fix a rare connection pool race condition
It's possible for `PoolInner::put` to happen between `Pool::take` and `Pool::waiter`. This merges `take` and `waiter` into using the same lock.
2019-04-23 13:55:34 -07:00
bishtpawan
0c1e1823f8 refactor(http1): apply a few clippy suggestions
use is_empty() instead of .len()
use if let instead of match
2019-04-23 12:56:30 -07:00
Sean McArthur
f5885f3d5d chore(lib): fix unused_mut warnings from newest nightly 2019-04-23 12:45:19 -07:00
João Oliveira
8d70baca61 feat(server): impl Sink for Body::Sender
Closes #1781
2019-04-10 10:03:12 -07:00
Sean McArthur
0f33354569 v0.12.27 2019-04-10 09:44:18 -07:00
Sean McArthur
5680d94419 fix(http2): fix import of h2::Reason to work on 1.26 2019-04-09 14:06:33 -07:00
Sean McArthur
2ef562a165 v0.12.26 2019-04-09 12:52:41 -07:00
Sean McArthur
42c5efc085 fix(http2): send a GOAWAY when the user's Service::poll_ready errors
The `Error::source()` is searched for an `h2::Error` to allow sending
different error codes in the GOAWAY. If none is found, it defaults to
`INTERNAL_ERROR`.
2019-04-09 12:49:43 -07:00
Sean McArthur
c7a046c518 refactor(http1): fix redundant imports 2019-04-01 18:33:38 -07:00
Vitaly Shukela
edf551b55f feat(client,server) Add Connection::without_shutdown()
* Add `server::conn::Connection::without_shutdown`

  Returns wrapper Future instance which allows
  to use `poll_without_shutdown` method
  more ergonomically.

* Add `client::conn::Connection::without_shutdown`

  Returns wrapper Future instance which allows
  to use `poll_without_shutdown` method
  more ergonomically.

* Improve `poll_without_shutdown` docs

Closes #1786
2019-03-26 15:16:06 -07:00
Sean McArthur
fc18b680a5 feat(http2): check Error::source() for an HTTP2 error code to send in reset 2019-03-25 13:10:41 -07:00
Yusuke Sasaki
d1501a0fd3 fix(server): prohibit the length headers on successful CONNECT
Closes #1783
2019-03-20 10:06:34 -07:00
Sean McArthur
8c345d5590 v0.12.25 2019-03-01 15:04:03 -08:00