Commit Graph

1389 Commits

Author SHA1 Message Date
Sean McArthur
e6027bc02d fix(client): fix panic from unreachable code 2019-10-30 13:45:23 -07:00
Sean McArthur
b5e70a0dd1 refactor(server): remove more 'static bounds on Server 2019-10-24 13:37:11 -07:00
Sean McArthur
8b878a805a perf(client): change HttpConnecting to hold Arc<Config> instead of inlined fields 2019-10-23 16:21:51 -07:00
Sean McArthur
f71304b449 refactor(client): use pin_project for Resolve futures 2019-10-23 14:37:03 -07:00
Sean McArthur
10cda4beff refactor(http2): replace server Unpin impl with pin_project 2019-10-22 18:33:05 -07:00
Sean McArthur
3ee47199d9 refactor(client): de-duplicate HttpConnector::call code 2019-10-22 17:50:13 -07:00
Sean McArthur
d67e49f149 feat(client): change Connect trait into an alias for Service
The `Connect` trait is now essentially an alias for
`Service<Destination>`, with a blanket implementation as such, and is
sealed.

Closes #1902

BREAKING CHANGE: Any manual implementations of `Connect` must instead
  implement `tower::Service<Destination>`.
2019-10-22 14:40:23 -07:00
Sean McArthur
4f2743991c feat(service): rename Service to HttpService, re-export tower::Service`
The only important trait for a user is the `tower::Service` trait, which
is now available also at `hyper::service::Service`. The other "trait
aliases" are no longer publicly exported, as people thought they had to
implement them.

Also removes dependency on `tower-make`, which is trivial but otherwise
shouldn't affect anyone.

Closes #1959
2019-10-21 11:01:28 -07:00
Sean McArthur
ca5836f1ec fix(server): ignore expect-continue with no body in debug mode
Closes #1843
2019-10-18 15:44:01 -07:00
Sean McArthur
a1fe383c9d refactor(http1): notice eof in the try_keep_alive method 2019-10-18 15:16:07 -07:00
Sean McArthur
7e31fd88a8 feat(server): change http1_half_close option default to disabled
Detecting a read hangup is a useful way to determine that a connection
has closed. It's also possible that a client shuts down its read half
without closing the connection, but this is rarer. Thus, by default,
hyper will now assume a read EOF means the connection has closed.

BREAKING CHANGE: The server's behavior will now by default close
  connections when receiving a read EOF. To allow for clients to close
  the read half, call `http1_half_close(true)` when configuring a
  server.
2019-10-18 13:34:23 -07:00
Sean McArthur
8e7ebd80cd refactor(error): update Debug for Error to output 'hyper::Error' 2019-10-17 12:18:53 -07:00
Christopher Vittal
1235f1de9a docs(service): remove reference to service_fn_ok (#1978)
This function has been otherwise removed and the link was broken.
2019-10-17 10:22:30 -07:00
Steven Fackler
4179297ac9 feat(client): Add connect timeout to HttpConnector (#1972)
This takes the same strategy as golang, where the timeout value is
divided equally between the candidate socket addresses.

If happy eyeballs is enabled, the division takes place "below" the
IPv4/IPv6 partitioning.
2019-10-14 11:48:17 -07:00
Steven Fackler
4d14712643 fix(server): Remove unneeded 'static bound of Service on Connection (#1971) 2019-10-11 16:22:36 -07:00
Sean McArthur
22695968d2 perf(http2): improve default HTTP2 flow control settings
Set default HTTP2 window sizes much larger values than the spec default.

ref #1960
2019-10-08 15:39:35 -07:00
Sean McArthur
0ef12a11a8 v0.13.0-alpha.4 2019-10-01 11:43:38 -07:00
Sean McArthur
353be888fa v0.13.0-alpha.3 2019-10-01 10:28:13 -07:00
Sean McArthur
5b348b821c feat(lib): add optional tcp feature, split from runtime
The `HttpConnector` and `AddrListener` types which make use of
`tokio::tcp` have been made their own optional feature. This allows
using them without requiring the *full* tokio runtime.
2019-10-01 10:15:46 -07:00
Taiki Endo
bcb66736fb chore(dependencies): update pin-project to 0.4 2019-10-01 06:40:41 -07:00
Sean McArthur
d40978ce08 v0.13.0-alpha.2 2019-09-24 12:21:24 -07:00
Taiki Endo
053d6497bd chore(dependencies): update tokio, h2, and tower-make 2019-09-23 12:45:37 -07:00
Steven Fackler
dc54ee199f feat(body): identify aborted body write errors 2019-09-13 10:38:14 -07:00
Sean McArthur
2b0405c48c refactor(lib): rename 'stream' feature to 'unstable-stream' 2019-09-11 16:09:49 -07:00
Sean McArthur
cea3589ef7 test(lib): deny warnings 2019-09-11 15:44:26 -07:00
Sean McArthur
d46cde1216 test(client): remove warning about disabled tests 2019-09-11 14:55:14 -07:00
Sean McArthur
6842c44a43 test(h1): re-enable h1 decoder tests 2019-09-11 14:49:14 -07:00
Sean McArthur
463982cda5 test(h1): re-enable h1 dispatch tests 2019-09-11 13:56:14 -07:00
Sean McArthur
6a176e3592 test(rewind): re-enable common::io::Rewind tests 2019-09-11 12:38:14 -07:00
Sean McArthur
8479c2aaed test(drain): re-enable drain tests 2019-09-11 11:31:02 -07:00
Sean McArthur
d36e028b21 chore(server): stop using deprecated method internally 2019-09-11 11:00:48 -07:00
Weihang Lo
144893b409 Upgrade some lib tests to async/.await version (#1882)
* test(http): use async/.await

Signed-off-by: Weihang Lo <me@weihanglo.tw>

* test(pool): use async/.await

* test(pool): pass &mut Future into PollOnce

* test(client): tests/benches using async/.await

* test(client): change due to PR #1917

* test(client): change Delay to delay fucntion

Ref: https://github.com/tokio-rs/tokio/pull/1440

* test(client): remove warning triggers
2019-09-06 09:54:11 -07:00
Sean McArthur
511ea3889b feat(body): put Stream impl for Body behind stream feature
BREAKING CHANGE: Using a `Body` as a `Stream`, and constructing one via
  `Body::wrap_stream`, require enabling the unstable `stream` feature.
2019-09-05 15:56:58 -07:00
Sean McArthur
b3e5506261 feat(server): introduce Accept trait
The `Accept` trait is used by the server types to asynchronously accept
incoming connections. This replaces the previous usage of `Stream`.

BREAKING CHANGE: Passing a `Stream` to `Server::builder` or
  `Http::serve_incoming` must be changed to pass an `Accept` instead. The
  `stream` optional feature can be enabled, and the a stream can be
  converted using `hyper::server:🉑:from_stream`.
2019-09-05 14:47:39 -07:00
Sean McArthur
0867ad5c15 fix(client): allow client GET requests with explicit body headers
Closes #1925
2019-09-04 15:22:30 -07:00
Sean McArthur
0c2a727970 v0.13.0-alpha.1 2019-09-04 11:48:31 -07:00
Aaron Hill
4c552a4960 refactor(lib): Use pin-project crate to perform pin projections
Remove all pin-related `unsafe` code from Hyper, as well as the
now-unused 'pin-utils' dependency.
2019-09-03 12:31:35 -07:00
Atkins
d406602c5d style(server): remove FutureExt::boxed to unify project style 2019-09-03 10:27:26 -07:00
Atkins
69c15cae5c style(common): remove FutureExt::boxed to unify project style 2019-09-03 10:27:26 -07:00
Sean McArthur
946275dd1f perf(body): re-enable optimization for full-data Bodies 2019-08-30 16:44:10 -07:00
Sean McArthur
3c6f7999cd wip: body typeid full data 2019-08-30 16:23:28 -07:00
Sean McArthur
62a96c077b feat(body): change Sender::send_data to an async fn.
The previous version is renamed to `try_send_data`.

BREAKING CHANGE: Usage of `send_data` should either be changed to
  async/await or use `try_send_data`.
2019-08-30 16:04:07 -07:00
Lucio Franco
eee2a72879 feat(client): provide tower::Service support for clients (#1915) 2019-08-30 12:54:22 -07:00
Alex Gaynor
eef407d60e docs(client): Remove comment that had grown out of date (#1918) 2019-08-30 11:14:56 -07:00
Sean McArthur
049b5132db feat(client): change GaiResolver to use a global blocking threadpool
BREAKING CHANGE: Calls to `GaiResolver::new` and `HttpConnector::new` no
  longer should pass an integer argument for the number of threads.
2019-08-29 14:16:43 -07:00
Sean McArthur
5b1feb8a3c refactor(lib): update to tokio alpha.4 2019-08-29 13:12:44 -07:00
Daniel Johnson
536779e16c refactor(dns): migrate deprecated trim_{left,right} -> trim_{start,end} 2019-08-29 11:12:56 -07:00
Lucio Franco
79c32f8953 feat(body): Update Payload to be a trait alias of http_body::Body (#1908) 2019-08-22 14:13:27 -07:00
Sean McArthur
49b12c415d refactor(lib): fix remaining lint warnings (besides tests) 2019-08-22 13:57:50 -07:00
Sean McArthur
7b1d6d71b7 refactor(lib): fix many lint warnings 2019-08-21 11:58:02 -07:00