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
Yves Dorfsman
276170fd1c
test(header): test valid corner cases
...
Test corner cases that are easy to miss when coding such as equal sign
in the cookie value and empty and empty value.
2017-04-29 13:36:55 -06:00
Mikhail Pak
a3c0e22a59
chore(travis): fix Travis coverage testing
...
* Move to the Trusty distro, since Precise is nearing end of life this year
(https://blog.travis-ci.com/2017-04-17-precise-EOL )
* Add a --verify flag to avoid kcov segfaults.
This was the reason why a 0% coverage was reported
* Link dead code to get more pessimistic results
2017-04-29 14:39:27 +02:00
Sean McArthur
34323962de
chore(changelog): pull in changelog notes from 0.10.x branch
2017-04-28 18:46:09 -07:00
Sean McArthur
80f779d3c6
Merge pull request #1152 from hyperium/cookie
...
feat(header): change `Cookie` to be map-like
2017-04-28 16:01:03 -07:00
Sean McArthur
dd03e72392
feat(header): change Cookie to be map-like
...
The `Cookie` header now has 'set' and `get` methods, to treat the list of
cookies as a map.
Closes #1145
BREAKING CHANGE: The `Cookie` header is no longer a wrapper over a
`Vec<String>`. It must be accessed via its `get` and `append` methods.
2017-04-28 13:56:32 -07:00
Sean McArthur
c3466bedf8
refactor(header): fix more ?Sized for 1.10
2017-04-26 14:52:23 -07:00
Sean McArthur
9ab67b7900
style(header): remove ?Sized from where class to fix 1.10 build
2017-04-26 13:58:56 -07:00
Sean McArthur
5130fa4bad
refactor(header): remove unused VecMap.is_empty
2017-04-26 13:46:44 -07:00
Sean McArthur
8d6d9a21af
refactor(header): remove some lifetime transmutes for keys in VecMap
2017-04-26 13:19:23 -07:00
Sean McArthur
38e60f7267
docs(header): update ContentType example to use ContentType::json()
2017-04-26 13:18:35 -07:00
Sean McArthur
a4644959b0
refactor(header): make Quality an opaque struct
...
This makes the `u16` in `Quality` private, since it only has a valid
range of 0-1000, and can't be enforced in public. The `q` function now
allows both `f32`s and `u16`s to construct a `Quality`.
BREAKING CHANGE: Any use of `Quality(num)` should change to `q(num)`.
2017-04-26 11:22:20 -07:00