Skip to main content

HttpApi

Struct HttpApi 

Source
pub struct HttpApi<H> { /* private fields */ }
Expand description

HTTP API service builder.

§Also

  • ApiHandler the trait backing all endpoints.
  • ApiError mapped to JSON + HTTP status codes.

Implementations§

Source§

impl<H> HttpApi<H>
where H: ApiHandler,

Source

pub fn new(handler: Arc<H>) -> Self

Create new HTTP API with the given handler.

Source

pub fn with_auth(self, token: Token) -> Self

Require a bearer token on every request.

When set, requests without a valid Authorization: Bearer <token> header are rejected with 401 Unauthorized before reaching any handler . This is the same shared secret the agent presents to the control plane in discovery, one config value enables both directions. Orthogonal to TLS. When unset, no auth is enforced.

Source

pub fn router(self) -> Router

Build axum router with mounted endpoints.

Applies a RequestBodyLimitLayer capped at MAX_REQUEST_BYTES bytes to every request, and when with_auth is set a bearer-token gate that runs before any handler.

Auto Trait Implementations§

§

impl<H> Freeze for HttpApi<H>

§

impl<H> RefUnwindSafe for HttpApi<H>
where H: RefUnwindSafe,

§

impl<H> Send for HttpApi<H>
where H: Sync + Send,

§

impl<H> Sync for HttpApi<H>
where H: Sync + Send,

§

impl<H> Unpin for HttpApi<H>

§

impl<H> UnsafeUnpin for HttpApi<H>

§

impl<H> UnwindSafe for HttpApi<H>
where H: RefUnwindSafe,

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

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
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<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