pub(crate) mod postal_address;
pub(super) mod language_options;
pub(super) mod request_query;
mod end_point;
mod query_string;
mod request_body;
mod validatable;
#[cfg(feature = "reqwest")]
mod request_headers;
#[cfg(feature = "reqwest")]
mod execute;
pub use crate::address_validation::validate_address::request::{
language_options::LanguageOptions,
postal_address::PostalAddress,
request_builder::SetClient,
request_query::RequestQuery,
RequestBuilder as RequestBuilderExport,
};
use bon::Builder;
use getset::{CopyGetters, Getters, MutGetters, Setters};
#[derive(Debug, Builder, CopyGetters, Getters, MutGetters, Setters)]
pub struct Request<'r> {
pub client: &'r crate::Client,
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub address: PostalAddress,
#[builder(into)]
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub previous_response_id: Option<String>,
#[builder(into)]
#[getset(get_copy = "pub", get_mut = "pub", set = "pub")]
pub enable_usps_cass: Option<bool>,
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub language_options: Option<LanguageOptions>,
#[builder(into)]
#[getset(get = "pub", get_mut = "pub", set = "pub")]
pub session_token: Option<String>,
}