BREAKING CHANGE: This changes the signature of HttpWriter.end(),
returning a `EndError` that is similar to std::io::IntoInnerError,
allowing HttpMessage to retrieve the broken connections and not panic.
The breaking change isn't exposed in any usage of the `Client` API,
but for anyone using `HttpWriter` directly, since this was technically
a public method, that change is breaking.
This allows HttpStream and HttpListener to be created from raw
sockets similar to their Tcp counterparts. It also fixes up the
signature from i32 to RawFd for the AsRawFd method.
While these methods are marked unstable in libstd, this is behind a
feature flag, `timeouts`. The Client and Server both have
`set_read_timeout` and `set_write_timeout` methods, that will affect all
connections with that entity.
BREAKING CHANGE: Any custom implementation of NetworkStream must now
implement `set_read_timeout` and `set_write_timeout`, so those will
break. Most users who only use the provided streams should work with
no changes needed.
Closes#315
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