1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//! # Registrar
//!
//! A unified client for domain registrar APIs.
//!
//! This crate provides a strongly-typed, asynchronous interface to interact with
//! various domain registrar APIs. Each registrar is enabled via a feature flag
//! to keep the crate lightweight.
//!
//! ## Currently Supported Registrars
//!
//! - `porkbun` (requires the "porkbun" feature)
//! - `name-com` (requires the "name-com" feature)
//!
use Error;
/// A universal error type for all registrar operations.
///
/// This enum consolidates errors from the underlying HTTP client, JSON
/// serialization/deserialization, and specific API error messages
/// returned by the registrar.
/// A specialized `Result` type for registrar operations.
///
/// This type alias simplifies function signatures throughout the crate
/// by using `registrar::Error` as the default error type.
pub type Result<T> = Result;
// Conditionally compile and expose the porkbun module.
// This block of code will only be included if the "porkbun" feature
// is enabled by the user of this crate.
// This block of code will only be included if the "name-com" feature
// is enabled by the user of this crate.