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
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
Sean McArthur
e859f89942
refactor(http): reduce complexity of Conn::start_send
2017-06-25 11:51:43 -07:00
Sean McArthur
4dfe0db0f4
perf(server): dont record Idle time when not needed
2017-06-25 11:51:43 -07:00
Sean McArthur
7d122bd15f
perf(header): optimize when inserting a new type header
2017-06-25 11:51:42 -07:00
Sean McArthur
7369fe649f
Merge pull request #1233 from KonishchevDmitry/patch-1
...
Fix a typo in ContentType header's doc
2017-06-25 08:47:58 -07:00
Dmitry Konishchev
6fd46427af
docs(headers): fix a typo in ContentType header's doc
2017-06-25 16:41:51 +03:00
Sean McArthur
1e31e11d3d
Merge pull request #1226 from yazaddaruvala/remove_byte_str
...
refactor(uri): make ByteStr an implementation detail of uri
2017-06-24 14:50:44 -07:00
Yazad Daruvala
3021cd9dd8
refactor(uri): make ByteStr an implementation detail of uri
2017-06-23 21:58:15 -07:00
Sean McArthur
579d360f51
chore(status): remove dead code
2017-06-22 21:10:10 -07:00
Sean McArthur
b4be22db56
docs(http): remove 'client' from docs of Request and Response
2017-06-22 21:09:50 -07:00
Sean McArthur
45ce625bda
test(header): add ContentType to server encode benchmark
2017-06-22 12:25:50 -07:00