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
2d6bbd2cd8
chore(ci): re-enable CI running on beta
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
Sean McArthur
5cb95bdda4
test(benches): add http2 chunks benchmark with default window size
2019-10-15 18:29:33 -07:00
Sean McArthur
51cdbea826
test(benches): add end-to-end chunked benchmarks
2019-10-15 18:05:57 -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
Ben Boeckel
536b1e184e
fix(dependencies): require correct bytes minimum version ( #1975 )
...
`Bytes::advance` was introduced in this version.
2019-10-14 11:28:41 -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
Hamza Muric
b4dbad6dbf
docs(changelog): fix mention of stream feature to unstable-stream ( #1968 )
2019-10-04 13:14:26 -07:00
Sean McArthur
0ef12a11a8
v0.13.0-alpha.4
2019-10-01 11:43:38 -07:00
Sean McArthur
64fe70b2f9
chore(dependencies): update http-body to alpha.3
2019-10-01 11:39:57 -07:00
Sean McArthur
353be888fa
v0.13.0-alpha.3
2019-10-01 10:28:13 -07:00
Sean McArthur
7601fc6b8d
chore(dependencies): update http-body to alpha.2
2019-10-01 10:25:08 -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
Jon Gjengset
02b584435f
chore(dependencies): Use new alpha release of h2
2019-10-01 09:39:29 -07:00
Taiki Endo
d2b0fed028
chore(dependencies): update tokio, h2, and tower
2019-10-01 06:40:41 -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
Jon Gjengset
1f3a8393e8
chore(dependencies): update pin-project to 0.4.0-alpha.11
2019-09-11 10:22:12 -07:00
Jon Gjengset
cf9e5b0aa8
chore(dependencies): update pin-project to 0.4.0-alpha.10
2019-09-11 09:23:16 -07:00
memoryruins
1341cde365
refactor(examples): remove lifetime workaround in send_file example
...
The lifetime workaround is no longer required due to changes in
rustc. This removes the line and comment from the example.
2019-09-11 09:22: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
Taiki Endo
ac45f1ac45
chore(dependencies): update pin-project to 0.4.0-alpha.9
2019-09-04 15:21:20 -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