Module validation

Module validation 

Source
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.

§DID Validation

§Network Address Validation

§Utility Functions

§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.