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
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.
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
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
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!.
The spec says the header can be either a `*`, `null` or an URL.
Improve docs of header.
BREAKING CHANGE: Add variant to Access-Control-Allow-Origin enum
Parses protocols into a name and a value part matching the RFC.
An enum contains all registered or known protocols, but contains
an extension variant.
Closes#480
BREAKING CHANGE: Upgrade header Protocol changed.
A single value header value can't be "", so `from_one_raw_str()` now
returns `None` on empty values. This makes custom checks in headers
obsolete.
BREAKING CHANGE: `from_one_raw_str()` returns `None` on empty values.
That way, third-parties can keep using the `header!` macro, which
now requires the `test_header!` macro as well.
Considering the `header!` macro is exported and part of the public
API, it was not desired to prevent it's usage in any way.
In empty list header values ``, or list header values with empty items `foo, , bar`,
the empty value is parsed, if the parser does not reject empty values an item is added
to the resulting header. There can't be empty values. Added a test for it in AcceptEncoding.