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
Kevin Leimkuhler
7dcd4618c0
feat(http2): Add window size config options for Client and Server
...
Add `fn http2_initial_stream_window_size` and `fn
http2_initial_connection_window_size` for client and server.
Closes #1771
2019-03-01 14:44:38 -08:00
Michal 'vorner' Vaner
2114950cda
docs(service): change the make_service_fn example to a full snippet
...
Include the creation of server too. Previously, the parameter type of
the closure had a different type than the default server provided, which
wasn't obvious to the user.
2019-03-01 13:57:34 -08:00
Sean McArthur
cbae4294c4
feat(server): add http2_max_concurrent_streams builder option
...
Closes #1772
2019-02-28 16:19:12 -08:00
Sean McArthur
8f926a0dae
fix(http2): send INTERNAL_ERROR when user's Service errors
2019-02-28 16:04:53 -08:00
Sean McArthur
3a6080b14a
fix(client): coerce HTTP_2 requests to HTTP_11
...
Closes #1770
2019-02-27 17:00:25 -08:00
Steven Fackler
4cf22dfa21
feat(error): implement Error::source when available
...
Closes #1768
2019-02-27 13:18:02 -08:00
Yusuke Sasaki
0bf30ccc68
feat(service): add poll_ready to Service and MakeService ( #1767 )
2019-02-27 09:30:52 -08:00
Sean McArthur
ce2b540f9d
chore(client): adjust dispatch giver throughput benchmark generics
2019-02-25 17:35:46 -08:00
Sean McArthur
1e6603353e
perf(http2): don't register callback with main h2 client task
2019-02-25 17:27:51 -08:00
Sean McArthur
1161479945
test(client): add client benchmarks with mocked IO
2019-02-25 14:05:00 -08:00
Sean McArthur
c0e08a41cc
refactor(lib): improve client and h1 logs
2019-02-15 15:58:35 -08:00
Sean McArthur
877606d5c8
feat(service): allow FnMut with service_fn
2019-02-14 11:55:22 -08:00
Sean McArthur
0c8f7d2708
v0.12.24
2019-02-11 12:10:21 -08:00
Sean McArthur
d16b2c3081
fix(client): fix panic when CONNECT request doesn't have a port
2019-02-11 12:05:52 -08:00
luben karavelov
3e9782c2a9
feat(server): add http1_max_buf_size in the server::Builder ( #1761 )
...
Similarly to `client::Builder::http1_max_buf_size`.
2019-02-11 10:47:19 -08:00
luben karavelov
e52f80df5a
feat(server): add into_inner to AddrStream ( #1762 )
...
It consumes the `AddrStream` and returns the underlying TcpStream.
2019-02-11 10:45:55 -08:00
Sean McArthur
8393dc9f18
v0.12.23
2019-01-24 11:21:25 -08:00
Sean McArthur
18f022c70b
docs(lib): fix several broken links throughout docs
...
Closes #1749
Closes #1750
2019-01-24 11:20:22 -08:00
Sean McArthur
9aa7e99010
fix(http2): revert http2 refactor causing a client hang
...
This reverts commit 7b7dcc8f68 .
2019-01-24 11:10:19 -08:00
Alexander Mielczarek
078ed82dd5
feat(client): add conn::Builder::max_buf_size()
...
This allows users to configure a limit to client connections' read and
write buffers.
Closes #1748
2019-01-24 10:59:24 -08:00