remove unused stanza_error implementation
This commit is contained in:
parent
1378ca3724
commit
070252bde3
2 changed files with 0 additions and 174 deletions
|
@ -1,3 +1 @@
|
|||
pub mod stanza_error;
|
||||
pub mod sasl_error;
|
||||
//pub mod stream_error;
|
||||
|
|
|
@ -1,172 +0,0 @@
|
|||
use ns;
|
||||
use minidom::Element;
|
||||
use util::{FromElement, FromParentElement};
|
||||
use std::str::FromStr;
|
||||
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub enum ErrorType {
|
||||
Auth,
|
||||
Cancel,
|
||||
Continue,
|
||||
Modify,
|
||||
Wait,
|
||||
}
|
||||
|
||||
impl FromStr for ErrorType {
|
||||
type Err = ();
|
||||
|
||||
fn from_str(s: &str) -> Result<ErrorType, ()> {
|
||||
Ok(match s {
|
||||
"auth" => ErrorType::Auth,
|
||||
"cancel" => ErrorType::Cancel,
|
||||
"continue" => ErrorType::Continue,
|
||||
"modify" => ErrorType::Modify,
|
||||
"wait" => ErrorType::Wait,
|
||||
_ => { return Err(()); },
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub enum Condition {
|
||||
BadRequest,
|
||||
Conflict,
|
||||
FeatureNotImplemented,
|
||||
Forbidden,
|
||||
Gone(Option<String>),
|
||||
InternalServerError,
|
||||
ItemNotFound,
|
||||
JidMalformed,
|
||||
NotAcceptable,
|
||||
NotAllowed,
|
||||
NotAuthorized,
|
||||
PolicyViolation,
|
||||
RecipientUnavailable,
|
||||
Redirect(Option<String>),
|
||||
RegistrationRequired,
|
||||
RemoteServerNotFound,
|
||||
RemoteServerTimeout,
|
||||
ResourceConstraint,
|
||||
ServiceUnavailable,
|
||||
SubscriptionRequired,
|
||||
UndefinedCondition,
|
||||
UnexpectedRequest,
|
||||
}
|
||||
|
||||
impl FromParentElement for Condition {
|
||||
type Err = ();
|
||||
|
||||
fn from_parent_element(elem: &Element) -> Result<Condition, ()> {
|
||||
if elem.has_child("bad-request", ns::STANZAS) {
|
||||
Ok(Condition::BadRequest)
|
||||
}
|
||||
else if elem.has_child("conflict", ns::STANZAS) {
|
||||
Ok(Condition::Conflict)
|
||||
}
|
||||
else if elem.has_child("feature-not-implemented", ns::STANZAS) {
|
||||
Ok(Condition::FeatureNotImplemented)
|
||||
}
|
||||
else if elem.has_child("forbidden", ns::STANZAS) {
|
||||
Ok(Condition::Forbidden)
|
||||
}
|
||||
else if let Some(alt) = elem.get_child("gone", ns::STANZAS) {
|
||||
let text = alt.text();
|
||||
let inner = if text == "" { None } else { Some(text) };
|
||||
Ok(Condition::Gone(inner))
|
||||
}
|
||||
else if elem.has_child("internal-server-error", ns::STANZAS) {
|
||||
Ok(Condition::InternalServerError)
|
||||
}
|
||||
else if elem.has_child("item-not-found", ns::STANZAS) {
|
||||
Ok(Condition::ItemNotFound)
|
||||
}
|
||||
else if elem.has_child("jid-malformed", ns::STANZAS) {
|
||||
Ok(Condition::JidMalformed)
|
||||
}
|
||||
else if elem.has_child("not-acceptable", ns::STANZAS) {
|
||||
Ok(Condition::NotAcceptable)
|
||||
}
|
||||
else if elem.has_child("not-allowed", ns::STANZAS) {
|
||||
Ok(Condition::NotAllowed)
|
||||
}
|
||||
else if elem.has_child("not-authorized", ns::STANZAS) {
|
||||
Ok(Condition::NotAuthorized)
|
||||
}
|
||||
else if elem.has_child("policy-violation", ns::STANZAS) {
|
||||
Ok(Condition::PolicyViolation)
|
||||
}
|
||||
else if elem.has_child("recipient-unavailable", ns::STANZAS) {
|
||||
Ok(Condition::RecipientUnavailable)
|
||||
}
|
||||
else if let Some(alt) = elem.get_child("redirect", ns::STANZAS) {
|
||||
let text = alt.text();
|
||||
let inner = if text == "" { None } else { Some(text) };
|
||||
Ok(Condition::Redirect(inner))
|
||||
}
|
||||
else if elem.has_child("registration-required", ns::STANZAS) {
|
||||
Ok(Condition::RegistrationRequired)
|
||||
}
|
||||
else if elem.has_child("remote-server-not-found", ns::STANZAS) {
|
||||
Ok(Condition::RemoteServerNotFound)
|
||||
}
|
||||
else if elem.has_child("remote-server-timeout", ns::STANZAS) {
|
||||
Ok(Condition::RemoteServerTimeout)
|
||||
}
|
||||
else if elem.has_child("resource-constraint", ns::STANZAS) {
|
||||
Ok(Condition::ResourceConstraint)
|
||||
}
|
||||
else if elem.has_child("service-unavailable", ns::STANZAS) {
|
||||
Ok(Condition::ServiceUnavailable)
|
||||
}
|
||||
else if elem.has_child("subscription-required", ns::STANZAS) {
|
||||
Ok(Condition::SubscriptionRequired)
|
||||
}
|
||||
else if elem.has_child("undefined-condition", ns::STANZAS) {
|
||||
Ok(Condition::UndefinedCondition)
|
||||
}
|
||||
else if elem.has_child("unexpected-request", ns::STANZAS) {
|
||||
Ok(Condition::UnexpectedRequest)
|
||||
}
|
||||
else {
|
||||
Err(())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct StanzaError {
|
||||
error_type: ErrorType,
|
||||
text: Option<String>,
|
||||
condition: Condition,
|
||||
}
|
||||
|
||||
impl StanzaError {
|
||||
pub fn new(error_type: ErrorType, text: Option<String>, condition: Condition) -> StanzaError {
|
||||
StanzaError {
|
||||
error_type: error_type,
|
||||
text: text,
|
||||
condition: condition,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl FromElement for StanzaError {
|
||||
type Err = ();
|
||||
|
||||
fn from_element(elem: &Element) -> Result<StanzaError, ()> {
|
||||
if elem.is("error", ns::STANZAS) {
|
||||
let error_type = elem.attr("type").ok_or(())?;
|
||||
let err: ErrorType = error_type.parse().map_err(|_| ())?;
|
||||
let condition: Condition = Condition::from_parent_element(elem)?;
|
||||
let text = elem.get_child("text", ns::STANZAS).map(|c| c.text());
|
||||
Ok(StanzaError {
|
||||
error_type: err,
|
||||
text: text,
|
||||
condition: condition,
|
||||
})
|
||||
}
|
||||
else {
|
||||
Err(())
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue