Commit Graph

665 Commits

Author SHA1 Message Date
Chandler Latour
c940e84a78 docs(headers): add header examples 2015-06-14 21:32:33 -06:00
Sean McArthur
c37d85728f Merge pull request #565 from hyperium/dox-server
docs(server): greatly expand how to use a Server
2015-06-14 08:41:44 -07:00
Sean McArthur
ae5c7276c0 docs(server): greatly expand how to use a Server 2015-06-13 17:02:35 -07:00
Ryman
8275f3b9e3 docs(header): fix typos and minor rewording 2015-06-13 16:53:26 +01:00
Sean McArthur
6d72289394 Merge pull request #564 from hyperium/doxup
docs(header): greatly expand on implementing custom headers
2015-06-13 08:34:50 -07:00
Sean McArthur
a8e29efdec docs(header): greatly expand on implementing custom headers 2015-06-12 15:20:58 -07:00
Sean McArthur
64e47b4bbd feat(client): impl Sync for Client
Connector::connect already used &self, and so would require
synchronization to be handled per connector anyway. Adding Sync to the
Client allows users to setup config for a Client once, such as using a
single connection Pool, and then making requests across multiple
threads.

Closes #254

BREAKING CHANGE: Connectors and Protocols passed to the `Client` must
  now also have a `Sync` bounds, but this shouldn't break default usage.
2015-06-12 11:19:54 -07:00
Pyfisch
195a89fa91 refactor(headers): errors for parse_header
Header::parse_header() returns now a hyper Result instead of an option
this will enable more precise Error messages in the future, currently
most failures are reported as ::Error::Header.

BREAKING CHANGE: parse_header returns Result instead of Option, related
code did also change
2015-06-10 22:22:56 +02:00
Sean McArthur
763746153e Merge pull request #557 from hyperium/http-versions
refactor(http): move h1 and h2 into http module
2015-06-04 12:04:49 -07:00
Sean McArthur
71ac65da5b refactor(http): move h1 and h2 into http module 2015-06-02 12:24:56 -07:00
Sean McArthur
7c0421e3fc feat(error): add private __Nonexhaustive variant to Error
BREAKING CHANGE: Adds a new variant to public Error enum. The proper fix
  is to stop matching exhaustively on `hyper::Error`.
2015-06-02 10:25:01 -07:00
Marko Lalic
f0fe2c5a83 feat(http2): implement message API for HTTP/2 2015-06-02 15:44:12 +02:00
Marko Lalic
48e9ca2f70 feat(http2): add new error variant for HTTP/2
Automatic conversion from the `solicit::http::HttpError` is also
provided.

BREAKING CHANGE: A new variant `Http2` added to a public enum
`hyper::Error`.
2015-06-02 14:34:13 +02:00
Marko Lalic
3122ffefc2 feat(http2): add dependency on solicit 2015-06-02 14:34:13 +02:00
Marko Lalic
d3e3a45760 refactor(client): use a Protocol to create a message for a Request 2015-06-02 14:34:13 +02:00
Marko Lalic
dccdf8d65a feat(client): implement Protocol trait for HTTP/1.1 2015-06-02 14:34:13 +02:00
Marko Lalic
3417303a4a feat(client): add Protocol trait 2015-06-02 14:34:13 +02:00
Marko Lalic
aa297f4532 refactor(client): use HttpMessage in Request and Response
BREAKING CHANGE: `hyper::client::request::Response` is no longer generic
over `NetworkStream` types. It no longer requires a generic type
parameter at all.
2015-06-02 14:34:13 +02:00
Marko Lalic
ecb713f849 feat(client): implement HttpMessage for HTTP/1.1 2015-06-02 14:34:13 +02:00
Marko Lalic
289fd02b55 feat(client): add HttpMessage trait 2015-06-02 14:34:13 +02:00
Sean McArthur
58094556f5 Merge pull request #552 from winding-lines/coverage
test(internal): increasing test coverage of internal/cell module
2015-06-01 09:56:40 -07:00
Marius Seritan
abbc4d6f7e test(internal): increasing test coverage of internal/cell module 2015-05-30 08:08:22 -07:00
Chandler Latour
020db5769d refactor(headers): expose RangeUnit in hyper::header
Allow RangeUnit to be used from user crates.
2015-05-28 16:49:25 -06:00
Sean McArthur
1e5d7d403b Merge pull request #549 from winding-lines/coverage
test(error): increasing test coverage of error module
2015-05-28 10:39:08 -07:00
Sean McArthur
0953b26060 Merge pull request #548 from winding-lines/connection-cov
test(connection): increasing test coverage of connection module
2015-05-28 10:36:15 -07:00
Stacey Ell
b1686d1b22 fix(buffer): check capacity before resizing
``cmp::min(cap * 4, MAX_BUFFER_SIZE) - cap'' can underflow when
cap > MAX_BUFFER_SIZE.  cap can exceed MAX_BUFFER_SIZE because
Vec::reserve aligns to powers of two.

Discovered by Matt Howard <themdhoward@gmail.com>
2015-05-27 08:48:19 -06:00
Marius Seritan
b24e1a5e6c test(error): increasing test coverage of error module 2 2015-05-26 20:31:24 -07:00
Marius Seritan
59d8e80e6c test(error): increasing test coverage of error module 2015-05-26 20:15:06 -07:00
Marius Seritan
c1a8e3bd02 test(connection): increasing test coverage of connection module 2015-05-25 09:31:58 -07:00
Marius Seritan
43e274cfce test(request): increasing test coverage of request module 2015-05-24 21:07:56 -07:00
Marius Seritan
795ee9f5e0 test(status): increasing test coverage of status module 2015-05-24 08:51:07 -07:00
Sean McArthur
69aa25fd0c Merge pull request #545 from hyperium/issue-543
fix(client): don't close stream until EOF
2015-05-23 17:22:38 -07:00
Sean McArthur
a5e6174efd fix(client): don't close stream until EOF
Closes #543
2015-05-23 15:11:44 -07:00
Sean McArthur
e64ce8c05e feat(http): add get_mut method to HttpReader 2015-05-23 15:11:37 -07:00
Pyfisch
5d669399b6 feat(headers): return hyper::Error instead of () from header components
This allows more precise errors in the future and makes it easier to use
the try!() macro in some cases.

BREAKING CHANGE: Error enum extended. Return type of header/shared/
types changed.
2015-05-20 18:24:52 +02:00
Sean McArthur
ca6cf2b294 Merge pull request #538 from hyperium/error-cov
test(error): increasing test coverage of error module
2015-05-18 22:28:27 -07:00
Sean McArthur
d7167e88c3 test(error): increasing test coverage of error module 2015-05-18 22:16:06 -07:00
Sean McArthur
c8086db266 Merge pull request #536 from hyperium/form-url-encoded
feat(header): add ContentType::form_url_encoded() constructor
2015-05-16 17:57:35 -07:00
Sean McArthur
2c99d4e906 feat(header): add ContentType::form_url_encoded() constructor 2015-05-16 15:08:42 -07:00
Marius Seritan
be041d915a feat(client): implement Default trait for client
Initial implementation of the default trait.
2015-05-15 22:35:42 -07:00
Sean McArthur
7d508d684f refactor(header): remove redundant closures 2015-05-13 10:40:54 -07:00
Sean McArthur
7e3858c962 perf(all): replace &str.to_string() with .to_owned() 2015-05-12 23:01:58 -07:00
Sean McArthur
72e274c52a refactor(header): add #[inline] to new header constructors 2015-05-12 18:23:55 -07:00
Sean McArthur
49b5b8fdfe feat(server): check Response headers for Connection: close in keep_alive loop
BREAKING CHANGE: Usage of Response.deconstruct() and construct() now use
  a &mut Headers, instead of the struct proper.
2015-05-12 17:47:55 -07:00
Sean McArthur
871f37a560 Merge pull request #522 from hyperium/header-convenient-constructors
Header convenient constructors
2015-05-11 20:22:18 -07:00
Sean McArthur
b6114ecd2e feat(header): add ContentType::json(), plaintext(), html(), jpeg(), and png() constructors 2015-05-11 19:14:43 -07:00
Sean McArthur
c2938fb45f feat(header): add Connection::close() and ::keep_alive() constructors 2015-05-11 19:14:43 -07:00
Sean McArthur
62d96adc6b refactor(header): change name of deref! to __hyper__deref!
The header is largely for internal use, however, it must be exported
because the header! macro uses it. As deref! is also a particularly
general name, this renames it to __hyper__deref! to prevent name
clashes.

BREAKING CHANGE: If you use deref! from the header module, you'll need
  to switch to using __hyper__deref!.
2015-05-11 19:00:38 -07:00
Sean McArthur
f64fb10bc8 feat(header): export __hyper__tm! macro so test modules work with header! 2015-05-11 19:00:27 -07:00
Sean McArthur
a6dd9c8476 refactor(lib): macro_use the mime! macro 2015-05-11 18:48:00 -07:00