diff --git a/examples/mqtt-ws-server.rs b/examples/mqtt-ws-server.rs index d61479a..3bf564c 100644 --- a/examples/mqtt-ws-server.rs +++ b/examples/mqtt-ws-server.rs @@ -6,7 +6,7 @@ use ntex::io::{Filter, Io}; use ntex::service::{chain_factory, ServiceFactory}; use ntex::util::{variant, Ready}; use ntex::ws; -use ntex_mqtt::{v3, v5, MqttError, MqttServer}; +use ntex_mqtt::{v3, v5, HandshakeError, MqttError, MqttServer}; use ntex_tls::openssl::Acceptor; use openssl::ssl::{SslAcceptor, SslFiletype, SslMethod}; @@ -101,9 +101,9 @@ async fn main() -> std::io::Result<()> { return match result { Some(Protocol::Mqtt) => Ok(variant::Variant2::V1(io)), Some(Protocol::Http) => Ok(variant::Variant2::V2(io)), - Some(Protocol::Unknown) => { - Err(MqttError::ServerError("Unsupported protocol")) - } + Some(Protocol::Unknown) => Err(MqttError::Handshake( + HandshakeError::Server("Unsupported protocol"), + )), None => { // need to read more data io.read_ready().await?; @@ -139,8 +139,10 @@ async fn main() -> std::io::Result<()> { &codec, ) .await?; - return Err(MqttError::ServerError( - "WebSockets handshake error", + return Err(MqttError::Handshake( + HandshakeError::Server( + "WebSockets handshake error", + ), )); } Ok(mut res) => { @@ -176,7 +178,9 @@ async fn main() -> std::io::Result<()> { // adapt service error to mqtt error .map_err(|e| { log::info!("Http server error: {:?}", e); - MqttError::ServerError("Http server error") + MqttError::Handshake(HandshakeError::Server( + "Http server error", + )) })), ) })? diff --git a/src/lib.rs b/src/lib.rs index ceaa027..9139571 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -19,7 +19,7 @@ mod session; mod types; mod version; -pub use self::error::MqttError; +pub use self::error::{HandshakeError, MqttError}; pub use self::server::MqttServer; pub use self::session::Session; pub use self::topic::{TopicFilter, TopicFilterError, TopicFilterLevel};