pub struct WebUIHandler { /* private fields */ }Expand description
The main WebUI handler that processes protocols and renders them.
The handler is stateless: plugin instances are created per-render from
the stored factory function, allowing concurrent renders with &self.
Implementations§
Source§impl WebUIHandler
impl WebUIHandler
Sourcepub fn new() -> WebUIHandler
pub fn new() -> WebUIHandler
Create a new WebUI handler with no plugin.
Sourcepub fn with_plugin(factory: fn() -> Box<dyn HandlerPlugin>) -> WebUIHandler
pub fn with_plugin(factory: fn() -> Box<dyn HandlerPlugin>) -> WebUIHandler
Create a new WebUI handler with a plugin factory.
Each render call creates a fresh plugin instance from the factory,
enabling concurrent renders with &self.
Sourcepub fn handle<'a>(
&self,
protocol: &'a WebUiProtocol,
state: &'a Value,
options: &RenderOptions<'a>,
writer: &'a mut dyn ResponseWriter,
) -> Result<(), HandlerError>
pub fn handle<'a>( &self, protocol: &'a WebUiProtocol, state: &'a Value, options: &RenderOptions<'a>, writer: &'a mut dyn ResponseWriter, ) -> Result<(), HandlerError>
Process a WebUI protocol with the provided state and write the output to the given writer.
options.entry_id selects the fragment to start rendering from.
options.request_path controls server-side route matching.
Sourcepub fn handle_as_component<'a>(
&self,
protocol: &'a WebUiProtocol,
state: &'a Value,
entry_id: &'a str,
writer: &'a mut dyn ResponseWriter,
) -> Result<(), HandlerError>
pub fn handle_as_component<'a>( &self, protocol: &'a WebUiProtocol, state: &'a Value, entry_id: &'a str, writer: &'a mut dyn ResponseWriter, ) -> Result<(), HandlerError>
Like handle(), but pushes a component scope so the plugin emits
binding markers. Use this when rendering a component outside the
normal page render flow (e.g., re-rendering a route component with
modified state).
Sourcepub fn render<'a>(
&self,
protocol: &'a WebUiProtocol,
state: &'a Value,
options: &RenderOptions<'a>,
writer: &'a mut dyn ResponseWriter,
) -> Result<(), HandlerError>
pub fn render<'a>( &self, protocol: &'a WebUiProtocol, state: &'a Value, options: &RenderOptions<'a>, writer: &'a mut dyn ResponseWriter, ) -> Result<(), HandlerError>
Render the UI based on the protocol and state.
Like handle() but does not call writer.end().
Trait Implementations§
Source§impl Default for WebUIHandler
impl Default for WebUIHandler
Source§fn default() -> WebUIHandler
fn default() -> WebUIHandler
Auto Trait Implementations§
impl Freeze for WebUIHandler
impl RefUnwindSafe for WebUIHandler
impl Send for WebUIHandler
impl Sync for WebUIHandler
impl Unpin for WebUIHandler
impl UnsafeUnpin for WebUIHandler
impl UnwindSafe for WebUIHandler
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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