Struct Client

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

Client for Rekor

Rekor is a cryptographically secure, immutable transparency log for signed software releases.

Version: 1.0.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 search_index<'a>( &'a self, body: &'a SearchIndex, ) -> Result<ResponseValue<Vec<SearchIndexResponseItem>>, Error<Error>>

Searches index by entry metadata

EXPERIMENTAL - this endpoint is offered as best effort only and may be changed or removed in future releases. The results returned from this endpoint may be incomplete.

Sends a POST request to /api/v1/index/retrieve

Source

pub async fn get_log_info<'a>( &'a self, stable: Option<bool>, ) -> Result<ResponseValue<LogInfo>, Error<Error>>

Get information about the current state of the transparency log

Returns the current root hash and size of the merkle tree used to store the log entries.

Sends a GET request to /api/v1/log

Arguments:

  • stable: Whether to return a stable checkpoint for the active shard
Source

pub async fn get_log_entry_by_index<'a>( &'a self, log_index: Option<u64>, ) -> Result<ResponseValue<LogEntry>, Error<Error>>

Retrieves an entry and inclusion proof from the transparency log (if it exists) by index

Sends a GET request to /api/v1/log/entries

Arguments:

  • log_index: specifies the index of the entry in the transparency log to be retrieved
Source

pub async fn create_log_entry<'a>( &'a self, body: &'a ProposedEntry, ) -> Result<ResponseValue<LogEntry>, Error<Error>>

Creates an entry in the transparency log

Creates an entry in the transparency log for a detached signature, public key, and content. Items can be included in the request or fetched by the server when URLs are specified.

Sends a POST request to /api/v1/log/entries

Source

pub async fn search_log_query<'a>( &'a self, body: &'a SearchLogQuery, ) -> Result<ResponseValue<Vec<LogEntry>>, Error<Error>>

Searches transparency log for one or more log entries

Sends a POST request to /api/v1/log/entries/retrieve

Source

pub async fn get_log_entry_by_uuid<'a>( &'a self, entry_uuid: &'a GetLogEntryByUuidEntryUuid, ) -> Result<ResponseValue<LogEntry>, Error<Error>>

Get log entry and information required to generate an inclusion proof for the entry in the transparency log

Returns the entry, root hash, tree size, and a list of hashes that can be used to calculate proof of an entry being included in the transparency log

Sends a GET request to /api/v1/log/entries/{entryUUID}

Arguments:

  • entry_uuid: the UUID of the entry for which the inclusion proof information should be returned
Source

pub async fn get_log_proof<'a>( &'a self, first_size: Option<NonZeroU64>, last_size: Option<NonZeroU64>, tree_id: Option<&'a GetLogProofTreeId>, ) -> Result<ResponseValue<ConsistencyProof>, Error<Error>>

Get information required to generate a consistency proof for the transparency log

Returns a list of hashes for specified tree sizes that can be used to confirm the consistency of the transparency log

Sends a GET request to /api/v1/log/proof

Arguments:

  • first_size: The size of the tree that you wish to prove consistency from (1 means the beginning of the log) Defaults to 1 if not specified

  • last_size: The size of the tree that you wish to prove consistency to

  • tree_id: The tree ID of the tree that you wish to prove consistency for

Source

pub async fn get_public_key<'a>( &'a self, tree_id: Option<&'a GetPublicKeyTreeId>, ) -> Result<ResponseValue<ByteStream>, Error<ByteStream>>

Retrieve the public key that can be used to validate the signed tree head

Returns the public key that can be used to validate the signed tree head

Sends a GET request to /api/v1/log/publicKey

Arguments:

  • tree_id: The tree ID of the tree you wish to get a public key for

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
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,

Source§

impl<T> MaybeSendSync for T