Sean McArthur
8c83a3358e
feat(client): add a new Client struct with super powers
...
- Includes ergonomic traits like IntoUrl and IntoBody, allowing easy
usage.
- Client can have a RedirectPolicy.
- Client can have a SslVerifier.
Updated benchmarks for client. (Disabled rust-http client bench since it
hangs.)
2014-12-14 11:56:39 -08:00
Sean McArthur
9e99c57fa8
Merge pull request #195 from hyperium/rustup
...
rust upgrade
2014-12-12 13:46:30 -08:00
Sean McArthur
0bba6e80ee
rust upgrade
2014-12-12 12:24:54 -08:00
Sean McArthur
5e560cb1c1
Merge pull request #192 from hyperium/ssl-set-hostname
...
fix(ssl): set_hostname on ssl connections
2014-12-11 21:04:21 -08:00
Sean McArthur
1d7ec47807
Merge pull request #191 from reem/max-header-lengths
...
(fix) Harden header parsing against memory exhaustion attacks.
2014-12-11 20:31:44 -08:00
Sean McArthur
3ac277b1f0
fix(ssl): set_hostname on ssl connections
2014-12-11 20:27:37 -08:00
Jonathan Reem
b1ab03f7f8
(fix) Harden header parsing against memory exhaustion attacks.
...
Adds new limits on the lengths of header names and fields.
Fixes #187
2014-12-11 17:08:57 -08:00
Sean McArthur
7f931845cc
Merge pull request #188 from wenderen/allow-header
...
Allow header
Closes #174
2014-12-10 10:59:34 -08:00
Rohan Prinja
4bae6b7e0e
add allow header
2014-12-11 00:18:32 +05:30
Sean McArthur
e4bf1155de
Merge pull request #186 from hyperium/declone
...
rustup for clone trait
2014-12-09 17:03:34 -08:00
Sean McArthur
89bedd30ba
rustup for clone trait
2014-12-09 16:50:49 -08:00
Sean McArthur
514f96e9eb
Merge pull request #180 from wenderen/etag-header
...
add etag header
2014-12-07 23:48:10 -08:00
Rohan Prinja
c4efa80fb5
add etag header
2014-12-08 13:08:53 +05:30
Sean McArthur
db2a9f40d8
Merge pull request #184 from cmr/if-modified-since
...
Add missing reexport
2014-12-07 15:57:26 -08:00
Corey Richardson
6d91693a41
Add missing reexport
2014-12-07 18:51:50 -05:00
Sean McArthur
0903340905
Merge pull request #183 from cmr/if-modified-since
...
header: add If-Modified-Since support
2014-12-07 15:50:06 -08:00
Corey Richardson
e2d387d118
header: add If-Modified-Since support
2014-12-07 18:48:05 -05:00
Sean McArthur
5b49076d65
Merge pull request #181 from hyperium/rustup
...
rustup
2014-12-06 10:52:37 -08:00
Sean McArthur
debebe8fbe
rustup
2014-12-06 10:52:00 -08:00
Sean McArthur
ae88092587
Merge pull request #168 from hyperium/ssl-verify
...
r=reem
2014-12-04 17:41:42 -08:00
Sean McArthur
36429ab50c
refactor(net): NetworkConnecter no longer is for static usage
...
Instead, you can use an instance of a NetworkConnector with
`Request::with_connector`. This allows overloading of the NetworkStream
constructors, so that it is easy to modify how an `HttpStream` is
created, while still relying on the rest of the stream implementation.
BREAKING CHANGE
2014-12-04 17:39:38 -08:00
Sean McArthur
e6feb34f1b
Merge pull request #176 from kyledewey/remove_equiv
...
Removed now-deprecated Equiv implementation
2014-12-04 14:27:24 -08:00
Kyle Dewey
4febf65a88
Removed now-deprecated Equiv implementation
2014-12-04 14:10:56 -08:00
Sean McArthur
9a2605a138
Merge pull request #165 from hyperium/expires
...
Adds CacheControl, Expires, and LastModified headers
2014-12-02 21:22:32 -08:00
Sean McArthur
e19330326d
Merge pull request #161 from hyperium/mucell
...
refactor(headers): changed from rwlock to mucell underneath
2014-12-02 21:20:52 -08:00
Sean McArthur
ad22d79815
Merge pull request #166 from s-panferov/feature/client-cookies
...
Add more functions for client to work with cookies.
2014-12-02 13:43:30 -08:00
Stanislav Panferov
6a8864cc27
Add more functions for client to work with cookies. Fixes #155 .
2014-12-03 00:33:25 +03:00
Sean McArthur
0ccd1acaa1
Merge pull request #167 from hyperium/rustup
...
rust upgrade
2014-12-02 13:19:17 -08:00
Sean McArthur
fec030a21e
rust upgrade
2014-12-02 13:12:04 -08:00
Sean McArthur
f182f53210
feat(headers): add CacheControl header
2014-12-01 19:58:07 -08:00
Sean McArthur
1ed4ea5a27
Merge pull request #164 from dpc/issue-163
...
Fix Issue 163
2014-12-01 09:38:44 -08:00
Dawid Ciężarkiewicz
f5a7d7cfa1
Tests for "Fix handling long Reason Phrase"
...
Issue #163
2014-11-30 18:37:21 -08:00
Dawid Ciężarkiewicz
f3a5c0124a
Fix handling long Reason Phrase
...
rfc2616 does not specify the maximum length of *Reason Phrase* so it's
a good practice to handle even unreasonably long input.
16 char. buffer is not enough to correctly handle even the common `304
Moved Permanently`. Increase buffer size to more realistic 32. Also, up
to 128 more characters will be read and ignored, providing even greater
versatility without increasing memory usage.
Issue #163
2014-11-30 18:37:14 -08:00
Sean McArthur
0297147dd1
feat(headers): add LastModified header
2014-11-30 15:59:40 -08:00
Sean McArthur
e255f88dd2
feat(headers): add Expires header
2014-11-30 15:47:02 -08:00
Sean McArthur
d71d6549f7
refactor(headers): changed from rwlock to mucell underneath
2014-11-29 22:06:48 -08:00
Jonathan Reem
b1761ad4e1
Merge pull request #162 from hyperium/headers-ergo
...
feat(headers): header ergonomics
2014-11-29 20:14:26 -05:00
Sean McArthur
8071cfa8bf
feat(headers): header ergonomics
...
- Reexports all common::* as header::*
- Most headers implement Deref where it makes sense.
Closes #156
2014-11-29 13:55:50 -08:00
Sean McArthur
1014f63e15
Merge pull request #159 from hyperium/unlog
...
fix(logging): adjust several logging messages
2014-11-28 18:14:48 -08:00
Sean McArthur
07cf414e17
fix(logging): adjust several logging messages
...
Closes #148
2014-11-28 18:03:37 -08:00
Sean McArthur
ed6faceec3
Merge pull request #154 from retep998/master
...
Update to latest Rust
2014-11-28 16:02:22 -08:00
Sean McArthur
cac2a1060c
Merge pull request #158 from dpc/master
...
Fix `HeaderFormatter`.
2014-11-28 09:59:47 -08:00
Dawid Ciężarkiewicz
db72cb5187
Fix HeaderFormatter.
...
Issue #157
2014-11-28 03:49:40 -08:00
Peter Atashian
00a76cee03
Update to latest Rust
...
Signed-off-by: Peter Atashian <retep998@gmail.com >
2014-11-28 02:22:21 -05:00
Sean McArthur
00a1452111
Merge pull request #153 from hyperium/rustup
...
Rustup
2014-11-27 12:19:45 -08:00
Sean McArthur
4263a01f1c
convert to using Cow
2014-11-27 12:13:07 -08:00
Evgeny Rozaliev
c77cd3d3da
(fix) unwrap() => into_inner()
2014-11-27 16:05:19 +03:00
Sean McArthur
ba758ecde1
Merge pull request #146 from hyperium/iter
...
improve Headers.iter
2014-11-25 18:45:09 -08:00
Sean McArthur
febf7d16ef
feat(headers): headers.iter() is more powerful
...
Previously, iter() returned (&str, HeaderView), which wasn't too useful
other than to write out to a stream. Checking for a certain header is
painful since header names are case-insensitive, but &str isn't. And
once found, you still couldn't do anything with a HeaderView other
format it.
Now, iter() returns a HeaderView, with methods is(), name(), and
value(). You can do `view.is::<ContentType>()` to check what header it
is. And you get the typed value out by calling
`view.value::<ContentType>()`, which will return an
`Option<ContentType>`, similar to `headers.get()`.
Headers also now implement Extend and FromIterator, so it's easier to
build new Headers objects by filtering out a few headers.
Because this changes .iter() to return HeaderView instead of a tuple,
this is a:
[breaking-change]
2014-11-24 22:25:06 -08:00
Jonathan Reem
b1684ff027
Merge pull request #147 from hyperium/empty-reader
...
feat(server): properly handle requests that shouldn't have bodies
2014-11-24 22:08:45 -08:00