smarty_rust_sdk/us_street_api/
client.rs

1use crate::sdk::batch::Batch;
2use crate::sdk::client::Client;
3use reqwest::Method;
4use smarty_rust_proc_macro::smarty_api;
5
6use crate::sdk::error::SmartyError;
7use crate::sdk::options::Options;
8use crate::sdk::send_request;
9use crate::us_street_api::candidate::Candidates;
10use crate::us_street_api::lookup::Lookup;
11
12#[smarty_api(
13    default_url = "https://us-street.api.smarty.com/",
14    api_path = "street-address",
15    lookup_style(batch),
16    lookup_type = "Lookup",
17    result_type = "Candidates",
18    result_handler(batch)
19)]
20pub struct USStreetAddressClient;
21
22impl USStreetAddressClient {
23    fn handle_batch_results(&self, batch: &mut Batch<Lookup>, results: Candidates) {
24        let records = batch.records_mut();
25        for result in results {
26            records[result.input_index as usize].results.push(result);
27        }
28    }
29}