Struct Client

Source
pub struct Client { /* private fields */ }
Expand description

Client for CWE-CAPEC API 1.0

The CWE-CAPEC API specification defines the RESTful semantics for querying the CWE and CAPEC data sets from MITRE hosted servers. The goals of this API are to provide access to the RAW CWE dataset in JSON form, and to perform common search, and filter queries

TODO

Version: 1.0

Implementations§

Source§

impl Client

Source

pub fn new(baseurl: &str) -> Self

Create a new client.

baseurl is the base URL provided to the internal reqwest::Client, and should include a scheme and hostname, as well as port and a path stem if applicable.

Source

pub fn new_with_client(baseurl: &str, client: Client) -> Self

Construct a new client with an existing reqwest::Client, allowing more control over its configuration.

baseurl is the base URL provided to the internal reqwest::Client, and should include a scheme and hostname, as well as port and a path stem if applicable.

Source

pub fn baseurl(&self) -> &String

Get the base URL to which requests are made.

Source

pub fn client(&self) -> &Client

Get the internal reqwest::Client used to make requests.

Source

pub fn api_version(&self) -> &'static str

Get the version of this API.

This string is pulled directly from the source OpenAPI document and may be in any format the API selects.

Source§

impl Client

Source

pub async fn get_cwe<'a>( &'a self, ) -> Result<ResponseValue<CweVersion>, Error<()>>

CWE content version

This API endpoint returns content version data of CWE.

Sends a GET request to /cwe/version

Source

pub async fn get_cwe_info<'a>( &'a self, id_s: &'a str, ) -> Result<ResponseValue<CweInfo>, Error<()>>

CWE ID type

This API endpoint returns metadata on specified CWE IDs.

Sends a GET request to /cwe/{id(s)}

Arguments:

  • id_s: comma separated
Source

pub async fn get_cwe_weakness<'a>( &'a self, id_s: &'a str, ) -> Result<ResponseValue<Vec<Weakness>>, Error<()>>

CWE weaknesses

This API endpoint returns a given set of CWE weaknesses by identifier. Multiple identifiers are separated by a comma. If the keyword “all” is given, all CWE weaknesses are returned.

Sends a GET request to /cwe/weakness/{id(s)}

Arguments:

  • id_s: CWE Weakness ID(s) - comma separated
Source

pub async fn get_cwe_category<'a>( &'a self, id_s: &'a str, ) -> Result<ResponseValue<Vec<Category>>, Error<()>>

CWE categories

This API endpoint returns a given set of CWE categories by identifier. Multiple identifiers are separated by a comma. If keyword “all” is given, all CWE categories are returned.

Sends a GET request to /cwe/category/{id(s)}

Arguments:

  • id_s: CWE Category ID(s) - comma separated
Source

pub async fn get_cwe_view<'a>( &'a self, id_s: &'a str, ) -> Result<ResponseValue<Vec<View>>, Error<()>>

CWE views

This API endpoint returns a given set of CWE views by identifier. Multiple identifiers are separated by a comma. If keyword “all” is given, all CWE views are returned.

Sends a GET request to /cwe/view/{id(s)}

Arguments:

  • id_s: CWE View ID(s) - comma separated
Source

pub async fn get_cwe_parents<'a>( &'a self, id: &'a str, view: Option<&'a str>, ) -> Result<ResponseValue<Vec<Parents>>, Error<()>>

The parent of a specified weakness, sampling by the view

Sends a GET request to /cwe/{id}/parents

Arguments:

  • id: CWE ID
  • view: The View_ID field specifies which view to follow in the Has_Member entries and ChildOf relationships to determine the direct parent(s). If there are no parents, the response will be empty. If no view is provided, the parents in all views will be returned
Source

pub async fn get_cwe_descendants<'a>( &'a self, id: &'a str, view: Option<&'a str>, ) -> Result<ResponseValue<Vec<Descendants>>, Error<()>>

All descendants of a specified weakness, sampling by the view

Sends a GET request to /cwe/{id}/descendants

Arguments:

  • id: CWE ID
  • view: The View_ID field specifies which view to follow in the Has_Member entries and ChildOf relationships to determine the appropriate descendants. If there are no descendants, the response will be empty. If no view is provided, the descendants in all views will be returned
Source

pub async fn get_cwe_children<'a>( &'a self, id: &'a str, view: Option<&'a str>, ) -> Result<ResponseValue<Vec<Children>>, Error<()>>

Children of a specified weakness, sampling by the view

Sends a GET request to /cwe/{id}/children

Arguments:

  • id: CWE ID
  • view: The View_ID field specifies which view to follow in the Has_Member entries and ChildOf relationships to determine the direct children. If there are no children, the response will be empty. If no view is provided, the childen in all views will be returned
Source

pub async fn get_cwe_ancestors<'a>( &'a self, id: &'a str, primary: Option<bool>, view: Option<&'a str>, ) -> Result<ResponseValue<Vec<Ancestors>>, Error<()>>

The ancestors of a specified weakness, sampling by the view

Sends a GET request to /cwe/{id}/ancestors

Arguments:

  • id: CWE ID
  • primary: Limit ancestors to include only primary parents
  • view: The View_ID field specifies which view to follow in the Has_Member entries and ChildOf relationships to determine the appropriate ancestors. If there are no ancestors, the response will be empty. If no view is provided, the ancestors in all views will be returned

Trait Implementations§

Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Client

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Client

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,