diff src/resolv_addr.rs @ 28:cfef4593e207

Run `cargo fmt`.
author Paul Fisher <paul@pfish.zone>
date Sat, 19 Apr 2025 01:33:50 -0400
parents 66c0e10c89fc
children
line wrap: on
line diff
--- a/src/resolv_addr.rs	Fri Feb 28 23:15:59 2025 +0100
+++ b/src/resolv_addr.rs	Sat Apr 19 01:33:50 2025 -0400
@@ -1,5 +1,5 @@
+use std::fmt;
 use thiserror::Error;
-use std::fmt;
 
 #[derive(Debug, PartialEq)]
 pub(crate) struct ResolvAddr(String);
@@ -9,7 +9,9 @@
         &self.0
     }
 
-    pub(crate) fn try_from_generic<T: std::ops::Deref<Target=str> + Into<String>>(string: T) -> Result<Self, ResolvAddrError> {
+    pub(crate) fn try_from_generic<T: std::ops::Deref<Target = str> + Into<String>>(
+        string: T,
+    ) -> Result<Self, ResolvAddrError> {
         // can't use a combinator due to borrowing
         let colon = match string.rfind(':') {
             Some(colon) => colon,
@@ -19,12 +21,18 @@
         let (hostname, port) = string.split_at(colon);
 
         if let Err(error) = port[1..].parse::<u16>() {
-            return Err(ResolvAddrError::InvalidPort { string: string.into(), error, });
+            return Err(ResolvAddrError::InvalidPort {
+                string: string.into(),
+                error,
+            });
         }
 
         let len = hostname.len();
         if len > 253 {
-            return Err(ResolvAddrError::TooLong { string: string.into(), len, } )
+            return Err(ResolvAddrError::TooLong {
+                string: string.into(),
+                len,
+            });
         }
 
         let mut label_start = 0usize;
@@ -33,17 +41,30 @@
             match c {
                 '.' => {
                     if i - label_start == 0 {
-                        return Err(ResolvAddrError::EmptyLabel { string: string.into(), label_start, });
+                        return Err(ResolvAddrError::EmptyLabel {
+                            string: string.into(),
+                            label_start,
+                        });
                     }
 
                     label_start = i + 1;
-                },
+                }
                 'a'..='z' | 'A'..='Z' | '0'..='9' | '-' => (),
-                _ => return Err(ResolvAddrError::InvalidCharacter { string: string.into(), c, pos: i, }),
+                _ => {
+                    return Err(ResolvAddrError::InvalidCharacter {
+                        string: string.into(),
+                        c,
+                        pos: i,
+                    })
+                }
             }
 
             if i - label_start > 63 {
-                return Err(ResolvAddrError::LongLabel { string: string.into(), label_start, label_end: i, });
+                return Err(ResolvAddrError::LongLabel {
+                    string: string.into(),
+                    label_start,
+                    label_end: i,
+                });
             }
         }
 
@@ -57,19 +78,25 @@
     }
 }
 
-
 #[derive(Debug, Error)]
 pub(crate) enum ResolvAddrError {
     #[error("hostname {string} has {len} character which exceeds the limit of 253")]
     TooLong { string: String, len: usize },
     #[error("invalid character {c} in hostname {string} at position {pos}")]
-    InvalidCharacter { string: String, pos: usize, c: char, },
+    InvalidCharacter { string: String, pos: usize, c: char },
     #[error("hostname {string} contains a label {} at position {label_start} which is {} characters long - more than the limit 63", &string[(*label_start)..(*label_end)], label_end - label_start)]
-    LongLabel { string: String, label_start: usize, label_end: usize, },
+    LongLabel {
+        string: String,
+        label_start: usize,
+        label_end: usize,
+    },
     #[error("hostname {string} contains an empty label at position {label_start}")]
-    EmptyLabel { string: String, label_start: usize, },
+    EmptyLabel { string: String, label_start: usize },
     #[error("the address {0} is missing a port")]
     MissingPort(String),
     #[error("failed to parse port numer in the address {string}")]
-    InvalidPort { string: String, error: std::num::ParseIntError, },
+    InvalidPort {
+        string: String,
+        error: std::num::ParseIntError,
+    },
 }