Skip to main content

provable_sdk/
options.rs

1#[derive(Debug, Clone, Default, PartialEq, Eq)]
2pub struct RequestOptions {
3    pub data_type: Option<String>,
4    pub omit_data_type: bool,
5    pub api_key: Option<String>,
6}
7
8pub fn resolve_request_options(opts: Option<&RequestOptions>) -> (String, bool, Option<String>) {
9    match opts {
10        None => (crate::config::DATA_TYPE.to_string(), true, None),
11        Some(options) if options.omit_data_type => ("".to_string(), false, options.api_key.clone()),
12        Some(options) => (
13            options
14                .data_type
15                .clone()
16                .unwrap_or_else(|| crate::config::DATA_TYPE.to_string()),
17            true,
18            options.api_key.clone(),
19        ),
20    }
21}