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§
Source§impl JsServerCommunicationConfigClient
impl JsServerCommunicationConfigClient
Sourcepub fn new(
repository: RawJsServerCommunicationConfigRepository,
platform_api: RawJsServerCommunicationConfigPlatformApi,
) -> Self
pub fn new( repository: RawJsServerCommunicationConfigRepository, platform_api: RawJsServerCommunicationConfigPlatformApi, ) -> Self
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 interfaceplatform_api- JavaScript implementation of the platform API interface
Sourcepub async fn get_config(
&self,
hostname: String,
) -> Result<ServerCommunicationConfig, String>
pub async fn get_config( &self, hostname: String, ) -> Result<ServerCommunicationConfig, String>
Sourcepub async fn needs_bootstrap(&self, hostname: String) -> bool
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”)
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”)
Sourcepub async fn set_communication_type(
&self,
hostname: String,
config: ServerCommunicationConfig,
) -> Result<(), String>
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§
Source§impl From<JsServerCommunicationConfigClient> for JsValue
impl From<JsServerCommunicationConfigClient> for JsValue
Source§fn from(value: JsServerCommunicationConfigClient) -> Self
fn from(value: JsServerCommunicationConfigClient) -> Self
Source§impl RefFromWasmAbi for JsServerCommunicationConfigClient
impl RefFromWasmAbi for JsServerCommunicationConfigClient
Source§type Anchor = RcRef<JsServerCommunicationConfigClient>
type Anchor = RcRef<JsServerCommunicationConfigClient>
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.Source§impl VectorFromWasmAbi for JsServerCommunicationConfigClient
impl VectorFromWasmAbi for JsServerCommunicationConfigClient
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi( js: Self::Abi, ) -> Box<[JsServerCommunicationConfigClient]>
Source§impl VectorIntoWasmAbi for JsServerCommunicationConfigClient
impl VectorIntoWasmAbi for JsServerCommunicationConfigClient
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi( vector: Box<[JsServerCommunicationConfigClient]>, ) -> Self::Abi
impl SupportsConstructor for JsServerCommunicationConfigClient
impl SupportsInstanceProperty for JsServerCommunicationConfigClient
impl SupportsStaticProperty for JsServerCommunicationConfigClient
Auto Trait Implementations§
impl Freeze for JsServerCommunicationConfigClient
impl RefUnwindSafe for JsServerCommunicationConfigClient
impl Send for JsServerCommunicationConfigClient
impl Sync for JsServerCommunicationConfigClient
impl Unpin for JsServerCommunicationConfigClient
impl UnsafeUnpin for JsServerCommunicationConfigClient
impl UnwindSafe for JsServerCommunicationConfigClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.