match-domain 0.1.2

Rapid checker for the prefix and suffix matching of domain names
Documentation
# `match-domain`: Rapid checker for the prefix and suffix matching of domain names, written in Rust

[![match-domain](https://img.shields.io/crates/v/match-domain.svg)](https://crates.io/crates/match-domain)
[![match-domain](https://docs.rs/match-domain/badge.svg)](https://docs.rs/match-domain)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
![Unit Test](https://github.com/junkurihara/doh-auth-proxy/actions/workflows/test.yml/badge.svg)

Double-array trie based domain matcher, written in Rust.

This enables you to check if the given domain name matches the prefix or suffix of the domain name in the trie.

## Usage

```rust
use match_domain::DomainMatchingRule;

let domain_matching_rule = DomainMatchingRule::try_from(vec![
    "www.google.com".to_string(),
    "*.google.com".to_string(),
    "yahoo.co.*".to_string(),
  ])
  .unwrap();

assert!(domain_matching_rule.is_matched("wwxx.google.com"));
assert!(domain_matching_rule.is_matched("yahoo.co.jp"));

assert!(!domain_matching_rule.is_matched("www.yahoo.com"));
assert!(!domain_matching_rule.is_matched("www.yahoo.co.jp"));
```

Note that for the `DomainMatchingRule::is_matched(&self, domain_name: &str) -> bool` method:

- the argument `domain_name` should be in lowercase
- the argument `domain_name` should not contain a leading dot