use crate::{ error::Result, lease_parser::{Lease, parse_leases}, transport::Transport, }; pub struct Router { transport: T, } impl Router { pub fn new(transport: T) -> Self { Self { transport } } pub fn dhcp_leases(&self, resource: &str) -> Result> { let raw = self.transport.fetch(resource)?; parse_leases(&raw).map_err(|e| crate::error::Error::Parse(e.to_string())) } }