progenitor/docs/implementing-client.md

1.2 KiB

Implementing the client

Once you have generated your client, you'll notice there are two methods to create a new Client; Client::new() and Client::new_with_client().

The first method will create a basic client without any headers or customizations that aren't already in your OpenAPI specification file:

let client = Client::new("https://foo/bar");

Should you need to set custom headers or other reqwest::ClientBuilder methods, you can use Client::new_with_client() as shown below.

let mut val = reqwest::header::HeaderValue::from_static("super-secret");
val.set_sensitive(true);
let mut headers = reqwest::header::HeaderMap::new();
headers.insert(reqwest::header::AUTHORIZATION, val);
// Insert more headers if necessary

let client_builder = reqwest::ClientBuilder::new()
    // Set custom timeout
    .connect_timeout(Duration::new(60, 0))
    // Set custom headers
    .default_headers(headers)
    .build()
    .unwrap();

let client Client::new_with_client("https://foo/bar", client_builder);

For more information on available methods, see the reqwest documentation.