aboutsummaryrefslogtreecommitdiff
path: root/src/error.rs
diff options
context:
space:
mode:
authorZeyla Hellyer <[email protected]>2017-06-07 15:01:47 -0700
committerZeyla Hellyer <[email protected]>2017-06-07 15:01:47 -0700
commit8f8a05996c5b47ec9401aabb517d96ed2af5c36b (patch)
treeab48c3b558c396f4f6d12c98a466074f97f17acf /src/error.rs
parentWs read/write timeout after 90s (diff)
downloadserenity-8f8a05996c5b47ec9401aabb517d96ed2af5c36b.tar.xz
serenity-8f8a05996c5b47ec9401aabb517d96ed2af5c36b.zip
Upgrade rust-websocket, rust-openssl, and hyper
Upgrade `rust-websocket` to v0.20, maintaining use of its sync client. This indirectly switches from `rust-openssl` v0.7 - which required openssl-1.0 on all platforms - to `native-tls`, which allows for use of schannel on Windows, Secure Transport on OSX, and openssl-1.1 on other platforms. Additionally, since hyper is no longer even a dependency of rust-websocket, we can safely and easily upgrade to `hyper` v0.10 and `multipart` v0.12. This commit is fairly experimental as it has not been tested on a long-running bot.
Diffstat (limited to 'src/error.rs')
-rw-r--r--src/error.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/error.rs b/src/error.rs
index 7795db5..6aa65e7 100644
--- a/src/error.rs
+++ b/src/error.rs
@@ -8,6 +8,8 @@ use ::model::ModelError;
#[cfg(feature="hyper")]
use hyper::Error as HyperError;
+#[cfg(feature="native-tls")]
+use native_tls::Error as TlsError;
#[cfg(feature="voice")]
use opus::Error as OpusError;
#[cfg(feature="websocket")]
@@ -83,6 +85,9 @@ pub enum Error {
/// An error from the `hyper` crate.
#[cfg(feature="hyper")]
Hyper(HyperError),
+ /// An error from the `native-tls` crate.
+ #[cfg(feature="native-tls")]
+ Tls(TlsError),
/// An error from the `rust-websocket` crate.
#[cfg(feature="gateway")]
WebSocket(WebSocketError),
@@ -141,6 +146,13 @@ impl From<OpusError> for Error {
}
}
+#[cfg(feature="native-tls")]
+impl From<TlsError> for Error {
+ fn from(e: TlsError) -> Error {
+ Error::Tls(e)
+ }
+}
+
#[cfg(feature="gateway")]
impl From<WebSocketError> for Error {
fn from(e: WebSocketError) -> Error {
@@ -184,6 +196,8 @@ impl StdError for Error {
Error::Hyper(ref inner) => inner.description(),
#[cfg(feature="voice")]
Error::Opus(ref inner) => inner.description(),
+ #[cfg(feature="native-tls")]
+ Error::Tls(ref inner) => inner.description(),
#[cfg(feature="voice")]
Error::Voice(_) => "Voice error",
#[cfg(feature="gateway")]