Sean McArthur
89c5643713
refactor(h1): deref the read buffer only once in server parse
2018-05-31 17:57:34 -07:00
Sean McArthur
72f3ccd7c5
refactor(h1): in debug builds, assert payload known length matchs custom content-length headers
2018-05-31 17:56:27 -07:00
Sean McArthur
bb8cb056fd
refactor(h1): collapse some duplicate methods from Cursor
2018-05-31 15:51:27 -07:00
Sean McArthur
8ff42dbbb4
perf(body): move h2 flow control from Chunk to h2 variant of Body
2018-05-31 15:26:04 -07:00
Sean McArthur
5323c2f39c
perf(h1): optimize write buffer when flattening
2018-05-30 17:19:45 -07:00
Sean McArthur
bfb2ab8644
perf(server): skip noop AddrStream inner flush
2018-05-30 15:33:36 -07:00
Sean McArthur
1b5fb3cc5e
perf(h1): reduce clock checks for date rendering when pipelined
2018-05-30 14:22:08 -07:00
Sean McArthur
ba9b1eaf82
refactor(body): combine Empty and Once variants for Body
2018-05-30 13:59:31 -07:00
Sean McArthur
3e462f4dee
test(h1): fix missing mut in encode benchmark
2018-05-30 13:43:19 -07:00
Sean McArthur
19f90242f8
feat(body): remove Body::is_empty()
...
BREAKING CHANGE: `Body::is_empty()` is gone. Replace with
`Body::is_end_stream()`, from the `Payload` trait.
2018-05-30 13:22:37 -07:00
Sean McArthur
2051d5c04a
chore(cargo): only use 1 codegen unit when benchmarking
2018-05-30 13:22:37 -07:00
meven
2415ce96e1
docs(examples): add README for examples directory
...
Closes #1511
2018-05-30 00:39:05 +02:00
Sean McArthur
b5a888b0df
refactor(rt): replace spawn and run with wrapped functions
2018-05-16 12:23:25 -07:00
Sean McArthur
e4be8b4cc9
chore(lib): add deny(warnings) back
2018-05-15 13:50:45 -07:00
Sean McArthur
26417fc24a
perf(h1): improve parsing and encoding of http1 messages
2018-05-15 13:24:58 -07:00
Laurențiu Nicola
c3c35e866c
perf(body): avoid boxing Streams twice
2018-05-15 12:38:57 -07:00
estk
bc6af88a32
feat(server): support HTTP1 and HTTP2 automatically
...
If an HTTP/1 connection has a parse error, but it starts with the HTTP2 preface, converts the connection automatically into an HTTP2 server connection.
Closes #1486
2018-05-10 14:23:42 -07:00
Sean McArthur
18f4dd2406
chore(ci): remove flaky tests from failing CI
2018-05-09 16:02:49 -07:00
Sean McArthur
57f05013e0
refactor(chunk): add size_hint to chunk::IntoIter
2018-05-08 18:59:39 -07:00
Sean McArthur
aa603762ca
refactor(chunk): hide Chunk::into_iter type
2018-05-08 18:56:56 -07:00
Sean McArthur
e236b01df5
perf(h1): assert less around date formatter
2018-05-08 11:42:59 -07:00
Sean McArthur
5680f6fca0
perf(h1): optimize header encoding
2018-05-07 18:04:58 -07:00
Sean McArthur
bf4fe7c515
perf(h1): remove book keeping on final body writes
2018-05-07 12:48:21 -07:00
Sean McArthur
8f0e01f853
perf(h1): poll body less if is_end_stream
2018-05-07 12:09:15 -07:00
Sean McArthur
0d104deced
perf(h1): remove unused error branches from writing body
2018-05-07 11:19:19 -07:00
Sean McArthur
325b7e519a
perf(lib): improve parsing by using uninitialized httparse header array
2018-05-07 10:42:44 -07:00
Sean McArthur
fdcd2a4b17
perf(server): reduce task system wake up in new dispatcher
2018-05-07 10:35:26 -07:00
Sean McArthur
a3be110a55
feat(body): change Payload::Data to be a Buf
...
Closes #1508
BREAKING CHANGE: Each payload chunk must implement `Buf`, instead of
just `AsRef<[u8]>`.
2018-05-07 10:06:28 -07:00
Sean McArthur
dfa7e17960
refactor(client): change last Weak::new to an Option<Weak>
2018-05-04 15:36:20 -07:00
Sean McArthur
04c74ef596
feat(client): rename FutureResponse to ResponseFuture
...
BREAKING CHANGE: Replace any references of
`hyper::client::FutureResponse` to `hyper::client::ResponseFuture`.
2018-05-04 15:21:59 -07:00
Sean McArthur
ef14a1bd67
Merge pull request #1507 from bluetech/cp-parts-service
...
Fix example & cherry-pick server::conn::Parts.service to master
2018-05-04 13:03:57 -07:00
Sean McArthur
18c5f640e2
feat(server): add service property to server::conn::Parts
...
This allows getting the original service back.
Closes #1471
Cherry-pick of commit bf7c0bbf4f55fdf465407874b0b2d4bd748e6783 from the
0.11.x branch.
2018-05-04 13:22:31 +03:00
Ran Benita
f98f168f07
fix(examples): remove unused imports from examples/client.rs
2018-05-04 13:22:31 +03:00
Sean McArthur
7de3bc97c6
chore(examples): update server example name to echo
2018-05-03 12:08:49 -07:00
Sean McArthur
a16234fa26
docs(examples): add some comments in the client example
2018-05-03 12:00:44 -07:00
Sean McArthur
a5d2c639f5
Merge pull request #1505 from lnicola/body-from-stream
...
Add From<Box<Stream>> impl for Body
2018-05-03 11:46:10 -07:00
Sean McArthur
283d79db08
refactor(service): change service_fn to take Fn instead of FnMut
2018-05-02 13:46:33 -07:00
Sean McArthur
190a8501d6
docs(client): add module level docs for hyper::client
2018-05-02 13:32:46 -07:00
Laurentiu Nicola
45efba27df
feat(body): add From<Box<Stream>> impl for Body
2018-05-02 21:50:37 +03:00
Sean McArthur
ab3c73fd84
fix(http2): force notify h2 client connection when all body streams drop
2018-05-01 12:45:36 -07:00
Sean McArthur
d3e4089062
Merge pull request #1500 from kw217/1498-add-local-bind
...
feat(client): support local bind for HttpConnector
2018-05-01 11:58:10 -07:00
Keith Wansbrough
b6a3c85d0f
feat(client): support local bind for HttpConnector
...
Add `set_local_address` to the `HttpConnector`.
This configures the client to bind the socket to a local address of
the host before it connects to the destination. This is useful on
hosts which have multiple network interfaces, to ensure the request is
issued over a specific interface.
Closes #1498
2018-05-01 08:35:45 +01:00
Sean McArthur
792b55f5df
Merge pull request #1502 from hyperium/tokio-timer
...
refactor(lib): change from futures-timer to tokio-timer
2018-04-30 20:43:47 -07:00
Sean McArthur
7a7453ba52
refactor(lib): change from futures-timer to tokio-timer
2018-04-30 19:11:05 -07:00
Sean McArthur
5e3b43af09
fix(client): prevent a checkout loop of pooled connections that aren't ready yet
2018-04-30 14:06:12 -07:00
Sean McArthur
11c92ff467
chore(tests): set a short timeout on the integration clients pool
2018-04-26 12:37:31 -07:00
Sean McArthur
d19d95af77
refactor(client): pass internal executor to h2 dispatcher
2018-04-25 17:55:45 -07:00
Sean McArthur
a4f4553487
chore(ci): enable logs in ci tests again...
2018-04-25 17:04:44 -07:00
Sean McArthur
604ebfbf6f
perf(client): reduce an allocation per http2 connection
2018-04-25 16:40:34 -07:00
Sean McArthur
f44fa0e64e
chore(body): fix broken import of Chunk internally
2018-04-24 16:57:00 -07:00