Skip to main content

provider_neutral/
provider_neutral.rs

1//! Builds a provider-neutral transport request without performing I/O.
2
3use cloud_sdk::transport::{RequestTarget, TransportRequest};
4use cloud_sdk::{ApiFamily, Method, Provider};
5
6fn main() {
7    let provider = Provider::Hetzner;
8    let family = ApiFamily::Cloud;
9    let Ok(target) = RequestTarget::new("/servers?page=1") else {
10        return;
11    };
12    let request = TransportRequest::new(Method::Get, target);
13
14    assert_eq!(provider, Provider::Hetzner);
15    assert_eq!(family, ApiFamily::Cloud);
16    assert_eq!(request.method(), Method::Get);
17    assert_eq!(request.target().as_str(), "/servers?page=1");
18    assert!(request.body().is_empty());
19}