Move Base64 codec into a helper module.
This commit is contained in:
parent
3e37beffe2
commit
ad17c877f5
3 changed files with 24 additions and 14 deletions
15
src/ibb.rs
15
src/ibb.rs
|
|
@ -8,11 +8,11 @@ use try_from::TryFrom;
|
|||
use std::str::FromStr;
|
||||
|
||||
use minidom::{Element, IntoAttributeValue};
|
||||
use base64;
|
||||
|
||||
use error::Error;
|
||||
|
||||
use ns;
|
||||
use helpers::Base64;
|
||||
|
||||
generate_attribute!(Stanza, "stanza", {
|
||||
Iq => "iq",
|
||||
|
|
@ -25,19 +25,6 @@ generate_element_with_only_attributes!(Open, "open", ns::IBB, [
|
|||
stanza: Stanza = "stanza" => default,
|
||||
]);
|
||||
|
||||
/// Codec wrapping base64 encode/decode
|
||||
struct Base64;
|
||||
|
||||
impl Base64 {
|
||||
fn decode(s: &str) -> Result<Vec<u8>, Error> {
|
||||
Ok(base64::decode(s)?)
|
||||
}
|
||||
|
||||
fn encode(b: &Vec<u8>) -> String {
|
||||
base64::encode(b)
|
||||
}
|
||||
}
|
||||
|
||||
generate_element_with_text!(Data, "data", ns::IBB,
|
||||
[
|
||||
seq: u16 = "seq" => required,
|
||||
|
|
|
|||
Loading…
Reference in a new issue