Sean McArthur
de17901adb
Merge pull request #144 from emk/method-eq
...
Allow hyper::method::Method to be put in HashMap
2014-11-24 17:38:55 -08:00
Eric Kidd
ccef7953f8
Add some basic tests for hyper::method::Method
...
This test case does not attempt to test all the methods exhaustively,
but it does at least test all the methods in the APIs. There's also a
check to make sure that Method can be used as part of a hash-table key.
2014-11-24 20:23:37 -05:00
Eric Kidd
91112516fc
Allow hyper::method::Method to be put in HashMap
...
This is needed for porting iron/router to hyper.
2014-11-24 20:23:37 -05:00
Till Hoeppner
8bb5f0420b
Fix for ASCII_LOWER_MAP visibility and deprecation warnings
2014-11-24 21:19:46 +01:00
Austin Bonander
ff76e1c837
Fuse ChunkedReader after end
...
Remove debug
2014-11-24 02:27:06 -08: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
Barosl Lee
c1c0103225
Accept any token to be a valid request method
...
- Rename read_until_space() to read_token_until_space()
- Check if the byte is part of the token in read_token_until_space()
- Return HttpMethodError if the token is empty
- Remove the unnecessary is_valid_method() function
2014-11-23 09:17:45 +09: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
Sean McArthur
97c8276134
adjust doc comment about Unsigned
2014-11-20 16:25:33 -08:00
Sean McArthur
626fe9d91e
rustup: fmt changes
2014-11-20 10:28:09 -08:00
Jonathan Reem
eaee849972
refactor(response): made deconstruct available on all response types.
2014-11-19 16:27:41 -08:00
Jonathan Reem
dbfcd1ecfc
(fix) Replace find_equiv with a lifetime transmute.
2014-11-19 14:52:49 -08:00
Jakob Gillich
f3e1baea9f
fix(http): is_valid_method expects &-ptr
2014-11-19 22:07:11 +01:00
Jakob Gillich
35b7ec132e
refactor(status): replace glob with namespaced variants
2014-11-19 22:07:04 +01: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
Tim Kuehn
5605ade5dc
impl Error and FromError for HttpError; replace instances of try_io! with try!
2014-11-10 22:59:18 -08:00
Sean McArthur
b9bfdd0537
style changes
2014-11-10 20:53:37 -08:00
Sean McArthur
23d376ed6f
Merge pull request #113 from reem/remove-intertwining
...
Removes intertwining, since it is slow and showing up in profiles
2014-11-10 17:53:49 -08:00
Jonathan Reem
928f63c368
Removes intertwining, since it is slow and showing up in profiles
...
Intertwining was a nice feature, but it slows down hyper significantly,
so it is being removed.
There is some fallout from this, mainly that Incoming has had its type
parameter changed to `<A = HttpAcceptor>` and Handler receiving one
bounded with `A: NetworkAcceptor`.
[breaking-change]
Fixes #112
2014-11-10 17:26:55 -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
d51657a831
log fixes
2014-11-10 16:28:56 -08:00
Sean McArthur
bb45ac509d
some more logging
2014-11-10 16:10:52 -08:00
Sean McArthur
358edc0d2b
fix Get and Head requests that weren't writing headers
2014-11-10 16:10:37 -08:00
Sean McArthur
3c10a8a191
feat(server): change Incoming to iterator over Connections
...
A connection is returned from Incoming.next(), and can be passed to a
separate thread before any parsing happens. Call conn.open() to get a
Result<(Request, Response)>.
BREAKING CHANGE
2014-11-10 13:55:11 -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
Stanislav Panferov
a85cc476e1
Basic Cookie and Set-Cookie (only parsing) headers implementation.
2014-11-10 12:31:33 -08:00
Sean McArthur
3b8c5cac1a
fix(client): GET and HEAD shouldn't add Transfer-Encoding
...
Also adds an EmptyWriter, used for GET and HEAD requests,
which will return an io::ShortWrite error if the user ever tries
to write to a GET or HEAD request.
Closes #77
2014-11-09 20:56:59 -08:00
Sean McArthur
caab60e374
Merge pull request #94 from hyperium/authorization
...
Implemented a typed Authorization header
2014-11-08 20:55:08 -08:00
Hanno Braun
ab9c4f99b8
Make Connection usable
...
Connection's only field was private, making it impossible to construct a
Connection.
2014-11-08 22:51:28 +01:00
Jakob Gillich
02e72bb2be
hash_map find has been renamed to get, remove returns an option
2014-11-07 17:45:48 +01:00
Sean McArthur
30534c27c9
dont convert Date to utc if already utc
...
Part of #98
2014-11-06 17:59:39 -08:00
Sean McArthur
3d7820d17e
update using ToSocketAddr
2014-11-06 17:55:32 -08:00
Michael Hart
8a91003e88
parse_bytes is deprecated
...
TBH I'm not sure if this is the most efficient method, but it matches the conversions at 138b76b83a (diff-fcdbb6413438d3b568fe96fd242d8fc9R617)
2014-11-05 11:27:16 -05:00
Michael Hart
1acf567061
Update hash_map and fmt usages
...
Depends on https://github.com/carllerche/curl-rust/pull/24 and
https://github.com/chris-morgan/rust-http/pull/167
2014-11-04 12:34:35 -05:00
Jamie Turner
f88837f172
Add len() test with redundant header.
2014-11-03 21:08:55 -08:00
Jamie Turner
14687ad6d2
Re-add len() and clear() as inherent Headers methods.
2014-11-03 21:06:30 -08:00