Skip to main content

JsServerCommunicationConfigClient

Struct JsServerCommunicationConfigClient 

pub struct JsServerCommunicationConfigClient {
    client: ServerCommunicationConfigClient<JsServerCommunicationConfigRepository, JsServerCommunicationConfigPlatformApi>,
}
Expand description

JavaScript wrapper for ServerCommunicationConfigClient

This provides TypeScript access to the server communication configuration client, allowing clients to check bootstrap requirements and retrieve cookies for HTTP requests.

Fields§

§client: ServerCommunicationConfigClient<JsServerCommunicationConfigRepository, JsServerCommunicationConfigPlatformApi>

Implementations§

§

impl JsServerCommunicationConfigClient

pub fn new( repository: RawJsServerCommunicationConfigRepository, platform_api: RawJsServerCommunicationConfigPlatformApi, ) -> JsServerCommunicationConfigClient

Creates a new ServerCommunicationConfigClient with a JavaScript repository and platform API

The repository should be backed by StateProvider (or equivalent storage mechanism) for persistence.

§Arguments
  • repository - JavaScript implementation of the repository interface
  • platform_api - JavaScript implementation of the platform API interface

pub async fn get_config( &self, hostname: String, ) -> Result<ServerCommunicationConfig, String>

Retrieves the server communication configuration for a hostname

If no configuration exists, returns a default Direct bootstrap configuration.

§Arguments
  • hostname - The server hostname (e.g., “vault.acme.com”)
§Errors

Returns an error if the repository fails to retrieve the configuration.

pub async fn needs_bootstrap(&self, hostname: String) -> bool

Determines if cookie bootstrapping is needed for this hostname

§Arguments
  • hostname - The server hostname (e.g., “vault.acme.com”)

pub async fn cookies(&self, hostname: String) -> Result<JsValue, JsError>

Returns all cookies that should be included in requests to this server

Returns an array of [cookie_name, cookie_value] pairs.

§Arguments
  • hostname - The server hostname (e.g., “vault.acme.com”)

pub async fn set_communication_type( &self, hostname: String, config: ServerCommunicationConfig, ) -> Result<(), String>

Sets the server communication configuration for a hostname

This method saves the provided communication configuration to the repository. Typically called when receiving the /api/config response from the server.

§Arguments
  • hostname - The server hostname (e.g., “vault.acme.com”)
  • config - The server communication configuration to store
§Errors

Returns an error if the repository save operation fails

Acquires a cookie from the platform and saves it to the repository

This method calls the platform API to trigger cookie acquisition (e.g., browser redirect to IdP), then validates and stores the acquired cookie in the repository.

§Arguments
  • hostname - The server hostname (e.g., “vault.acme.com”)
§Errors

Returns an error if:

  • Cookie acquisition was cancelled by the user
  • Server configuration doesn’t support SSO cookies (Direct bootstrap)
  • Acquired cookie name doesn’t match expected name
  • Repository operations fail

Trait Implementations§

§

impl From<JsServerCommunicationConfigClient> for JsValue

§

fn from(value: JsServerCommunicationConfigClient) -> JsValue

Converts to this type from the input type.
§

impl FromWasmAbi for JsServerCommunicationConfigClient

§

type Abi = u32

The Wasm ABI type that this converts from when coming back out from the ABI boundary.
§

unsafe fn from_abi(js: u32) -> JsServerCommunicationConfigClient

Recover a Self from Self::Abi. Read more
§

impl IntoWasmAbi for JsServerCommunicationConfigClient

§

type Abi = u32

The Wasm ABI type that this converts into when crossing the ABI boundary.
§

fn into_abi(self) -> u32

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
§

impl LongRefFromWasmAbi for JsServerCommunicationConfigClient

§

type Abi = u32

Same as RefFromWasmAbi::Abi
§

type Anchor = RcRef<JsServerCommunicationConfigClient>

Same as RefFromWasmAbi::Anchor
§

unsafe fn long_ref_from_abi( js: <JsServerCommunicationConfigClient as LongRefFromWasmAbi>::Abi, ) -> <JsServerCommunicationConfigClient as LongRefFromWasmAbi>::Anchor

Same as RefFromWasmAbi::ref_from_abi
§

impl OptionFromWasmAbi for JsServerCommunicationConfigClient

§

fn is_none( abi: &<JsServerCommunicationConfigClient as FromWasmAbi>::Abi, ) -> bool

Tests whether the argument is a “none” instance. If so it will be deserialized as None, and otherwise it will be passed to FromWasmAbi.
§

impl OptionIntoWasmAbi for JsServerCommunicationConfigClient

§

fn none() -> <JsServerCommunicationConfigClient as IntoWasmAbi>::Abi

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
§

impl RefFromWasmAbi for JsServerCommunicationConfigClient

§

type Abi = u32

The Wasm ABI type references to Self are recovered from.
§

type Anchor = RcRef<JsServerCommunicationConfigClient>

The type that holds the reference to Self for the duration of the invocation of the function that has an &Self parameter. This is required to ensure that the lifetimes don’t persist beyond one function call, and so that they remain anonymous.
§

unsafe fn ref_from_abi( js: <JsServerCommunicationConfigClient as RefFromWasmAbi>::Abi, ) -> <JsServerCommunicationConfigClient as RefFromWasmAbi>::Anchor

Recover a Self::Anchor from Self::Abi. Read more
§

impl RefMutFromWasmAbi for JsServerCommunicationConfigClient

§

type Abi = u32

Same as RefFromWasmAbi::Abi
§

type Anchor = RcRefMut<JsServerCommunicationConfigClient>

Same as RefFromWasmAbi::Anchor
§

unsafe fn ref_mut_from_abi( js: <JsServerCommunicationConfigClient as RefMutFromWasmAbi>::Abi, ) -> <JsServerCommunicationConfigClient as RefMutFromWasmAbi>::Anchor

Same as RefFromWasmAbi::ref_from_abi
§

impl TryFromJsValue for JsServerCommunicationConfigClient

§

impl VectorFromWasmAbi for JsServerCommunicationConfigClient

§

impl VectorIntoWasmAbi for JsServerCommunicationConfigClient

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
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

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

§

fn compat(self) -> Compat<T>

Applies the [Compat] adapter by value. Read more
§

fn compat_ref(&self) -> Compat<&T>

Applies the [Compat] adapter by shared reference. Read more
§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the [Compat] adapter by mutable reference. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
§

unsafe fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<> Read more
§

unsafe fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
§

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

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

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

Initializes a with the given initializer. Read more
§

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

Dereferences the given pointer. Read more
§

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

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

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

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<T> ReturnWasmAbi for T
where T: IntoWasmAbi,

Source§

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi
Source§

fn return_abi(self) -> <T as ReturnWasmAbi>::Abi

Same as IntoWasmAbi::into_abi, except that it may throw and never return in the case of Err.
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 = 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