Struct Contract

Source
pub struct Contract {
    pub market: Market,
    /* private fields */
}

Fields§

§market: Market

Implementations§

Source§

impl Contract

Internal helpers.

Source

pub fn retrieve_price_pair(&self) -> Promise

Source

pub fn price_pair(&self, oracle_response: OracleResponse) -> PricePair

Source

pub fn execute_supply( &mut self, account_id: AccountId, amount: BorrowAssetAmount, )

Source

pub fn execute_collateralize( &mut self, account_id: AccountId, amount: CollateralAssetAmount, price_pair: &PricePair, )

Source

pub fn execute_repay( &mut self, account_id: AccountId, amount: BorrowAssetAmount, price_pair: &PricePair, ) -> BorrowAssetAmount

Returns the amount that should be returned to the account.

Source§

impl Contract

External helpers.

Source

pub const GAS_BORROW_01_CONSUME_PRICE: Gas

Source

pub const GAS_BORROW_02_FINALIZE: Gas

Source

pub const GAS_EXECUTE_NEXT_SUPPLY_WITHDRAWAL_REQUEST_01_FINALIZE: Gas

Source

pub const GAS_COLLATERALIZE_TRANSFER_CALL_01_CONSUME_PRICE: Gas

Source

pub const GAS_REPAY_TRANSFER_CALL_01_CONSUME_PRICE: Gas

Source

pub const GAS_LIQUIDATE_TRANSFER_CALL_01_CONSUME_PRICE: Gas

Source

pub const GAS_LIQUIDATE_TRANSFER_CALL_02_FINALIZE: Gas

Source

pub const GAS_WITHDRAW_COLLATERAL_01_CONSUME_PRICE: Gas

Source

pub const GAS_WITHDRAW_COLLATERAL_02_FINALIZE: Gas

Source

pub const GAS_WITHDRAW_STATIC_YIELD_01_FINALIZE: Gas

Source

pub fn borrow_01_consume_price( &mut self, account_id: AccountId, amount: BorrowAssetAmount, oracle_response: OracleResponse, ) -> Promise

Source

pub fn borrow_02_finalize( &mut self, account_id: AccountId, initial_borrow: InitialBorrow, )

Source

pub fn execute_next_supply_withdrawal_request_01_finalize( &mut self, resolutions: Vec<Withdrawal>, result: WithdrawalQueueExecutionResult, ) -> WithdrawalQueueExecutionResult

Source

pub fn collateralize_transfer_call_01_consume_price( &mut self, account_id: AccountId, amount: CollateralAssetAmount, return_style: ReturnStyle, oracle_response: OracleResponse, ) -> Value

Source

pub fn repay_transfer_call_01_consume_price( &mut self, account_id: AccountId, amount: BorrowAssetAmount, return_style: ReturnStyle, oracle_response: OracleResponse, ) -> Value

Source

pub fn liquidate_transfer_call_01_consume_price( &mut self, liquidator_id: AccountId, amount: BorrowAssetAmount, msg: LiquidateMsg, return_style: ReturnStyle, oracle_response: OracleResponse, ) -> Promise

Source

pub fn liquidate_transfer_call_02_finalize( &mut self, refund: BorrowAssetAmount, return_style: ReturnStyle, ) -> Value

Called during liquidation process; checks whether the transfer of collateral to the liquidator was successful.

Source

pub fn withdraw_collateral_01_consume_price( &mut self, account_id: AccountId, amount: CollateralAssetAmount, oracle_response: OracleResponse, ) -> Promise

Source

pub fn withdraw_collateral_02_finalize( &mut self, account_id: AccountId, amount: CollateralAssetAmount, )

Source

pub fn withdraw_static_yield_01_finalize( &mut self, account_id: AccountId, amount: BorrowAssetAmount, )

Source§

impl Contract

Source

pub fn ext(account_id: AccountId) -> ContractExt

API for calling this contract’s functions in a subsequent execution.

Source

pub fn ext_on(promise: Promise) -> ContractExt

Source

pub fn ext_self() -> ContractExt

Convenience method for creating a cross-contract call to the current contract.

Equivalent to Self::ext(near_sdk::env::current_account_id()).

Source§

impl Contract

Source§

impl Contract

Source

pub fn new(configuration: MarketConfiguration) -> Contract

Methods from Deref<Target = Market>§

pub fn borrowed(&self) -> FungibleAssetAmount<BorrowAsset>

pub fn total_incoming(&self) -> FungibleAssetAmount<BorrowAsset>

pub fn incoming_at( &self, snapshot_index: u32, ) -> FungibleAssetAmount<BorrowAsset>

pub fn get_last_finalized_snapshot(&self) -> &Snapshot

pub fn current_snapshot(&self) -> Snapshot

pub fn snapshot(&mut self) -> SnapshotProof

pub fn single_snapshot_fee( &self, amount: FungibleAssetAmount<BorrowAsset>, ) -> Option<FungibleAssetAmount<BorrowAsset>>

pub fn interest_rate(&self) -> Decimal

pub fn get_borrow_asset_available_to_borrow( &self, ) -> FungibleAssetAmount<BorrowAsset>

pub fn iter_supply_positions( &self, ) -> impl Iterator<Item = (AccountId, SupplyPosition)>

pub fn supply_position_ref( &self, account_id: AccountId, ) -> Option<SupplyPositionRef<&Market>>

pub fn supply_position_guard( &mut self, _proof: SnapshotProof, account_id: AccountId, ) -> Option<SupplyPositionGuard<'_>>

pub fn get_or_create_supply_position_guard( &mut self, _proof: SnapshotProof, account_id: AccountId, ) -> SupplyPositionGuard<'_>

pub fn cleanup_supply_position(&mut self, account_id: &AccountId) -> bool

pub fn iter_borrow_positions( &self, ) -> impl Iterator<Item = (AccountId, BorrowPosition)>

pub fn borrow_position_ref( &self, account_id: AccountId, ) -> Option<BorrowPositionRef<&Market>>

pub fn borrow_position_guard( &mut self, _proof: SnapshotProof, account_id: AccountId, ) -> Option<BorrowPositionGuard<'_>>

pub fn get_or_create_borrow_position_guard( &mut self, _proof: SnapshotProof, account_id: AccountId, ) -> BorrowPositionGuard<'_>

pub fn cleanup_borrow_position(&mut self, account_id: &AccountId) -> bool

pub fn record_borrow_asset_protocol_yield( &mut self, amount: FungibleAssetAmount<BorrowAsset>, )

pub fn record_borrow_asset_yield_distribution( &mut self, amount: FungibleAssetAmount<BorrowAsset>, )

pub fn accumulate_static_yield( &mut self, account_id: &AccountId, snapshot_limit: u32, ) -> Result<(), UnknownAccount>

Accumulate static yield for an account.

§Errors
  • When the account is not configured to earn static yield.

Trait Implementations§

Source§

impl BorshDeserialize for Contract

Source§

fn deserialize_reader<__R: Read>(reader: &mut __R) -> Result<Self, Error>

§

fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>

Deserializes this instance from a given slice of bytes. Updates the buffer to point at the remaining bytes.
§

fn try_from_slice(v: &[u8]) -> Result<Self, Error>

Deserialize this instance from a slice of bytes.
§

fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>
where R: Read,

Source§

impl BorshSchema for Contract

Source§

fn declaration() -> Declaration

Get the name of the type without brackets.
Source§

fn add_definitions_recursively( definitions: &mut BTreeMap<Declaration, Definition>, )

Recursively, using DFS, add type definitions required for this type. Type definition partially explains how to serialize/deserialize a type.
Source§

impl BorshSerialize for Contract

Source§

fn serialize<__W: Write>(&self, writer: &mut __W) -> Result<(), Error>

Source§

impl ContractState for Contract

§

fn state_key() -> &'static [u8] ⓘ

§

fn state_exists() -> bool

§

fn state_read() -> Option<Self>
where Self: BorshDeserialize,

§

fn state_write(&self) -> bool
where Self: BorshSerialize,

Source§

impl Default for Contract

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Deref for Contract

Source§

type Target = Market

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl DerefMut for Contract

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl FungibleTokenReceiver for Contract

Source§

fn ft_on_transfer( &mut self, sender_id: AccountId, amount: U128, msg: String, ) -> PromiseOrValue<U128>

Called by fungible token contract after ft_transfer_call was initiated by sender_id of the given amount with the transfer message given in msg field. The amount of tokens were already transferred to this contract account and ready to be used. Read more
Source§

impl Hook<Contract, Nep145ForceUnregister<'_>> for Contract

Source§

fn hook<R>( _: &mut Self, _: &Nep145ForceUnregister<'_>, _: impl FnOnce(&mut Self) -> R, ) -> R

Execute a function with hooks.
Source§

impl MarketExternalInterface for Contract

Source§

fn create_supply_withdrawal_request(&mut self, amount: BorrowAssetAmount)

If the predecessor has already entered the queue, calling this function will reset the position to the back of the queue.

Source§

fn get_configuration(&self) -> MarketConfiguration

Retrieve the market configuration.
Source§

fn get_current_snapshot(&self) -> Snapshot

Retrieve the current snapshot (in progress; not yet finalized).
Source§

fn get_finalized_snapshots_len(&self) -> u32

Retrieve the count of finalized snapshots.
Source§

fn get_borrow_asset_metrics(&self) -> BorrowAssetMetrics

Retrieve current contract metrics about borrow asset deposit, availability, usage, etc.
Source§

fn list_borrow_positions( &self, offset: Option<u32>, count: Option<u32>, ) -> HashMap<AccountId, BorrowPosition>

Retrieve a map of borrow positions.
Source§

fn list_finalized_snapshots( &self, offset: Option<u32>, count: Option<u32>, ) -> Vec<&Snapshot>

Retrieve a list of finalized snapshots.
Source§

fn list_supply_positions( &self, offset: Option<u32>, count: Option<u32>, ) -> HashMap<AccountId, SupplyPosition>

Retrieves a set of supply positions.
Source§

fn get_borrow_position(&self, account_id: AccountId) -> Option<BorrowPosition>

Retrieve a specific borrow position, with estimated fees. Read more
Source§

fn get_borrow_position_pending_interest( &self, account_id: AccountId, snapshot_limit: Option<u32>, ) -> Option<BorrowAssetAmount>

Estimate the pending interest on the borrow position, that is, the amount of interest that would accrue on the record if an accumulation were to be run. Read more
Source§

fn get_borrow_status( &self, account_id: AccountId, oracle_response: OracleResponse, ) -> Option<BorrowStatus>

Retrieves the status of a borrow position (healthy or in liquidation) given some asset prices. Read more
Source§

fn borrow(&mut self, amount: BorrowAssetAmount) -> Promise

Transfers amount of borrow asset tokens to the caller, provided their borrow position will still be sufficiently collateralized.
Source§

fn withdraw_collateral(&mut self, amount: CollateralAssetAmount) -> Promise

Transfers amount of collateral asset tokens to the caller, provided their borrow position will still be sufficiently collateralized.
Source§

fn apply_interest( &mut self, account_id: Option<AccountId>, snapshot_limit: Option<u32>, )

Applies interest to the predecessor’s borrow record. Not likely to be used in real life, since there it does not affect the final interest calculation, and rounds fractional interest UP.
Source§

fn get_supply_position(&self, account_id: AccountId) -> Option<SupplyPosition>

Retrieves a supply position record, with estimated yield. Read more
Source§

fn get_supply_position_pending_yield( &self, account_id: AccountId, snapshot_limit: Option<u32>, ) -> Option<BorrowAssetAmount>

Source§

fn cancel_supply_withdrawal_request(&mut self)

Removes a supply position from the withdrawal queue.
Source§

fn execute_next_supply_withdrawal_request( &mut self, batch_limit: Option<u32>, ) -> PromiseOrValue<WithdrawalQueueExecutionResult>

Attempts to fulfill the first withdrawal request in the queue.
Source§

fn get_supply_withdrawal_request_status( &self, account_id: AccountId, ) -> Option<WithdrawalRequestStatus>

Retrieves the status of a withdrawal request in the queue.
Source§

fn get_supply_withdrawal_queue_status(&self) -> WithdrawalQueueStatus

Retrieves the status of the withdrawal queue.
Source§

fn harvest_yield( &mut self, account_id: Option<AccountId>, mode: Option<HarvestYieldMode>, ) -> BorrowAssetAmount

Claim any distributed yield to the supply record.
Source§

fn get_last_yield_rate(&self) -> Decimal

This value is an expected average over time. Supply positions actually earn all of their yield the instant it is distributed.
Source§

fn get_static_yield( &self, account_id: AccountId, ) -> Option<Accumulator<BorrowAsset>>

Retrieves the amount of yield earned by an account statically configured to earn yield (e.g. [MarketConfiguration::yield_weights] or [MarketConfiguration::protocol_account_id]).
Source§

fn accumulate_static_yield( &mut self, account_id: Option<AccountId>, snapshot_limit: Option<u32>, )

Accumulates yield for an account that earns static yield.
Source§

fn withdraw_static_yield( &mut self, amount: Option<BorrowAssetAmount>, ) -> Promise

Attempts to withdraw the amount of yield earned by an account statically configured to earn yield (e.g. [MarketConfiguration::yield_weights] or [MarketConfiguration::protocol_account_id]). Read more
Source§

impl Nep145 for Contract

Source§

fn storage_deposit( &mut self, account_id: Option<AccountId>, registration_only: Option<bool>, ) -> StorageBalance

Payable method that receives an attached deposit of NEAR for a given account. Read more
Source§

fn storage_withdraw(&mut self, amount: Option<NearToken>) -> StorageBalance

Withdraw specified amount of available NEAR for predecessor account. This method is safe to call, and does not remove data. Read more
Source§

fn storage_unregister(&mut self, force: Option<bool>) -> bool

Unregister the predecessor account and withdraw all available NEAR. Read more
Source§

fn storage_balance_of(&self, account_id: AccountId) -> Option<StorageBalance>

Returns the storage balance for the given account, or None if the account is not registered.
Source§

fn storage_balance_bounds(&self) -> StorageBalanceBounds

Returns minimum and maximum allowed balance amounts to interact with this contract. See [StorageBalanceBounds] for more details.
Source§

impl Nep145ControllerInternal for Contract

Source§

type ForceUnregisterHook = (Contract, ())

NEP-145 lifecycle hook.
§

fn root() -> Slot<()>

Root storage slot.
§

fn slot_balance_bounds() -> Slot<StorageBalanceBounds>

Storage slot for balance bounds.
§

fn slot_account(account_id: &AccountIdRef) -> Slot<StorageBalance>

Storage slot for individual account balance.
Source§

impl Nep245Receiver for Contract

Source§

fn mt_on_transfer( &mut self, sender_id: AccountId, previous_owner_ids: Vec<AccountId>, token_ids: Vec<TokenId>, amounts: Vec<U128>, msg: String, ) -> PromiseOrValue<Vec<U128>>

Take some action after receiving a multi token. Read more

Auto Trait Implementations§

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
§

impl<T> Conv for T

§

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

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

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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
§

impl<T> Nep145Controller for T
where T: Nep145ControllerInternal,

§

type ForceUnregisterHook = <T as Nep145ControllerInternal>::ForceUnregisterHook

NEP-145 lifecycle hook.
§

fn get_storage_balance( &self, account_id: &AccountIdRef, ) -> Result<StorageBalance, AccountNotRegisteredError>

Returns the storage balance of the given account. Read more
§

fn lock_storage( &mut self, account_id: &AccountIdRef, amount: NearToken, ) -> Result<StorageBalance, StorageLockError>

Locks the given amount of storage balance for the given account. Read more
§

fn unlock_storage( &mut self, account_id: &AccountIdRef, amount: NearToken, ) -> Result<StorageBalance, StorageUnlockError>

Unlocks the given amount of storage balance for the given account. Read more
§

fn deposit_to_storage_account( &mut self, account_id: &AccountIdRef, amount: NearToken, ) -> Result<StorageBalance, StorageDepositError>

Deposits the given amount of storage balance for the given account. Read more
§

fn withdraw_from_storage_account( &mut self, account_id: &AccountIdRef, amount: NearToken, ) -> Result<StorageBalance, StorageWithdrawError>

Withdraws the given amount of storage balance for the given account. Read more
§

fn unregister_storage_account( &mut self, account_id: &AccountIdRef, ) -> Result<NearToken, StorageUnregisterError>

Unregisters the given account, returning the amount of storage balance that should be refunded. Read more
§

fn force_unregister_storage_account( &mut self, account_id: &AccountIdRef, ) -> Result<NearToken, StorageForceUnregisterError>

Force unregisters the given account, returning the amount of storage balance that should be refunded. Read more
§

fn get_storage_balance_bounds(&self) -> StorageBalanceBounds

Returns the storage balance bounds for the contract.
§

fn set_storage_balance_bounds(&mut self, bounds: &StorageBalanceBounds)

Sets the storage balance bounds for the contract.
§

fn storage_accounting( &mut self, account_id: &AccountIdRef, storage_usage_start: u64, ) -> Result<(), StorageAccountingError>

Convenience method for performing storage accounting, to be used after storage writes that are to be debited from the account’s balance. Read more
§

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

§

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
§

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
§

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
§

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
§

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
§

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.
§

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.
§

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.
§

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.
§

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

§

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
§

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> ServiceExt for T

§

fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>
where Self: Sized,

Propagate a header from the request to the response. Read more
§

fn add_extension<T>(self, value: T) -> AddExtension<Self, T>
where Self: Sized,

Add some shareable value to request extensions. Read more
§

fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>
where Self: Sized,

Apply a transformation to the request body. Read more
§

fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>
where Self: Sized,

Apply a transformation to the response body. Read more
§

fn compression(self) -> Compression<Self>
where Self: Sized,

Compresses response bodies. Read more
§

fn decompression(self) -> Decompression<Self>
where Self: Sized,

Decompress response bodies. Read more
§

fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>
where Self: Sized,

High level tracing that classifies responses using HTTP status codes. Read more
§

fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>
where Self: Sized,

High level tracing that classifies responses using gRPC headers. Read more
§

fn follow_redirects(self) -> FollowRedirect<Self>
where Self: Sized,

Follow redirect resposes using the Standard policy. Read more
§

fn sensitive_headers( self, headers: impl IntoIterator<Item = HeaderName>, ) -> SetSensitiveRequestHeaders<SetSensitiveResponseHeaders<Self>>
where Self: Sized,

Mark headers as sensitive on both requests and responses. Read more
§

fn sensitive_request_headers( self, headers: impl IntoIterator<Item = HeaderName>, ) -> SetSensitiveRequestHeaders<Self>
where Self: Sized,

Mark headers as sensitive on requests. Read more
§

fn sensitive_response_headers( self, headers: impl IntoIterator<Item = HeaderName>, ) -> SetSensitiveResponseHeaders<Self>
where Self: Sized,

Mark headers as sensitive on responses. Read more
§

fn override_request_header<M>( self, header_name: HeaderName, make: M, ) -> SetRequestHeader<Self, M>
where Self: Sized,

Insert a header into the request. Read more
§

fn append_request_header<M>( self, header_name: HeaderName, make: M, ) -> SetRequestHeader<Self, M>
where Self: Sized,

Append a header into the request. Read more
§

fn insert_request_header_if_not_present<M>( self, header_name: HeaderName, make: M, ) -> SetRequestHeader<Self, M>
where Self: Sized,

Insert a header into the request, if the header is not already present. Read more
§

fn override_response_header<M>( self, header_name: HeaderName, make: M, ) -> SetResponseHeader<Self, M>
where Self: Sized,

Insert a header into the response. Read more
§

fn append_response_header<M>( self, header_name: HeaderName, make: M, ) -> SetResponseHeader<Self, M>
where Self: Sized,

Append a header into the response. Read more
§

fn insert_response_header_if_not_present<M>( self, header_name: HeaderName, make: M, ) -> SetResponseHeader<Self, M>
where Self: Sized,

Insert a header into the response, if the header is not already present. Read more
§

fn set_request_id<M>( self, header_name: HeaderName, make_request_id: M, ) -> SetRequestId<Self, M>
where Self: Sized, M: MakeRequestId,

Add request id header and extension. Read more
§

fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>
where Self: Sized, M: MakeRequestId,

Add request id header and extension, using x-request-id as the header name. Read more
§

fn propagate_request_id( self, header_name: HeaderName, ) -> PropagateRequestId<Self>
where Self: Sized,

Propgate request ids from requests to responses. Read more
§

fn propagate_x_request_id(self) -> PropagateRequestId<Self>
where Self: Sized,

Propgate request ids from requests to responses, using x-request-id as the header name. Read more
§

fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>
where Self: Sized,

Catch panics and convert them into 500 Internal Server responses. Read more
§

fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>
where Self: Sized,

Intercept requests with over-sized payloads and convert them into 413 Payload Too Large responses. Read more
§

fn trim_trailing_slash(self) -> NormalizePath<Self>
where Self: Sized,

Remove trailing slashes from paths. Read more
§

fn append_trailing_slash(self) -> NormalizePath<Self>
where Self: Sized,

Append trailing slash to paths. Read more
§

impl<T> Tap for T

§

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

Immutable access to a value. Read more
§

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

Mutable access to a value. Read more
§

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
§

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
§

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
§

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
§

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
§

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
§

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

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

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

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

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.
§

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.
§

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.
§

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.
§

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.
§

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.
§

impl<T> TryConv for T

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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