Commit Graph

187 Commits

Author SHA1 Message Date
Sean McArthur
db24256914 update server benchmarks 2014-11-10 17:56:06 -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
03fb215326 update benchmarks 2014-11-10 16:11:02 -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
619c896801 Merge pull request #110 from hyperium/server-parsing
feat(server): change Incoming to iterator over Connections
2014-11-10 14:26:44 -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
0500b5f17f Merge pull request #106 from hyperium/cookies
Cookies
2014-11-10 12:45:15 -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
b7957ed36c Merge pull request #108 from hyperium/77-empty-responses
fix(client): GET and HEAD shouldn't add Transfer-Encoding
2014-11-10 09:41:25 -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
Sean McArthur
39e0829b4d Merge pull request #107 from hannobraun/connection
Make Connection usable
2014-11-08 20:24:33 -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
Sean McArthur
c32b15041a Merge pull request #105 from reem/hello-world
Add a simple threaded hello world example.
2014-11-07 16:17:20 -08:00
Jonathan Reem
a69b5ae166 Add a simple threaded hello world example. 2014-11-07 15:52:28 -08:00
Sean McArthur
6ec038053a Merge pull request #102 from jgillich/hashmap
hash_map find has been renamed to get, remove returns an option
2014-11-07 09:51:26 -08:00
Jakob Gillich
02e72bb2be hash_map find has been renamed to get, remove returns an option 2014-11-07 17:45:48 +01:00
Jonathan Reem
6bf0a07792 Merge pull request #100 from hyperium/date-utc
dont convert Date to utc if already utc
2014-11-06 19:43:29 -08: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
9b27870533 Merge pull request #101 from hyperium/to-socket-addr
update using ToSocketAddr
2014-11-06 17:59:27 -08:00
Sean McArthur
3d7820d17e update using ToSocketAddr 2014-11-06 17:55:32 -08:00
Sean McArthur
a1b1968797 Merge pull request #97 from mhart/patch-1
parse_bytes is deprecated
2014-11-05 08:58:11 -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
Jonathan Reem
d409236e42 Merge pull request #96 from mhart/update-hashmap-fmt
Update hash_map and fmt usages
2014-11-04 12:56:28 -08: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
Sean McArthur
b508e913a1 Merge pull request #95 from jamwt/remove_coll_traits
Move len/clear from trait implementations to inherent methods
2014-11-03 21:22:24 -08: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
Jamie Turner
bef7da153c Remove collections trait implementations.
Rust has removed them due to collections reform RFC:

RFC: https://github.com/rust-lang/rfcs/pull/235/files
Commit:
21ac985af4
2014-11-03 18:30:16 -08:00
Gilman Tolle
91a8e03e7a Implemented a typed Authorization header
An Authorization header contains a Scheme. If you have no real scheme,
you can use String as your scheme (Authorization<String>).

This includes the `Basic` scheme built-in.
2014-10-31 18:51:23 -07:00
Sean McArthur
7478f3dfd6 Merge pull request #93 from hyperium/split-networkstream
split NetworkStream::connect to NetworkConnector
2014-10-31 16:04:35 -07:00
Sean McArthur
4dd1fc5642 update benches with trait splits 2014-10-31 16:00:34 -07:00
Sean McArthur
f117ebe367 fix missing_docs lint name 2014-10-31 15:49:53 -07:00
Sean McArthur
3cd7d72b07 split NetworkStream::connect to NetworkConnector 2014-10-31 15:49:26 -07:00
Sean McArthur
2d1ad7a2fa Merge pull request #92 from reem/header-trait-split
Split Header into Header and HeaderFormat
2014-10-31 15:20:55 -07:00
Jonathan Reem
0652858dbf Update all common headers for the new Header trait split 2014-10-31 15:10:34 -07:00
Jonathan Reem
00bc001e59 Split Header into Header and HeaderFormat
Header contains all of the trait-object unsafe methods
including the name of the header and parsing. HeaderFormat
contains fmt_header, which is the only trait-object safe
method.
2014-10-31 15:09:42 -07:00
Sean McArthur
3dd61b4600 Merge pull request #59 from hyperium/upgrade
add bits to deal with Upgrade requests
2014-10-31 10:34:02 -07:00