Add IntoUrl trait for Link type
With this we can translate a Link type into an URL type from url::Url
This commit is contained in:
parent
3b82311dfd
commit
db21fa9dd4
1 changed files with 20 additions and 0 deletions
|
@ -1,5 +1,9 @@
|
|||
use std::ops::{Deref, DerefMut};
|
||||
|
||||
use result::Result;
|
||||
|
||||
use url::Url;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Link(String);
|
||||
|
||||
|
@ -19,3 +23,19 @@ impl DerefMut for Link {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
pub trait IntoUrl {
|
||||
fn into_url(self) -> Result<Url>;
|
||||
}
|
||||
|
||||
impl IntoUrl for Link {
|
||||
|
||||
fn into_url(self) -> Result<Url> {
|
||||
use error::BookmarkErrorKind as BEK;
|
||||
use error::MapErrInto;
|
||||
|
||||
Url::parse(&self[..]).map_err_into(BEK::LinkParsingError)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue