lemmy_apub_lib 0.16.3

A link aggregator for the fediverse
Documentation
use lemmy_utils::LemmyError;
use url::Url;

#[derive(Debug)]
struct DomainError;

impl std::fmt::Display for DomainError {
  fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
    write!(f, "Domain mismatch")
  }
}

impl std::error::Error for DomainError {}

pub fn verify_domains_match(a: &Url, b: &Url) -> Result<(), LemmyError> {
  if a.domain() != b.domain() {
    return Err(DomainError.into());
  }
  Ok(())
}

pub fn verify_urls_match(a: &Url, b: &Url) -> Result<(), LemmyError> {
  if a != b {
    return Err(DomainError.into());
  }
  Ok(())
}