Commit Graph

1017 Commits

Author SHA1 Message Date
Sean McArthur
af8d11b2bf chore(server): remove stream generic from new Connection type 2017-10-27 16:04:28 -07:00
Sean McArthur
b2ab42e607 chore(client): remove unused old test 2017-10-27 12:52:38 -07:00
Sean McArthur
7c4b814e6b fix(client): don't read extra bytes on idle connections 2017-10-27 11:28:20 -07:00
Sean McArthur
f7532b71d1 feat(lib): add support to disable tokio-proto internals
For now, this adds `client::Config::no_proto`, `server::Http::no_proto`,
and `server::Server::no_proto` to skip tokio-proto implementations, and
use an internal dispatch system instead.

`Http::no_proto` is similar to `Http::bind_connection`, but returns a
`Connection` that is a `Future` to drive HTTP with the provided service.
Any errors prior to parsing a request, and after delivering a response
(but before flush the response body) will be returned from this future.

See #1342 for more.
2017-10-27 00:02:07 -07:00
Julian Tescher
5700ad79a3 docs(changelog,header,proto,client): Fix small typos 2017-10-21 20:07:56 -07:00
Sam Rijs
ed497bf5e6 feat(client): allow custom executors for HttpConnector 2017-10-18 15:56:33 +11:00
nabijaczleweli
d48ab9601b docs(headers): fix >-quote formatting
'>'s as non-first characters are just '>'s (rustfmt probably broke the
line)
2017-10-15 15:00:49 +02:00
Niek Sanders
528afb89a8 refactor(uri): remove extra scheme condition from Uri::parse
Scheme check never true given preceeding else if
2017-10-03 16:30:59 -07:00
brogowski
e0de55daa2 feat(client): add names to DNS threads 2017-10-03 20:02:41 +00:00
Sean McArthur
4b1e9d1bab v0.11.6 2017-10-02 18:21:41 -07:00
Sean McArthur
6b4635fd13 fix(server): fix experimental pipeline flushing 2017-10-02 18:20:05 -07:00
Sean McArthur
c2fd47f211 v0.11.5 2017-10-02 15:46:09 -07:00
Aaron Riekenberg
e8d6173734 fix(http): avoid infinite recursion when Body::from is called with Cow::Owned. (#1343)
When cow is a Cow::Owned, cow.to_owned() returns a Cow::Owned, which leads to infinite recursion.
Extract the owned or borrowed values from the cow to ensure progress is made in either case.
2017-10-01 09:49:36 -07:00
Sean McArthur
9c80fdbb9e refactor(lib): rename http_types to http 2017-09-29 18:12:55 -07:00
Sean McArthur
d77fcff1c4 v0.11.4 2017-09-28 22:01:59 -07:00
Sean McArthur
0fbc215f4b fix(client): fix panic in Pool
Closes #1339
2017-09-28 21:44:41 -07:00
Sean McArthur
57f86d42f2 refactor(lib): fix compat layer after rename to proto 2017-09-28 21:43:44 -07:00
Sean McArthur
5027435791 refactor(lib): rename internal http module to proto 2017-09-28 18:28:44 -07:00
Sean McArthur
217941cef2 v0.11.3 2017-09-28 16:43:50 -07:00
Sean McArthur
6aeec70653 test(server): fix reading from socket in maybe_notify when state is closed 2017-09-24 23:35:26 -07:00
Sean McArthur
1a9f264826 perf(server): try to read from socket at keep-alive
In most situations, this should reduce the number of task wake ups by 1
per request, which can help if reading the request was small.
2017-09-22 15:39:33 -07:00
Sean McArthur
dd54f20b55 feat(server): add experimental pipeline flush aggregation option to Http
By enabling `Http::pipeline`, the connection will aggregate response
writes to try to improve sending more responses in a single syscall.
2017-09-22 15:39:33 -07:00
Michael Smith
16e834d37c feat(server): remove unneeded Send + Sync from Server
Http and Server placed Send + Sync bounds on NewService implementations which
were not actually required given tokio's event loop model. Remove them to reduce
limitations on end users of hyper.
2017-09-22 12:25:53 -07:00
Sam Rijs
0c7d375ba3 feat(lib): implement compatibility with http crate 2017-09-22 12:07:57 -07:00
Laurent Arnoud
92595e84a2 feat(header): add ContentType::xml() constructor 2017-09-22 11:27:10 -07:00
Sean McArthur
3b91fc65b2 fix(client): cleanup dropped pending Checkouts from Pool
Closes #1315
2017-09-18 13:29:31 -07:00
Sean McArthur
971864c424 fix(http): log errors passed to tokio at debug level
Closes #1278
2017-09-16 18:23:30 -07:00
Sean McArthur
41c47241cd fix(client): return Version errors if unsupported
If a `Request`'s version is `Http09`, `H2`, or `H2c`, `client.request`
will return a `hyper::Error::Version`, and a message is logged at
`error!` level.

Closes #1283
2017-09-16 17:20:31 -07:00
Bastien Orivel
627c4e3d0d fix(lib): Export hyper::RawStatus if the raw_status feature is enabled 2017-09-15 21:36:19 +02:00
Sean McArthur
3dc2228929 style(body): change tabs to spaces 2017-09-08 14:03:50 -07:00
Sean McArthur
112efb5879 Merge pull request #1309 from lemonrock/cow
feat(http): add Body::from(cow) for bytes and strings
2017-09-08 13:16:37 -07:00
Raphael Cohn
425ff71d75 feat(http): add Body::from(cow) for bytes and strings
This change adds the ability to use Cow<'static, [u8]> and Cow<'static, str> for the body of a
HTTP request or response.
This makes it easier to create abstractions that serve static web pages, redirect messages and the
like.
2017-09-07 10:50:51 +01:00
arthurprs
1e7e1c921c perf(http): prefer ErrorKind::WouldBlock
Improved codegen, without allocations or function calls
2017-09-03 19:02:32 +02:00
Sean McArthur
207fca63ce fix(lib): remove logs that contain request and response data
Closes #1281
2017-08-15 16:04:56 -07:00
Sean McArthur
2ea125e609 chore(lib): fix new unused_mut warnings in nightly 2017-08-11 15:07:49 -07:00
Sean McArthur
f2db365613 Merge pull request #1279 from jethrogb/patch-2
docs(headers): clarify Basic auth
2017-07-31 11:02:39 -07:00
Sean McArthur
a9004958dd chore(header): fix unused doc comment warning in Origin 2017-07-31 09:51:52 -07:00
jethrogb
fcbad58924 docs(headers): clarify Basic auth
See https://tools.ietf.org/html/rfc7617
2017-07-31 09:05:05 -07:00
Sean McArthur
4922bb9d18 v0.11.2 2017-07-27 14:21:24 -07:00
Sean McArthur
aa8a587528 chore(lib): add deny(warnings) back that was mistakenly removed 2017-07-27 14:17:27 -07:00
Sean McArthur
5f6f252c60 feat(status): add as_u16() method
A `From<StatusCode> for u16` has existed, but the docs cannot show it.
It also is slightly more annoying to use if type inference can't figure
the types out. This includes an explicit method to get a `u16`.
2017-07-27 13:35:23 -07:00
Sean McArthur
7081c4498e fix(uri): fix Uri parsing of IPv6 and userinfo
Closes #1269
2017-07-26 16:32:56 -07:00
Sean McArthur
4bd9746a0f fix(header): fix panic from headers.remove when typed doesn't match 2017-07-24 15:22:58 -07:00
Sean McArthur
6f1a87097e style(lib): add must_use attributes to futures and streams 2017-07-24 10:11:29 -07:00
Sean McArthur
9b47e1861a fix(http): allow zero-length chunks when no body is allowed 2017-07-18 12:06:11 -07:00
Sean McArthur
89f780309b Merge pull request #1256 from brendanzab/add-missing-headers
feat(headers): Add missing headers
2017-07-17 16:45:18 -07:00
Sean McArthur
fc5b9cce31 fix(http): fix encoding when buffer is full 2017-07-17 11:19:32 -07:00
Sean McArthur
d6da3f7b40 fix(http): skip zero length chunks when encoding 2017-07-17 10:41:36 -07:00
Brendan Zabarauskas
c9f4ff3382 feat(headers): export missing header types 2017-07-14 21:05:28 +10:00
Brendan Zabarauskas
2a49cee7b2 chore(headers): Sort header imports alphabetically
This should make it easier to see missing imports in the future
2017-07-14 21:05:28 +10:00