Commit Graph

531 Commits

Author SHA1 Message Date
Pyfisch
db93ca0697 style(rustfmt): run rustfmt on hyper correct overlong lines 2015-06-29 20:22:22 +02:00
Sean McArthur
31e5a91350 Merge pull request #582 from mlalic/issue-580
refactor(http2): move to solicit v0.4
2015-06-26 21:18:22 -07:00
Stacey Ell
1a490e25c3 fix(client): use Ssl instance in creation of SslStream
This fix brings SNI into working order
2015-06-26 09:27:27 -06:00
Marko Lalic
37e55944cf test(hyper): assert that error::Error is Send + Sync
This is a regression test for #580.
2015-06-26 14:53:58 +02:00
Marko Lalic
526ce994a3 refactor(http2): move to solicit v0.4
Only minor details in the internals of the `h2` module needed tweaking
for migrating onto the latest version -- `HttpConnect` implementations
are now required to return an error type that implements an
`HttpConnectError` trait.
2015-06-26 14:53:58 +02:00
Sean McArthur
1b6c692fe3 Merge pull request #578 from lame-nickname/master
refactor(headers):  improve `Range` header adherence to HTTP spec
2015-06-23 17:05:23 -07:00
lame-nickname
f7504c3a9c refactor(headers): improve Range header adherence to HTTP spec 2015-06-23 20:59:34 +02:00
Pyfisch
99ff7e6257 feat(langtags): use true language tags in headers
Make hyper dependant on rust-language-tags providing complete parsing
and formatting of language tags. Remove builtin solution for simple
tags.

BREAKING CHANGE: AcceptLanguage and ContentLanguage use LanguageTag now,
Language removed from Hyper.
2015-06-23 20:15:47 +02:00
Sean McArthur
53bba6eb7f feat(ssl): redesign SSL usage
BREAKING CHANGE: Server::https was changed to allow any implementation
  of Ssl. Server in general was also changed. HttpConnector no longer
  uses SSL; using HttpsConnector instead.
2015-06-20 14:58:58 -07:00
Sean McArthur
e689f20376 fix(client): check for drained stream in Response::drop 2015-06-17 13:17:56 -07:00
Sean McArthur
306f39c731 chore(logging): add some trace! logging to headers 2015-06-17 11:37:26 -07:00
Sean McArthur
7d2e5c0ef8 style(client): use status.is_redirection() 2015-06-17 11:36:54 -07:00
Marko Lalic
aee7c991e6 docs(hyper): fix html root url
The HTML root URL is not supposed to point at the index resource, but
represent the path that can be used to construct the full URL of the
crate's components.
2015-06-17 17:42:57 +02:00
Joseph Deray
edf6ac2074 feat(headers): add bearer token support
this allows servers/clients using bearer tokens
 to work out of the box without having to implement
  their own bearer scheme. while this would be pretty
   easy seems like a more general thing that is useful
    for a lib like this
2015-06-17 00:57:04 -04:00
lame-nickname
05c3199846 feat(headers): add Range header 2015-06-16 18:28:48 +02:00
Sean McArthur
febf3031c5 Merge pull request #567 from clatour/header-docs
docs(headers): add examples
2015-06-15 10:15:17 -07:00
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