Skip to main content

HookClient

Struct HookClient 

Source
pub struct HookClient<C> { /* private fields */ }
Expand description

The shared client the per-role types (RemoteAuthorizer, RemoteAdmission, RemoteOutcomes) hold behind an Arc.

Implementations§

Source§

impl<C: HookChannel> HookClient<C>

Source

pub fn new( channel: C, server_audience: impl Into<String>, signer: Option<HookSigner>, clock: Arc<dyn Clock>, sleep: Arc<dyn Sleep>, ) -> Result<Self, HookConfigError>

A client over channel. server_audience is this server’s own canonical origin (the audience hook bodies carry, not the hook endpoint’s). clock stamps signatures and sleep enforces call timeouts.

§Errors

HookConfigError when the channel is neither signed nor isolated, or an origin is malformed.

Source

pub fn with_nonce_source(self, nonces: Arc<dyn NonceSource>) -> Self

Replace the nonce source. A constant source makes the hook reject every request after the first as a replay, so this fails closed; it exists for tests that pin a signature.

Trait Implementations§

Source§

impl<C> Debug for HookClient<C>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<C> !RefUnwindSafe for HookClient<C>

§

impl<C> !UnwindSafe for HookClient<C>

§

impl<C> Freeze for HookClient<C>
where C: Freeze,

§

impl<C> Send for HookClient<C>
where C: Send,

§

impl<C> Sync for HookClient<C>
where C: Sync,

§

impl<C> Unpin for HookClient<C>
where C: Unpin,

§

impl<C> UnsafeUnpin for HookClient<C>
where C: UnsafeUnpin,

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> 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> MaybeSend for T
where T: Send + ?Sized,

Source§

impl<T> MaybeSync for T
where T: Sync + ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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