Strict-Transport-Security allows servers to inform user-agents that
they'd like them to always contact the secure host (https) instead of
the insecure one (http).
Closes#589
Access-Control-Allow-Origin origins are URLs but they do not need to
be valid, they should just be compared as strings. So to support
invalid URLs hyper should use a string instead.
closes#526
BREAKING CHANGE: Access-Control-Allow-Origin does no longer use Url
This will always be the last URL that was used by the Request, which is
useful for determining what the final URL was after redirection.
BREAKING CHANGE: Technically a break, since `Response::new()` takes an
additional argument. In practice, the only place that should have been
creating Responses directly is inside the Client, so it shouldn't
break anyone. If you were creating Responses manually, you'll need to
pass a Url argument.
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.
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.
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.
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.
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
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.
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
Automatic conversion from the `solicit::http::HttpError` is also
provided.
BREAKING CHANGE: A new variant `Http2` added to a public enum
`hyper::Error`.
BREAKING CHANGE: `hyper::client::request::Response` is no longer generic
over `NetworkStream` types. It no longer requires a generic type
parameter at all.
``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>