nvd_api/v2/
api.rs

1use crate::pagination::ListResponse;
2use crate::v2::products::{CpeMatchParameters, CpeParameters};
3use crate::v2::vulnerabilities::{CveHistoryParameters, CveParameters};
4use crate::{Error, NVDApi};
5
6impl NVDApi {
7  pub async fn cve(&self, query: CveParameters) -> Result<ListResponse, Error> {
8    let u = format!("{}/{}/{}", self.base_path, "cves", self.version);
9    self.request(self.client.get(u).query(&query)).await
10  }
11  pub async fn cve_history(&self, query: CveHistoryParameters) -> Result<ListResponse, Error> {
12    let u = format!("{}/{}/{}", self.base_path, "cvehistory", self.version);
13    self.request(self.client.get(u).query(&query)).await
14  }
15  pub async fn cpe(&self, query: CpeParameters) -> Result<ListResponse, Error> {
16    let u = format!("{}/{}/{}", self.base_path, "cpes", self.version);
17    self.request(self.client.get(u).query(&query)).await
18  }
19  pub async fn cpe_match(&self, query: CpeMatchParameters) -> Result<ListResponse, Error> {
20    let u = format!("{}/{}/{}", self.base_path, "cpematch", self.version);
21    self.request(self.client.get(u).query(&query)).await
22  }
23}