Skip to main content

ArclyPluginContext

Struct ArclyPluginContext 

Source
pub struct ArclyPluginContext { /* private fields */ }

Implementations§

Source§

impl ArclyPluginContext

Source

pub fn provide<T: Send + Sync + 'static>(&mut self, value: T)

Inject a singleton of type T into the DI container. Resolves later via Inject<T> in any controller / service / interceptor.

Order: every plugin’s on_init runs first, then all provide<T> closures are applied in declaration order, then the container freezes. So one plugin can read another’s provision in on_start but not in on_init.

Source

pub fn add_route<F, Fut>( &mut self, method: HttpMethod, path: &'static str, handler: F, )
where F: Fn(RequestContext) -> Fut + Send + Sync + 'static, Fut: Future<Output = Response> + Send + 'static,

Register a route. The handler receives a fully-built RequestContext — including DI access via ctx.inject::<T>() — and returns a Response. The path is mounted verbatim under the application root.

Source

pub fn add_get<F, Fut>(&mut self, path: &'static str, handler: F)
where F: Fn(RequestContext) -> Fut + Send + Sync + 'static, Fut: Future<Output = Response> + Send + 'static,

Shortcut: register a GET.

Source

pub fn modify_openapi<F>(&mut self, f: F)
where F: FnOnce(&mut Value) + Send + Sync + 'static,

Mutate the assembled OpenAPI document at launch time.

Source

pub fn require_env(&self, key: &'static str) -> Result<String, PluginError>

Read a required environment variable.

Returns Err(PluginError) with stage Init if the variable is absent or contains non-UTF-8 bytes, so callers can propagate it cleanly with ?.

Source

pub fn env_or(&self, key: &str, default: impl Into<String>) -> String

Read an environment variable with a fallback default.

Source

pub fn register_global_interceptor(&mut self, ic: &'static dyn Interceptor)

Attach an interceptor that fires on every route registered via the macros. Plugin routes opt in separately if they want it.

Trait Implementations§

Source§

impl Default for ArclyPluginContext

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

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
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
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

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

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

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

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more