Commit Graph

1392 Commits

Author SHA1 Message Date
Sean McArthur
9036df2f4c chore(ci): update minimum rust version to 1.15 2017-06-03 14:42:42 -07:00
Sean McArthur
144bbc3d01 Merge pull request #1203 from daboross/patch-2
fix(http,server): Update tests to use non-deprecated futures methods.
2017-06-03 14:28:35 -07:00
David Ross
70948a24b0 fix(http,server): Update tests to use non-deprecated futures methods.
These seem mostly to be renames, with the exception of Unpark -> Notify.
2017-06-02 23:33:19 -07:00
mayah
edc1c0dd01 fix(header): add Cookie::iter() 2017-05-29 11:16:09 -07:00
Sean McArthur
bdd2e1a3ad perf(server): cache renderings of the Date header
This is actually one of the biggest impacts to benchmark performances at
this point. Caching the rendering of the Date header improves "hello
world" benchmarks by around 10%.
2017-05-26 12:29:26 -07:00
Sean McArthur
78a8eed7f1 test(http): addn a benchmark for encoding a response head 2017-05-25 11:41:56 -07:00
Sean McArthur
2cbf4ef85f refactor(http): reduce complexity of determing an Encoder 2017-05-25 10:38:37 -07:00
Sean McArthur
e69cd1ab3a style(header): clean up extra whitespace in ContentLength file 2017-05-25 10:34:35 -07:00
Sean McArthur
9688c8b8ae perf(header): add #[inline] to header! macros 2017-05-25 10:32:25 -07:00
Sean McArthur
40c575cc59 perf(header): move a branch out of a loop in fmt_comma_delimited 2017-05-25 10:31:20 -07:00
Sean McArthur
6d8071b3ce Merge pull request #1177 from yazaddaruvala/master
Random Refactors
2017-05-22 23:40:02 -07:00
Yazad Daruvala
e134b890ef refactor(http): combine reserve_read_buf into read_from_io 2017-05-22 22:06:03 -07:00
Yazad Daruvala
6c8e6acaff refactor(http): remove the commented out code in http::h1 2017-05-22 22:06:03 -07:00
Yazad Daruvala
2f0470bcf3 refactor(http): delete some indirection around Http1Transaction::parse 2017-05-22 22:06:03 -07:00
Sean McArthur
09fe9e6a80 Merge pull request #1183 from MJDSys/nightly_unused_unimplemented
fix(lib): Remove unused unimplemented! macro.
2017-05-22 10:26:30 -07:00
Sean McArthur
f4179d0fab Merge pull request #1185 from sanmai-NL/rename_bind_docs
docs(server): refer to `bind` method, not `serve`
2017-05-20 10:35:50 -05:00
Sander Maijers
c07872951b docs(server): refer to bind method, not serve
Fixes #1180.
2017-05-20 15:08:41 +02:00
Matthew Dawson
ac40b453ec fix(lib): Remove unused unimplemented! macro.
This macro isn't used anywhere, std now has an unimplemented macro
if we want to use it, and the nightly compiler now warns that this
unused.  This warning is a failure when compiling tests.
2017-05-19 23:51:43 +00:00
Sean McArthur
12d01e4023 Merge pull request #1178 from utkarshkukreti/issue-1176
fix(uri): fix parse for empty path and '/' or '?' in fragment
2017-05-17 10:30:27 -05:00
Utkarsh Kukreti
559f21a664 fix(uri): fix parse for empty path and '/' or '?' in fragment
Fixes #1176.
2017-05-17 17:09:20 +05:30
Sean McArthur
33eb8f95a3 perf(http): use custom type for ParseEof error instead of string error 2017-05-12 16:54:24 -07:00
Sean McArthur
7f6673c4cd docs(examples): remove distracting derive(Clone, Copy) from Hello 2017-05-12 16:35:27 -07:00
Sean McArthur
c036fd6056 test(http): fix conn tests with higher init buffer size 2017-05-12 16:35:27 -07:00
Sean McArthur
917f482e70 Merge pull request #1167 from golem131/dependency_update
feat(headers): update to unicase 2.0 and base64 0.5
2017-05-12 16:10:53 -07:00
Sean McArthur
900ce1c36f test(server): add benchmark of hyper server vs raw tcp 2017-05-12 16:04:47 -07:00
Sean McArthur
5caf590c06 perf(http): increase size of initial buffer to 8kb 2017-05-12 15:39:34 -07:00
golem131
ca22eae5ac feat(headers): update to base64 0.5 2017-05-12 13:40:26 +03:00
Sean McArthur
c18d47db2f refactor(status): add allow(deprecated) to StatusClass enum for older rust versions 2017-05-11 14:25:35 -07:00
Sean McArthur
638582fae2 refactor(status): deprecate StatusClass 2017-05-11 12:46:46 -07:00
Sean McArthur
ae09d99375 Merge pull request #1168 from hyperium/unicase
refactor(lib): update unicase to 2.0
2017-05-11 12:12:40 -07:00
Sean McArthur
c81edd41d7 refactor(lib): update unicase to 2.0
BREAKING CHANGE: Some headers used `UniCase`, but now use
  `unicase::Ascii`. Upgrade code to `Ascii::new(s)`.
2017-05-10 16:14:59 -07:00
Sean McArthur
fed04dfb58 Merge pull request #1159 from dorfsmay/ignore_invalid_cookies
Ignore invalid cookies
2017-05-08 22:46:51 -07:00
Sean McArthur
6655134583 refactor(client): make HttpConnector lazy 2017-05-08 11:51:20 -07:00
Sean McArthur
e6b588b81d docs(client): remove outdated reference to Handler trait 2017-05-08 11:50:54 -07:00
Sean McArthur
696dbe5bf4 Merge pull request #1163 from taku0/content-type_octet-stream
feat(headers): add ContentType::octet_stream() constructor
2017-05-03 09:28:31 -07:00
taku0
1a35310273 feat(headers): add ContentType::octet_stream() constructor 2017-05-03 18:16:36 +09:00
Sean McArthur
1e04ccd4b3 Merge pull request #1162 from nickgonzales/master
refactor(http): merge Request and Response from server and client
2017-05-01 18:32:27 -07:00
Nick Gonzales
864d3e27a4 refactor(http): merge Request and Response from server and client
Request and Response are now visible from:
- hyper::{Request, Response}
- hyper::server::{Request, Response}
- hyper::client::{Request, Response}
They truly exist in the http module, but are re-exported to reduce the number of breaking changes.

request::new and response::new were renamed to ::from_wire to reduce confusion with Request::new
and Response::new. See issue #1126

Request now has an optional Body, because not all requests have bodies.
Use body_ref() to determine if a body exists.
Use body() to take the body, or construct one if no body exists.

Closes #1155

BREAKING CHANGE: Response::body() now consumes the response
2017-05-01 14:22:07 -06:00
Nick Gonzales
0de295670f refactor(http): add status() methods to RawStatus and ResponseHead
This lets us convert RawStatus to StatusCode in Response without having to address the tuple index
directly.
2017-05-01 14:18:22 -06:00
Nick Gonzales
f61708ba81 feat(http): add Default trait to Body
server::Request has a mandatory Body and client::Request has an optional Body.
Having a default for Body makes it easier to merge the two.
2017-05-01 14:18:22 -06:00
Sean McArthur
df1095dfe7 test(http): fix Body.concat test 2017-05-01 12:42:21 -07:00
Sean McArthur
6faa653f0d feat(http): implement Default for Body 2017-05-01 12:29:06 -07:00
Sean McArthur
f5567db4dc feat(http): implement Default for Chunk
This allows using `Stream::concat2` with a `hyper::Body`.
2017-05-01 12:29:06 -07:00
Sean McArthur
154ab29c0d feat(uri): add is_absolute method to Uri
This allows servers to check if an incoming URI is in absolute form.
Especially useful for proxies to determine if the request was meant to
be proxied or aimed directly at the proxy server.
2017-05-01 12:29:06 -07:00
Sean McArthur
817232ec6f Merge pull request #1160 from bluetech/try_nb-from-tokio_io
refactor(lib): use try_nb! from tokio_io, not tokio_core
2017-04-30 11:57:02 -07:00
Ran Benita
f382f45e65 refactor(lib): use try_nb! from tokio_io, not tokio_core
tokio_core::io is deprecated, and the try_nb! conceptually belongs to
that module. It is also available in tokio_io, so use that instead.
2017-04-30 14:36:42 +03:00
Corey Farwell
a13ed6e8d4 chore(readme): remove strikethrough
`<s>` in html is a strikethrough.
2017-04-29 22:53:43 -07:00
Sean McArthur
8dab6ceb3c Merge pull request #1158 from dorfsmay/additional_tests
test(header): test valid corner cases
2017-04-29 22:13:05 -07:00
Sean McArthur
026638f39b Merge pull request #1157 from mp4096/master
chore(travis): fix Travis coverage testing
2017-04-29 22:11:35 -07:00
Yves Dorfsman
310d98d50b fix(header): ignore invalid cookies
In the spirit of Postel's law, ignore invalid cookies rather than
completely discard the entire Cookie header, which is what the current
code does, and which will lead to confusion when dealing with headers
with invalid cookies injected by proxies and intermediate apps servers.
2017-04-29 14:09:24 -06:00