Expand description
Input validation for AT Protocol handles and DIDs.
Validates AT Protocol identifiers including handles, DIDs, and TLDs following RFC 1035 and AT Protocol specifications.
strip_handle_prefixes- Removes common handle prefixes (@,at://)
§DID Validation
is_valid_did_method_plc- Validates PLC DIDs (did:plc:...)is_valid_did_method_web- Validates Web DIDs (did:web:...)is_valid_did_method_webvh- Validates WebVH DIDs (did:webvh:...)
§Network Address Validation
is_valid_hostname- RFC 1035 compliant hostname validationis_ipv4- IPv4 address validationis_ipv6- IPv6 address validation
§Utility Functions
is_valid_base58_btc- Base58-btc alphabet character validation
§Examples
use atproto_identity::validation::*;
// Handle validation
assert_eq!(is_valid_handle("@alice.bsky.social"), Some("alice.bsky.social".to_string()));
// DID validation
assert!(is_valid_did_method_plc("did:plc:z3f2222fa222f5c33c2f27ez"));
assert!(is_valid_did_method_web("did:web:example.com", true));
assert!(is_valid_did_method_webvh("did:webvh:abc123:example.com", true));
// Network validation
assert!(is_valid_hostname("example.com"));
assert!(is_ipv4("192.168.1.1"));
assert!(is_ipv6("2001:db8::1"));Functions§
- is_ipv4
- Checks if a string is a valid IPv4 address.
- is_ipv6
- Checks if a string is a valid IPv6 address.
- is_
valid_ base58_ btc - Checks if a string contains only base58-btc alphabet characters.
- is_
valid_ did_ method_ plc - Validates if a string is a properly formatted PLC DID.
- is_
valid_ did_ method_ web - Validates if a string is a properly formatted Web DID.
- is_
valid_ did_ method_ webvh - Validates if a string is a properly formatted WebVH DID.
- is_
valid_ handle - Validates and normalizes an AT Protocol handle.
- is_
valid_ hostname - Validates if a string is a valid hostname according to RFC 1035.
- strip_
handle_ prefixes - Strips common AT Protocol handle prefixes from a handle string.