pub struct ApiServer { /* private fields */ }Expand description
The Zart API server.
Wraps an Axum router and exposes durable execution management over HTTP.
Implementations§
Source§impl ApiServer
impl ApiServer
Sourcepub fn new(addr: impl Into<String>, durable: Arc<dyn DurableApi>) -> Self
pub fn new(addr: impl Into<String>, durable: Arc<dyn DurableApi>) -> Self
Create a new API server bound to addr.
Sourcepub fn with_cancellation(
addr: impl Into<String>,
durable: Arc<dyn DurableApi>,
cancellation: CancellationToken,
) -> Self
pub fn with_cancellation( addr: impl Into<String>, durable: Arc<dyn DurableApi>, cancellation: CancellationToken, ) -> Self
Create a new API server with a cancellation token for graceful shutdown.
Sourcepub fn with_api_prefix(self, prefix: impl Into<String>) -> Self
pub fn with_api_prefix(self, prefix: impl Into<String>) -> Self
Override the main API route prefix (default: "/api/v1").
Takes precedence over the ZART_API_PREFIX environment variable.
Sourcepub fn with_admin_prefix(self, prefix: impl Into<String>) -> Self
pub fn with_admin_prefix(self, prefix: impl Into<String>) -> Self
Override the admin API route prefix (default: "/zart/admin/v1").
Takes precedence over the ZART_ADMIN_PREFIX environment variable.
Sourcepub fn router(&self) -> Router
pub fn router(&self) -> Router
Build the Axum router with main API routes and middleware.
Health checks (/healthz, /readyz) and metrics (/metrics) are always
mounted at the root, unaffected by Self::with_api_prefix.
The admin router is not included; mount it separately via
crate::admin_routes::admin_router passing the admin_prefix configured
via Self::with_admin_prefix.
Auto Trait Implementations§
impl Freeze for ApiServer
impl !RefUnwindSafe for ApiServer
impl Send for ApiServer
impl Sync for ApiServer
impl Unpin for ApiServer
impl UnsafeUnpin for ApiServer
impl !UnwindSafe for ApiServer
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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