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
lzutao
fc7f81b67c
style(lib): use rust 2018 edition idioms ( #1910 )
2019-08-21 11:22:07 -07:00
lzutao
ae75b3a732
chore(lib): remove async_await feature gate ( #1909 )
...
`async_await` is stabilized in rust-lang/rust#63209 .
2019-08-21 11:09:14 -07:00
Sean McArthur
a22dabd093
fix(server): change Builder window size methods to be by-value
...
Closes #1814
2019-08-20 17:45:01 -07:00
Sean McArthur
b3774bd6d3
chore(dependencies): update h2's trailer signature
2019-08-20 17:34:36 -07:00
Sean McArthur
fc784913a3
chore(dependencies): update to newer h2
2019-08-20 16:24:34 -07:00