Эх сурвалжийг харах

Add {RelativeSchemeData,Url}::domain() methods.

Simon Sapin 12 жил өмнө
parent
commit
db0c401f20
1 өөрчлөгдсөн 16 нэмэгдсэн , 0 устгасан
  1. 16 0
      src/url.rs

+ 16 - 0
src/url.rs

@@ -270,6 +270,14 @@ impl Url {
         }
     }
 
+    #[inline]
+    pub fn domain<'a>(&'a self) -> Option<&'a str> {
+        match self.scheme_data {
+            RelativeSchemeData(ref scheme_data) => scheme_data.domain(),
+            OtherSchemeData(..) => None,
+        }
+    }
+
     #[inline]
     pub fn port<'a>(&'a self) -> Option<&'a str> {
         match self.scheme_data {
@@ -305,6 +313,14 @@ impl Url {
 
 
 impl RelativeSchemeData {
+    #[inline]
+    pub fn domain<'a>(&'a self) -> Option<&'a str> {
+        match self.host {
+            Domain(ref domain) => Some(domain.as_slice()),
+            _ => None,
+        }
+    }
+
     pub fn serialize_path(&self) -> String {
         if self.path.is_empty() {
             "/".to_string()