Commit Graph

1534 Commits

Author SHA1 Message Date
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
Sean McArthur
0a23420c15 docs(README): emphasize getting started with the Guides
Closes #1265
2017-09-16 16:24:48 -07:00
Sean McArthur
c97ff990c4 chore(CONTRIBUTING): update link to easy issues 2017-09-16 16:18:14 -07:00
Sean McArthur
0f0c132bb3 Merge pull request #1321 from Eijebong/export_raw_status
fix(lib): Export hyper::RawStatus if the raw_status feature is enabled
2017-09-15 13:40:11 -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
21de6b6cbf tests(client): improve panic message when client tests fail 2017-09-11 17:50:12 -07: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
Sean McArthur
7ba058a535 Merge pull request #1303 from arthurprs/errorkind
perf(http): prefer ErrorKind::WouldBlock
2017-09-08 10:00:28 -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
50fd4ab96d chore(benches): remove unused pretty_env_logger import 2017-08-28 15:11:52 -07:00
Sean McArthur
cb9aff3c52 chore(tests): fix test for deprecated Future::boxed 2017-08-24 15:05:42 -07: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
Sean McArthur
85c6bec98b Merge pull request #1259 from hyperium/head-responses
fix(server): improve detection of when a Response can have a body
2017-07-13 13:35:13 -07:00
Sean McArthur
673e5cb1a3 fix(server): improve detection of when a Response can have a body
By knowing if the incoming Request was a HEAD, or checking for 204 or
304 status codes, the server will do a better job of either adding
or removing `Content-Length` and `Transfer-Encoding` headers.

Closes #1257
2017-07-13 12:19:53 -07:00
Sean McArthur
5f47d72347 Merge pull request #1244 from gotham-rs/add-response-body_ref-function
feat(server): Provide reference to Response body
2017-07-13 09:08:14 -07:00
Sean McArthur
258584a928 Merge pull request #1250 from dmizuk/remove-getid
refactor(header): remove GetType trait
2017-07-10 09:26:51 -07:00
Daiki Mizukami
dc2c6f1a98 refactor(header): remove GetType trait
Commit 7d122bd15f removed usage of
`header::sealed::GetType`, so the trait can safely be removed.
2017-07-10 17:44:51 +09:00
Sean McArthur
14cbd40071 fix(server): reject Requests with invalid body lengths
- Checks for that the `Transfer-Encoding` header has `chunked` as its
  last encoding
- Makes `Transfer-Encoding` take priority over `Content-Length`
- Rejects requests that contain a `Content-Length` header, but is
  invalid (or contains multiple with different values).
2017-07-06 11:58:43 -07:00
Bradley Beddoes
a79fc98e36 feat(server): Provide reference to Response body
The Response body was previously inaccessible to application code. This
change allows applications that may wish to alter the Response based on
previous creation (or not) of the body to do so.

n.b. discussion in #1216 indicates this function may change in
0.12 or be removed in favour of some other api.

Closes #1216.
2017-07-06 10:44:51 +10:00
Sean McArthur
c4c89a22f8 fix(server): do not automatically set ContentLength for 204 and 304 Responses 2017-07-04 12:52:41 -07:00
Sean McArthur
81c0d185bd fix(client): don't assume bodies on 204 and 304 Responses
Closes #1242
2017-07-04 12:42:02 -07:00
Sean McArthur
7ce3121132 v0.11.1 2017-07-03 15:08:38 -07:00
Sean McArthur
9bb71b9bbf perf(headers): skip newline replacer for safe headers 2017-07-03 14:43:37 -07:00
wangcong
d7edc19af2 style(client): rename req to resp 2017-07-03 09:00:11 -07:00
Sean McArthur
c4835c506d refactor(http): grab io.write_buf_mut only once in write_head 2017-06-26 11:14:57 -07:00
Sean McArthur
04d34f4b65 chore(lib) shuffle around some debug! and info! calls 2017-06-26 10:56:03 -07:00
Sean McArthur
3d85ad057c perf(http): fetch the current Task far less often 2017-06-26 09:35:35 -07:00
Sean McArthur
ecd4c860a3 Merge pull request #1232 from sfackler/auto-continue
feat(server): Handle 100-continue
2017-06-26 09:34:05 -07:00
Steven Fackler
6164e76405 feat(server): Handle 100-continue
cc #838
2017-06-25 13:14:32 -07:00
Sean McArthur
7d9dfee8ce perf(header): speed up VecMap insert and get 2017-06-25 11:51:43 -07:00
Sean McArthur
42f5f78de0 perf(method): improve logic of parsing a Method 2017-06-25 11:51:43 -07:00
Sean McArthur
c165db495e perf(server): put inline on all wrapper methods 2017-06-25 11:51:43 -07:00