#![forbid(unsafe_code)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc = include_str!("./README.md")]
pub use url;
#[cfg(feature = "builder")]
pub use build::{GroupBuilder, RobotsBuilder};
#[cfg(feature = "parser")]
pub use parse::{AccessResult, Robots, ALL_UAS};
pub use paths::{create_url, BYTE_LIMIT};
#[non_exhaustive]
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("cannot be a base url")]
CannotBeBase,
#[error("addr scheme: `{scheme}`, expected `http` or `https`")]
WrongScheme { scheme: String },
#[error("url parsing error: {0}")]
Url(#[from] url::ParseError),
}
pub type Result<T> = std::result::Result<T, Error>;
mod paths;
#[cfg(feature = "builder")]
#[cfg_attr(docsrs, doc(cfg(feature = "builder")))]
mod build;
#[cfg(feature = "parser")]
#[cfg_attr(docsrs, doc(cfg(feature = "parser")))]
mod parse;
#[doc(hidden)]
pub mod prelude {
#[cfg(feature = "builder")]
pub use super::build::*;
#[cfg(feature = "parser")]
pub use super::parse::*;
pub use super::paths::*;
pub use super::{Error, Result};
}