NymApiClient

Struct NymApiClient 

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

A simple extendable client wrapper for http request with extra url sanitization.

Implementations§

Source§

impl Client

Source

pub fn new(base_url: Url, timeout: Option<Duration>) -> Client

Create a new http Client

Source

pub fn new_url<U>( url: U, timeout: Option<Duration>, ) -> Result<Client, HttpClientError>
where U: IntoUrl,

Attempt to create a new http client from a something that can be converted to a URL

Source

pub fn builder<U>(url: U) -> Result<ClientBuilder, HttpClientError>
where U: IntoUrl,

Creates a ClientBuilder to configure a Client.

This is the same as ClientBuilder::new().

Source

pub fn change_base_urls(&mut self, new_urls: Vec<Url>)

Update the set of hosts that this client uses when sending API requests.

Source

pub fn clone_with_new_url(&self, new_url: Url) -> Client

Create new instance of Client using the provided base url and existing client config

Source

pub fn current_url(&self) -> &Url

Get the currently configured host that this client uses when sending API requests.

Source

pub fn base_urls(&self) -> &[Url]

Get the currently configured host that this client uses when sending API requests.

Source

pub fn base_urls_mut(&mut self) -> &mut [Url]

Get a mutable reference to the hosts that this client uses when sending API requests.

Source

pub fn change_retry_limit(&mut self, limit: usize)

Change the currently configured limit on the number of retries for a request.

Trait Implementations§

Source§

impl ApiClientCore for Client

Source§

fn create_request<P, B, K, V>( &self, method: Method, path: P, params: &[(K, V)], body: Option<&B>, ) -> Result<RequestBuilder, HttpClientError>
where P: RequestPath, B: Serialize + ?Sized, K: AsRef<str>, V: AsRef<str>,

Create an HTTP request using the host configured in this client.
Source§

fn send<'life0, 'async_trait>( &'life0 self, request: RequestBuilder, ) -> Pin<Box<dyn Future<Output = Result<Response, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Client: 'async_trait,

Send a created HTTP request. Read more
Source§

fn create_request_endpoint<B, S>( &self, method: Method, endpoint: S, body: Option<&B>, ) -> Result<RequestBuilder, HttpClientError>
where B: Serialize + ?Sized, S: AsRef<str>,

Create an HTTP request using the host configured in this client and an API endpoint (i.e. "/api/v1/mixnodes?since=12345"). If the provided endpoint fails to parse as path (and optionally query parameters). Read more
Source§

fn send_request<'life0, 'life1, 'life2, 'async_trait, P, B, K, V>( &'life0 self, method: Method, path: P, params: &'life1 [(K, V)], json_body: Option<&'life2 B>, ) -> Pin<Box<dyn Future<Output = Result<Response, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, P: RequestPath + Send + Sync + 'async_trait, B: Serialize + Sync + 'async_trait + ?Sized, K: AsRef<str> + Sync + 'async_trait, V: AsRef<str> + Sync + 'async_trait, Self: Sync + 'async_trait,

Create and send a created HTTP request.
Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a duplicate 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<(), Error>

Formats the value using the given formatter. Read more
Source§

impl NymApiClientExt for Client

Source§

fn api_url(&self) -> &Url

Get the current API URL being used by the client
Source§

fn change_base_urls(&mut self, urls: Vec<Url>)

Method to change the base API URLs being used by the client
Source§

fn health<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<ApiHealthResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn build_information<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<BinaryBuildInformationOwned, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_node_performance_history<'life0, 'async_trait>( &'life0 self, node_id: u32, page: Option<u32>, per_page: Option<u32>, ) -> Pin<Box<dyn Future<Output = Result<PerformanceHistoryResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_nodes_described<'life0, 'async_trait>( &'life0 self, page: Option<u32>, per_page: Option<u32>, ) -> Pin<Box<dyn Future<Output = Result<PaginatedResponse<NymNodeDescription>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_current_rewarded_set<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<RewardedSetResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_all_basic_nodes_with_metadata<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<SkimmedNodesWithMetadata, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_all_basic_active_mixing_assigned_nodes_with_metadata<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<SkimmedNodesWithMetadata, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_all_basic_entry_assigned_nodes_with_metadata<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<SkimmedNodesWithMetadata, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_all_described_nodes<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<NymNodeDescription>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_nym_nodes<'life0, 'async_trait>( &'life0 self, page: Option<u32>, per_page: Option<u32>, ) -> Pin<Box<dyn Future<Output = Result<PaginatedResponse<NymNodeDetails>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_all_bonded_nym_nodes<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<NymNodeDetails>, ValidatorClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_basic_mixnodes<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<CachedNodesResponse<SkimmedNode>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated
Source§

fn get_basic_gateways<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<CachedNodesResponse<SkimmedNode>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated
Source§

fn get_rewarded_set<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<RewardedSetResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_basic_entry_assigned_nodes<'life0, 'async_trait>( &'life0 self, no_legacy: bool, page: Option<u32>, per_page: Option<u32>, use_bincode: bool, ) -> Pin<Box<dyn Future<Output = Result<PaginatedCachedNodesResponseV1<SkimmedNode>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated: use get_basic_entry_assigned_nodes_v2
retrieve basic information for nodes are capable of operating as an entry gateway this includes legacy gateways and nym-nodes
Source§

fn get_basic_entry_assigned_nodes_v2<'life0, 'async_trait>( &'life0 self, no_legacy: bool, page: Option<u32>, per_page: Option<u32>, use_bincode: bool, ) -> Pin<Box<dyn Future<Output = Result<PaginatedCachedNodesResponseV2<SkimmedNode>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

retrieve basic information for nodes are capable of operating as an entry gateway this includes legacy gateways and nym-nodes
Source§

fn get_basic_active_mixing_assigned_nodes<'life0, 'async_trait>( &'life0 self, no_legacy: bool, page: Option<u32>, per_page: Option<u32>, use_bincode: bool, ) -> Pin<Box<dyn Future<Output = Result<PaginatedCachedNodesResponseV1<SkimmedNode>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated: use get_basic_active_mixing_assigned_nodes_v2
retrieve basic information for nodes that got assigned ‘mixing’ node in this epoch this includes legacy mixnodes and nym-nodes
Source§

fn get_basic_active_mixing_assigned_nodes_v2<'life0, 'async_trait>( &'life0 self, no_legacy: bool, page: Option<u32>, per_page: Option<u32>, use_bincode: bool, ) -> Pin<Box<dyn Future<Output = Result<PaginatedCachedNodesResponseV2<SkimmedNode>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

retrieve basic information for nodes that got assigned ‘mixing’ node in this epoch this includes legacy mixnodes and nym-nodes
Source§

fn get_basic_mixing_capable_nodes<'life0, 'async_trait>( &'life0 self, no_legacy: bool, page: Option<u32>, per_page: Option<u32>, use_bincode: bool, ) -> Pin<Box<dyn Future<Output = Result<PaginatedCachedNodesResponseV1<SkimmedNode>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated: use get_basic_mixing_capable_nodes_v2
retrieve basic information for nodes that got assigned ‘mixing’ node in this epoch this includes legacy mixnodes and nym-nodes
Source§

fn get_basic_mixing_capable_nodes_v2<'life0, 'async_trait>( &'life0 self, no_legacy: bool, page: Option<u32>, per_page: Option<u32>, use_bincode: bool, ) -> Pin<Box<dyn Future<Output = Result<PaginatedCachedNodesResponseV2<SkimmedNode>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

retrieve basic information for nodes that got assigned ‘mixing’ node in this epoch this includes legacy mixnodes and nym-nodes
Source§

fn get_basic_nodes<'life0, 'async_trait>( &'life0 self, no_legacy: bool, page: Option<u32>, per_page: Option<u32>, use_bincode: bool, ) -> Pin<Box<dyn Future<Output = Result<PaginatedCachedNodesResponseV1<SkimmedNode>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated: use get_basic_nodes_v2
Source§

fn get_basic_nodes_v2<'life0, 'async_trait>( &'life0 self, no_legacy: bool, page: Option<u32>, per_page: Option<u32>, use_bincode: bool, ) -> Pin<Box<dyn Future<Output = Result<PaginatedCachedNodesResponseV2<SkimmedNode>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_expanded_nodes<'life0, 'async_trait>( &'life0 self, no_legacy: bool, page: Option<u32>, per_page: Option<u32>, ) -> Pin<Box<dyn Future<Output = Result<PaginatedCachedNodesResponseV2<SemiSkimmedNode>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_mixnode_report<'life0, 'async_trait>( &'life0 self, mix_id: u32, ) -> Pin<Box<dyn Future<Output = Result<MixnodeStatusReportResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated
Source§

fn get_gateway_report<'life0, 'life1, 'async_trait>( &'life0 self, identity: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<GatewayStatusReportResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated
Source§

fn get_mixnode_history<'life0, 'async_trait>( &'life0 self, mix_id: u32, ) -> Pin<Box<dyn Future<Output = Result<MixnodeUptimeHistoryResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated
Source§

fn get_gateway_history<'life0, 'life1, 'async_trait>( &'life0 self, identity: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<GatewayUptimeHistoryResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated
Source§

fn get_gateway_core_status_count<'life0, 'life1, 'async_trait>( &'life0 self, identity: &'life1 str, since: Option<i64>, ) -> Pin<Box<dyn Future<Output = Result<GatewayCoreStatusResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated
Source§

fn get_mixnode_core_status_count<'life0, 'async_trait>( &'life0 self, mix_id: u32, since: Option<i64>, ) -> Pin<Box<dyn Future<Output = Result<MixnodeCoreStatusResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated
Source§

fn get_current_node_performance<'life0, 'async_trait>( &'life0 self, node_id: u32, ) -> Pin<Box<dyn Future<Output = Result<NodePerformanceResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_node_annotation<'life0, 'async_trait>( &'life0 self, node_id: u32, ) -> Pin<Box<dyn Future<Output = Result<AnnotationResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_mixnode_avg_uptime<'life0, 'async_trait>( &'life0 self, mix_id: u32, ) -> Pin<Box<dyn Future<Output = Result<UptimeResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

👎Deprecated
Source§

fn blind_sign<'life0, 'life1, 'async_trait>( &'life0 self, request_body: &'life1 BlindSignRequestBody, ) -> Pin<Box<dyn Future<Output = Result<BlindedSignatureResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: Sync + 'async_trait,

Source§

fn verify_ecash_ticket<'life0, 'life1, 'async_trait>( &'life0 self, request_body: &'life1 VerifyEcashTicketBody, ) -> Pin<Box<dyn Future<Output = Result<EcashTicketVerificationResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: Sync + 'async_trait,

Source§

fn batch_redeem_ecash_tickets<'life0, 'life1, 'async_trait>( &'life0 self, request_body: &'life1 BatchRedeemTicketsBody, ) -> Pin<Box<dyn Future<Output = Result<EcashBatchTicketRedemptionResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: Sync + 'async_trait,

Source§

fn partial_expiration_date_signatures<'life0, 'async_trait>( &'life0 self, expiration_date: Option<Date>, epoch_id: Option<u64>, ) -> Pin<Box<dyn Future<Output = Result<PartialExpirationDateSignatureResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn partial_coin_indices_signatures<'life0, 'async_trait>( &'life0 self, epoch_id: Option<u64>, ) -> Pin<Box<dyn Future<Output = Result<PartialCoinIndicesSignatureResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn global_expiration_date_signatures<'life0, 'async_trait>( &'life0 self, expiration_date: Option<Date>, epoch_id: Option<u64>, ) -> Pin<Box<dyn Future<Output = Result<AggregatedExpirationDateSignatureResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn global_coin_indices_signatures<'life0, 'async_trait>( &'life0 self, epoch_id: Option<u64>, ) -> Pin<Box<dyn Future<Output = Result<AggregatedCoinIndicesSignatureResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn master_verification_key<'life0, 'async_trait>( &'life0 self, epoch_id: Option<u64>, ) -> Pin<Box<dyn Future<Output = Result<VerificationKeyResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn force_refresh_describe_cache<'life0, 'life1, 'async_trait>( &'life0 self, request: &'life1 NodeRefreshBody, ) -> Pin<Box<dyn Future<Output = Result<(), HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: Sync + 'async_trait,

Source§

fn issued_ticketbooks_for<'life0, 'async_trait>( &'life0 self, expiration_date: Date, ) -> Pin<Box<dyn Future<Output = Result<SignedMessage<IssuedTicketbooksForResponseBody>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn issued_ticketbooks_for_count<'life0, 'async_trait>( &'life0 self, expiration_date: Date, ) -> Pin<Box<dyn Future<Output = Result<IssuedTicketbooksForCountResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn issued_ticketbooks_challenge_commitment<'life0, 'life1, 'async_trait>( &'life0 self, request: &'life1 SignedMessage<IssuedTicketbooksChallengeCommitmentRequestBody>, ) -> Pin<Box<dyn Future<Output = Result<SignedMessage<IssuedTicketbooksChallengeCommitmentResponseBody>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: Sync + 'async_trait,

Source§

fn issued_ticketbooks_data<'life0, 'life1, 'async_trait>( &'life0 self, request: &'life1 SignedMessage<IssuedTicketbooksDataRequestBody>, ) -> Pin<Box<dyn Future<Output = Result<SignedMessage<IssuedTicketbooksDataResponseBody>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: Sync + 'async_trait,

Source§

fn nodes_by_addresses<'life0, 'async_trait>( &'life0 self, addresses: Vec<IpAddr>, ) -> Pin<Box<dyn Future<Output = Result<NodesByAddressesResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_network_details<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<NymNetworkDetailsResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_chain_status<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<ChainStatusResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_chain_blocks_status<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<SignedMessage<ChainBlocksStatusResponseBody>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_signer_status<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<SignedMessage<EcashSignerStatusResponseBody>, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_signer_information<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<SignerInformationResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_key_rotation_info<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<KeyRotationInfoResponse, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Source§

fn get_all_expanded_nodes<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<SemiSkimmedNodesWithMetadata, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

Retrieve expanded information for all bonded nodes on the network

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<C> ApiClient for C
where C: ApiClientCore + Sync,

Source§

fn create_get_request<P, K, V>( &self, path: P, params: &[(K, V)], ) -> Result<RequestBuilder, HttpClientError>
where P: RequestPath, K: AsRef<str>, V: AsRef<str>,

Create an HTTP GET Request with the provided path and parameters
Source§

fn create_post_request<P, B, K, V>( &self, path: P, params: &[(K, V)], json_body: &B, ) -> Result<RequestBuilder, HttpClientError>
where P: RequestPath, B: Serialize + ?Sized, K: AsRef<str>, V: AsRef<str>,

Create an HTTP POST Request with the provided path, parameters, and json body
Source§

fn create_delete_request<P, K, V>( &self, path: P, params: &[(K, V)], ) -> Result<RequestBuilder, HttpClientError>
where P: RequestPath, K: AsRef<str>, V: AsRef<str>,

Create an HTTP DELETE Request with the provided path and parameters
Source§

fn create_patch_request<P, B, K, V>( &self, path: P, params: &[(K, V)], json_body: &B, ) -> Result<RequestBuilder, HttpClientError>
where P: RequestPath, B: Serialize + ?Sized, K: AsRef<str>, V: AsRef<str>,

Create an HTTP PATCH Request with the provided path, parameters, and json body
Source§

fn send_get_request<'life0, 'life1, 'async_trait, P, K, V>( &'life0 self, path: P, params: &'life1 [(K, V)], ) -> Pin<Box<dyn Future<Output = Result<Response, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, P: RequestPath + Send + Sync + 'async_trait, K: AsRef<str> + Sync + 'async_trait, V: AsRef<str> + Sync + 'async_trait, Self: Sync + 'async_trait,

Create and send an HTTP GET Request with the provided path and parameters
Source§

fn send_post_request<'life0, 'life1, 'life2, 'async_trait, P, B, K, V>( &'life0 self, path: P, params: &'life1 [(K, V)], json_body: &'life2 B, ) -> Pin<Box<dyn Future<Output = Result<Response, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, P: RequestPath + Send + Sync + 'async_trait, B: Serialize + Sync + 'async_trait + ?Sized, K: AsRef<str> + Sync + 'async_trait, V: AsRef<str> + Sync + 'async_trait, Self: Sync + 'async_trait,

Create and send an HTTP POST Request with the provided path, parameters, and json data
Source§

fn send_delete_request<'life0, 'life1, 'async_trait, P, K, V>( &'life0 self, path: P, params: &'life1 [(K, V)], ) -> Pin<Box<dyn Future<Output = Result<Response, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, P: RequestPath + Send + Sync + 'async_trait, K: AsRef<str> + Sync + 'async_trait, V: AsRef<str> + Sync + 'async_trait, Self: Sync + 'async_trait,

Create and send an HTTP DELETE Request with the provided path and parameters
Source§

fn send_patch_request<'life0, 'life1, 'life2, 'async_trait, P, B, K, V>( &'life0 self, path: P, params: &'life1 [(K, V)], json_body: &'life2 B, ) -> Pin<Box<dyn Future<Output = Result<Response, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, P: RequestPath + Send + Sync + 'async_trait, B: Serialize + Sync + 'async_trait + ?Sized, K: AsRef<str> + Sync + 'async_trait, V: AsRef<str> + Sync + 'async_trait, Self: Sync + 'async_trait,

Create and send an HTTP PATCH Request with the provided path, parameters, and json data
Source§

fn get_json<'life0, 'life1, 'async_trait, P, T, K, V>( &'life0 self, path: P, params: &'life1 [(K, V)], ) -> Pin<Box<dyn Future<Output = Result<T, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, P: RequestPath + Send + Sync + 'async_trait, T: for<'a> Deserialize<'a> + 'async_trait, K: AsRef<str> + Sync + 'async_trait, V: AsRef<str> + Sync + 'async_trait, Self: Sync + 'async_trait,

‘get’ json data from the segment-defined path, e.g. ["api", "v1", "mixnodes"], with tuple defined key-value parameters, e.g. [("since", "12345")]. Attempt to parse the response into the provided type T.
Source§

fn get_response<'life0, 'life1, 'async_trait, P, T, K, V>( &'life0 self, path: P, params: &'life1 [(K, V)], ) -> Pin<Box<dyn Future<Output = Result<T, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, P: RequestPath + Send + Sync + 'async_trait, T: for<'a> Deserialize<'a> + 'async_trait, K: AsRef<str> + Sync + 'async_trait, V: AsRef<str> + Sync + 'async_trait, Self: Sync + 'async_trait,

‘get’ data from the segment-defined path, e.g. ["api", "v1", "mixnodes"], with tuple defined key-value parameters, e.g. [("since", "12345")]. Attempt to parse the response into the provided type T based on the content type header
Source§

fn post_json<'life0, 'life1, 'life2, 'async_trait, P, B, T, K, V>( &'life0 self, path: P, params: &'life1 [(K, V)], json_body: &'life2 B, ) -> Pin<Box<dyn Future<Output = Result<T, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, P: RequestPath + Send + Sync + 'async_trait, B: Serialize + Sync + 'async_trait + ?Sized, T: for<'a> Deserialize<'a> + 'async_trait, K: AsRef<str> + Sync + 'async_trait, V: AsRef<str> + Sync + 'async_trait, Self: Sync + 'async_trait,

‘post’ json data to the segment-defined path, e.g. ["api", "v1", "mixnodes"], with tuple defined key-value parameters, e.g. [("since", "12345")]. Attempt to parse the response into the provided type T.
Source§

fn delete_json<'life0, 'life1, 'async_trait, P, T, K, V>( &'life0 self, path: P, params: &'life1 [(K, V)], ) -> Pin<Box<dyn Future<Output = Result<T, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, P: RequestPath + Send + Sync + 'async_trait, T: for<'a> Deserialize<'a> + 'async_trait, K: AsRef<str> + Sync + 'async_trait, V: AsRef<str> + Sync + 'async_trait, Self: Sync + 'async_trait,

‘delete’ json data from the segment-defined path, e.g. ["api", "v1", "mixnodes"], with tuple defined key-value parameters, e.g. [("since", "12345")]. Attempt to parse the response into the provided type T.
Source§

fn patch_json<'life0, 'life1, 'life2, 'async_trait, P, B, T, K, V>( &'life0 self, path: P, params: &'life1 [(K, V)], json_body: &'life2 B, ) -> Pin<Box<dyn Future<Output = Result<T, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, P: RequestPath + Send + Sync + 'async_trait, B: Serialize + Sync + 'async_trait + ?Sized, T: for<'a> Deserialize<'a> + 'async_trait, K: AsRef<str> + Sync + 'async_trait, V: AsRef<str> + Sync + 'async_trait, Self: Sync + 'async_trait,

‘patch’ json data at the segment-defined path, e.g. ["api", "v1", "mixnodes"], with tuple defined key-value parameters, e.g. [("since", "12345")]. Attempt to parse the response into the provided type T.
Source§

fn get_json_from<'life0, 'async_trait, T, S>( &'life0 self, endpoint: S, ) -> Pin<Box<dyn Future<Output = Result<T, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, T: for<'a> Deserialize<'a> + 'async_trait, S: AsRef<str> + Sync + Send + 'async_trait, Self: Sync + 'async_trait,

get json data from the provided absolute endpoint, e.g. "/api/v1/mixnodes?since=12345". Attempt to parse the response into the provided type T.
Source§

fn post_json_data_to<'life0, 'life1, 'async_trait, B, T, S>( &'life0 self, endpoint: S, json_body: &'life1 B, ) -> Pin<Box<dyn Future<Output = Result<T, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, B: Serialize + Sync + 'async_trait + ?Sized, T: for<'a> Deserialize<'a> + 'async_trait, S: AsRef<str> + Sync + Send + 'async_trait, Self: Sync + 'async_trait,

post json data to the provided absolute endpoint, e.g. "/api/v1/mixnodes?since=12345". Attempt to parse the response into the provided type T.
Source§

fn delete_json_from<'life0, 'async_trait, T, S>( &'life0 self, endpoint: S, ) -> Pin<Box<dyn Future<Output = Result<T, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, T: for<'a> Deserialize<'a> + 'async_trait, S: AsRef<str> + Sync + Send + 'async_trait, Self: Sync + 'async_trait,

delete json data from the provided absolute endpoint, e.g. "/api/v1/mixnodes?since=12345". Attempt to parse the response into the provided type T.
Source§

fn patch_json_data_at<'life0, 'life1, 'async_trait, B, T, S>( &'life0 self, endpoint: S, json_body: &'life1 B, ) -> Pin<Box<dyn Future<Output = Result<T, HttpClientError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, B: Serialize + Sync + 'async_trait + ?Sized, T: for<'a> Deserialize<'a> + 'async_trait, S: AsRef<str> + Sync + Send + 'async_trait, Self: Sync + 'async_trait,

patch json data at the provided absolute endpoint, e.g. "/api/v1/mixnodes?since=12345". Attempt to parse the response into the provided type T.
Source§

impl<U> As for U

Source§

fn as_<T>(self) -> T
where T: CastFrom<U>,

Casts self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. 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> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> Deprecatable for T

Source§

fn deprecate(self) -> Deprecated<Self>
where Self: Sized,

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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> OptionalSet for T

Source§

fn with_optional<F, T>(self, f: F, val: Option<T>) -> Self
where F: Fn(Self, T) -> Self, Self: Sized,

If the value is available (i.e. Some), the provided closure is applied. Otherwise self is returned with no modifications.
Source§

fn with_validated_optional<F, T, V, E>( self, f: F, value: Option<T>, validate: V, ) -> Result<Self, E>
where F: Fn(Self, T) -> Self, V: Fn(&T) -> Result<(), E>, Self: Sized,

If the value is available (i.e. Some) it is validated and then the provided closure is applied. Otherwise self is returned with no modifications.
Source§

fn with_optional_env<F, T>(self, f: F, val: Option<T>, env_var: &str) -> Self
where F: Fn(Self, T) -> Self, T: FromStr, <T as FromStr>::Err: Debug, Self: Sized,

If the value is available (i.e. Some), the provided closure is applied. Otherwise, if the environment was configured and the corresponding variable was set, the value is parsed using the FromStr implementation and the closure is applied on that instead. Finally, if none of those were available, self is returned with no modifications.
Source§

fn with_optional_custom_env<F, T, G>( self, f: F, val: Option<T>, env_var: &str, parser: G, ) -> Self
where F: Fn(Self, T) -> Self, G: Fn(&str) -> T, Self: Sized,

If the value is available (i.e. Some), the provided closure is applied. Otherwise, if the environment was configured and the corresponding variable was set, the value is parsed using the provided parser and the closure is applied on that instead. Finally, if none of those were available, self is returned with no modifications.
Source§

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

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
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> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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