Commit Graph

137 Commits

Author SHA1 Message Date
Jonathan Reem
90925f05ee (fix) Add semicolons at macro invocation sites. 2014-12-20 02:38:03 -08:00
Sean McArthur
d19cfed422 Merge pull request #182 from hyperium/client
feat(client): add a new Client struct with super powers
2014-12-14 12:02:13 -08:00
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
2d6c8819cd Merge pull request #193 from wenderen/vary-header
add vary header, first draft
2014-12-13 12:31:40 -08:00
Sean McArthur
0bba6e80ee rust upgrade 2014-12-12 12:24:54 -08:00
Rohan Prinja
258e739ef8 add vary header, first draft 2014-12-12 19:12:55 +05:30
Rohan Prinja
4bae6b7e0e add allow header 2014-12-11 00:18:32 +05:30
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
Corey Richardson
6d91693a41 Add missing reexport 2014-12-07 18:51:50 -05:00
Corey Richardson
e2d387d118 header: add If-Modified-Since support 2014-12-07 18:48:05 -05: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
Stanislav Panferov
6a8864cc27 Add more functions for client to work with cookies. Fixes #155. 2014-12-03 00:33:25 +03: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
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
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
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
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
4263a01f1c convert to using Cow 2014-11-27 12:13:07 -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
Till Hoeppner
8bb5f0420b Fix for ASCII_LOWER_MAP visibility and deprecation warnings 2014-11-24 21:19:46 +01:00
Austin Bonander
34203aa608 Fix compile error 2014-11-24 02:13:35 -08:00
Jonathan Reem
c79e6f0aa5 feat(headers): Added a HeaderFormatter for getting the HTTP representation of a header. 2014-11-23 22:30:26 -08:00
Chris Morgan
8e2255430c Drop the unnecessary dependency on typeable.
See also https://github.com/reem/rust-typeable/issues/3.
2014-11-22 17:20:44 +11:00
Jonathan Reem
368e46d3d9 Merge pull request #118 from hyperium/headers-clone
make Headers implement Clone
2014-11-21 05:16:38 -08:00
Sean McArthur
3cd9b10bcb feat(server): keep-alive!
Internals have been shuffled around such that Request and Reponse are
now given only a mutable reference to the stream, instead of being
allowed to consume it. This allows the server to re-use the streams if
keep-alive is true.

A task pool is used, and the number of the threads can currently be
adjusted by using the `listen_threads()` method on Server.

[breaking-change]
2014-11-20 21:40:55 -08:00
Jonathan Reem
dbfcd1ecfc (fix) Replace find_equiv with a lifetime transmute. 2014-11-19 14:52:49 -08:00
Kyle Dewey
d7e8b8b117 Now using use along with enums, as per https://github.com/rust-lang/rust/pull/18973. 2014-11-19 22:03:41 +01:00
Sean McArthur
7e55506134 move other header parse utils to util module 2014-11-19 10:08:07 -08:00
Sean McArthur
14d3209a72 make Headers implement Clone 2014-11-17 11:19:07 -08:00
Jakob Gillich
125e1f7d63 std::from_str has been moved to std::str 2014-11-17 20:09:53 +01:00
Jakob Gillich
7de67e62f3 fix(time): The time crate has moved to out-of-tree.
This adds a dependency on the time crate found in rust-lang/time
and fixes a field rename from tm_gmtoff to tm_utcoff.

add time dependency

tm_gmtoff has been renamed to tm_utcoff
2014-11-13 13:47:20 -08:00
Sean McArthur
d5982378d1 Merge pull request #111 from reem/header-benchmarks
Add benchmarks for all implemented headers except set-cookie.
2014-11-10 16:44:42 -08:00
Jonathan Reem
d4312c8fe8 Add benchmarks for all implemented headers except set-cookie. 2014-11-10 16:32:30 -08:00
Jonathan Reem
18f5e89432 Add bench_header for benchmarking header implementations. 2014-11-10 16:32:09 -08:00
Sean McArthur
bb45ac509d some more logging 2014-11-10 16:10:52 -08:00
Sean McArthur
fcfb0505dd update to newest cookie-rs 2014-11-10 12:33:29 -08:00
Sean McArthur
33210641f7 use Vec::with_capacity(raw.len()) for Cookies 2014-11-10 12:32:11 -08:00
Sean McArthur
5c224289ec adjustments to Cookie and SetCookie 2014-11-10 12:32:11 -08:00
Stanislav Panferov
a3fc51611f Add cookie_rs as default feature and implement conditional compilation. 2014-11-10 12:31:33 -08:00
Stanislav Panferov
20f156c592 Build SetCookie from CookieJar 2014-11-10 12:31:33 -08:00
Stanislav Panferov
0a624b10e0 Add cookie-rs and use cookie::Cookie in Cookie header. 2014-11-10 12:31:33 -08:00