2022-01-15 02:01:59 +00:00
|
|
|
// Copyright 2022 Oxide Computer Company
|
2021-10-17 17:40:22 +00:00
|
|
|
|
|
|
|
use progenitor::generate_api;
|
|
|
|
|
2021-10-29 14:16:39 +00:00
|
|
|
generate_api!(
|
2022-01-15 02:01:59 +00:00
|
|
|
spec = "../sample_openapi/keeper.json",
|
|
|
|
inner_type = (),
|
|
|
|
pre_hook = (|_, request| {
|
2021-10-29 14:16:39 +00:00
|
|
|
println!("doing this {:?}", request);
|
2022-01-15 02:01:59 +00:00
|
|
|
}),
|
2024-02-04 19:19:07 +00:00
|
|
|
pre_hook_async = crate::add_auth_headers,
|
2022-01-15 02:01:59 +00:00
|
|
|
post_hook = crate::all_done,
|
|
|
|
derives = [schemars::JsonSchema],
|
2021-10-29 14:16:39 +00:00
|
|
|
);
|
|
|
|
|
2024-02-04 19:19:07 +00:00
|
|
|
async fn add_auth_headers(
|
|
|
|
_: &(),
|
|
|
|
req: &mut reqwest::Request,
|
|
|
|
) -> Result<(), reqwest::header::InvalidHeaderValue> {
|
|
|
|
// You can perform asynchronous, fallible work in a request hook, then
|
|
|
|
// modify the request right before it is transmitted to the server; e.g.,
|
|
|
|
// for generating an authenticaiton signature based on the complete set of
|
|
|
|
// request header values:
|
|
|
|
req.headers_mut().insert(
|
|
|
|
reqwest::header::AUTHORIZATION,
|
|
|
|
reqwest::header::HeaderValue::from_str("legitimate")?,
|
|
|
|
);
|
|
|
|
|
|
|
|
Ok(())
|
|
|
|
}
|
|
|
|
|
2021-10-29 14:16:39 +00:00
|
|
|
fn all_done(_: &(), _result: &reqwest::Result<reqwest::Response>) {}
|
2021-10-17 17:40:22 +00:00
|
|
|
|
2022-01-15 02:01:59 +00:00
|
|
|
mod buildomat {
|
|
|
|
use progenitor::generate_api;
|
|
|
|
|
|
|
|
generate_api!("../sample_openapi/buildomat.json");
|
|
|
|
}
|
|
|
|
|
2021-10-17 17:40:22 +00:00
|
|
|
fn main() {}
|