pub struct HandlerConfig {
pub route: String,
pub methods: Vec<String>,
pub component: String,
pub imports: Vec<String>,
pub streaming: bool,
pub limits: Option<HandlerLimits>,
pub env: BTreeMap<String, String>,
pub invoke_targets: Vec<String>,
pub tenancy: Option<Tenancy>,
pub token_claims: Option<HandlerGraphqlTokenClaims>,
}Expand description
A WebAssembly request handler bound to a route (deploy-scoped).
Fields§
§route: StringRoute pattern (matcher syntax).
methods: Vec<String>HTTP methods this handler answers (empty = all).
component: StringPath to the component .wasm within the deployment.
imports: Vec<String>Requested capabilities (interface names; see KNOWN_IMPORTS).
streaming: boolA streaming handler: the guest writes its response body incrementally
(SSE, chunked, agent token streaming) via a #[handler(stream)] body. The
host serves it on the isolated streaming lane (its own concurrency
budget + a much larger wall-clock) so a long-lived stream never holds a
fast-request slot. Should match the guest’s declared shape — the activation
pre-check warns when a #[handler(stream)] guest is deployed without it
(it would otherwise run on the sync lane and be cut at the sync timeout).
Default false (a buffered handler).
limits: Option<HandlerLimits>Optional resource limits (capped by site config at activation).
env: BTreeMap<String, String>Static environment variables (never secrets).
invoke_targets: Vec<String>Function-to-function invoke allowlist (FI): the target names this handler may
call through the invoke capability (same contract as
FunctionConfig::invoke_targets). Each entry
may use * wildcards (* = any function, img-* = a family, resize = one
literal). Deny by default: empty ⇒ the handler cannot invoke anything, even if it
imports invoke. Only consulted when imports contains invoke and the site’s
allow_imports permits it.
tenancy: Option<Tenancy>Per-handler in-site tenancy decision (Dimension 0), overriding the site-level
HandlersSiteConfig::tenancy for this route. Absent ⇒ inherit the site decision. When
present it must narrow within the site ceiling (crate::tenancy::Tenancy::narrows_within)
— a widening is refused fail-closed at bind. Lets one site host handlers at different modes
(e.g. an own page handler beside an all admin handler under a site ceiling of all).
token_claims: Option<HandlerGraphqlTokenClaims>Per-handler JWKS/issuer config verifying the app bearer for a
crate::tenancy::TenantSource::Token tenant source, overriding the site’s
[handlers.graphql.data].claims_from_token. Absent ⇒ inherit the site’s. Only consulted when
this handler’s tenancy (or the inherited site tenancy) names a token source.
Trait Implementations§
Source§impl Clone for HandlerConfig
impl Clone for HandlerConfig
Source§fn clone(&self) -> HandlerConfig
fn clone(&self) -> HandlerConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HandlerConfig
impl Debug for HandlerConfig
Source§impl<'de> Deserialize<'de> for HandlerConfig
impl<'de> Deserialize<'de> for HandlerConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<HandlerConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<HandlerConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for HandlerConfig
Source§impl PartialEq for HandlerConfig
impl PartialEq for HandlerConfig
Source§impl Serialize for HandlerConfig
impl Serialize for HandlerConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for HandlerConfig
Auto Trait Implementations§
impl Freeze for HandlerConfig
impl RefUnwindSafe for HandlerConfig
impl Send for HandlerConfig
impl Sync for HandlerConfig
impl Unpin for HandlerConfig
impl UnsafeUnpin for HandlerConfig
impl UnwindSafe for HandlerConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.