abs_data/
config.rs

1pub struct Config;
2
3impl Config {
4    pub const BASE_URL: &str = "https://api.data.abs.gov.au";
5    pub const DATA_PATH: &str = "data";
6    pub const DATA_KEY_MAX_LENGTH: usize = 260;
7    pub const DATA_KEY_REQUIRED_DOT_COUNT: usize = 4;
8
9    pub const QUERY_START_PERIOD: &str = "startPeriod";
10    pub const QUERY_END_PERIOD: &str = "endPeriod";
11    pub const QUERY_DETAIL: &str = "detail";
12    pub const QUERY_DIMENSION_AT_OBSERVATION: &str = "dimensionAtObservation";
13    pub const QUERY_REFERENCES: &str = "references";
14
15    pub const MIME_TYPE_SDMX_STRUCTURE_JSON: &str = "application/vnd.sdmx.structure+json";
16    pub const MIME_TYPE_SDMX_DATA_JSON: &str = "application/vnd.sdmx.data+json";
17
18    pub const HEADER_ACCEPT_KEY: &str = "Accept";
19    pub const HEADER_USER_AGENT_KEY: &str = "User-Agent";
20    pub const HEADER_API_KEY: &str = "x-api-key";
21    pub const HEADER_USER_AGENT_VALUE: &str = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36";
22
23    pub const USER_AGENT_ANONYMOUS: (&str, &str) =
24        (Self::HEADER_USER_AGENT_KEY, Self::HEADER_USER_AGENT_VALUE);
25
26    pub const ACCEPT_STRUCTURE_JSON: (&str, &str) =
27        (Self::HEADER_ACCEPT_KEY, Self::MIME_TYPE_SDMX_STRUCTURE_JSON);
28
29    pub const ACCEPT_DATA_JSON: (&str, &str) =
30        (Self::HEADER_ACCEPT_KEY, Self::MIME_TYPE_SDMX_DATA_JSON);
31}