use http::Request;
use reqwest::{blocking::Client as BClient, Client as AClient};
use tenable::{Error, Response, Tenable};
pub const ACCESS_KEY: &str = "e01ecd2c2bb9ae3f00061195789e538e36fa0a9d2cfc684ab3f3232d3d92c8f7";
pub const SECRET_KEY: &str = "7938401b8906749580c83535539ff5ac323b29845b98aae03edd0d18e201d326";
pub const ASSET_ID: &str = "3b8a0849-4c9d-42a1-bf8c-bb5f999bd5c4";
pub fn get_tenable() -> Tenable<'static> {
Tenable::new(ACCESS_KEY, SECRET_KEY)
}
pub fn request(req: Request<Vec<u8>>) -> Result<Response, Error<reqwest::Error>> {
let (req, body) = req.into_parts();
let res = BClient::new()
.request(req.method, &req.uri.to_string())
.headers(req.headers)
.body(body)
.send()
.map_err(Error::Request)?;
Ok(Response {
status: res.status(),
body: res.bytes().map_err(Error::Request)?,
})
}
pub async fn request_async(req: Request<Vec<u8>>) -> Result<Response, Error<reqwest::Error>> {
let (req, body) = req.into_parts();
let res = AClient::new()
.request(req.method, &req.uri.to_string())
.headers(req.headers)
.body(body)
.send()
.await
.map_err(Error::Request)?;
Ok(Response {
status: res.status(),
body: res.bytes().await.map_err(Error::Request)?,
})
}