Skip to main content

HttpSourceBuilder

Struct HttpSourceBuilder 

Source
pub struct HttpSourceBuilder { /* private fields */ }
Expand description

Builder for HttpSource instances.

Provides a fluent API for constructing HTTP sources with sensible defaults and adaptive batching settings. The builder takes the source ID at construction and returns a fully constructed HttpSource from build().

§Example

use drasi_source_http::HttpSource;

let source = HttpSource::builder("my-source")
    .with_host("0.0.0.0")
    .with_port(8080)
    .with_adaptive_enabled(true)
    .with_bootstrap_provider(my_provider)
    .build()?;

Implementations§

Source§

impl HttpSourceBuilder

Source

pub fn new(id: impl Into<String>) -> Self

Create a new HTTP source builder with the given source ID.

§Arguments
  • id - Unique identifier for the source instance
Source

pub fn with_host(self, host: impl Into<String>) -> Self

Set the HTTP host

Source

pub fn with_port(self, port: u16) -> Self

Set the HTTP port

Source

pub fn with_endpoint(self, endpoint: impl Into<String>) -> Self

Set the endpoint path

Source

pub fn with_timeout_ms(self, timeout_ms: u64) -> Self

Set the request timeout in milliseconds

Source

pub fn with_adaptive_max_batch_size(self, size: usize) -> Self

Set the adaptive batching maximum batch size

Source

pub fn with_adaptive_min_batch_size(self, size: usize) -> Self

Set the adaptive batching minimum batch size

Source

pub fn with_adaptive_max_wait_ms(self, wait_ms: u64) -> Self

Set the adaptive batching maximum wait time in milliseconds

Source

pub fn with_adaptive_min_wait_ms(self, wait_ms: u64) -> Self

Set the adaptive batching minimum wait time in milliseconds

Source

pub fn with_adaptive_window_secs(self, secs: u64) -> Self

Set the adaptive batching throughput window in seconds

Source

pub fn with_adaptive_enabled(self, enabled: bool) -> Self

Enable or disable adaptive batching

Source

pub fn with_dispatch_mode(self, mode: DispatchMode) -> Self

Set the dispatch mode for event routing.

Source

pub fn with_dispatch_buffer_capacity(self, capacity: usize) -> Self

Set the dispatch buffer capacity.

Source

pub fn with_bootstrap_provider( self, provider: impl BootstrapProvider + 'static, ) -> Self

Set the bootstrap provider for initial data delivery.

Source

pub fn with_auto_start(self, auto_start: bool) -> Self

Set whether this source should auto-start when DrasiLib starts.

Default is true. Set to false if this source should only be started manually via start_source().

Source

pub fn with_webhooks(self, webhooks: WebhookConfig) -> Self

Set the webhook configuration to enable webhook mode.

When webhook mode is enabled, the standard HttpSourceChange endpoints are disabled and custom webhook routes are used instead.

Source

pub fn with_config(self, config: HttpSourceConfig) -> Self

Set the full configuration at once

Source

pub fn build(self) -> Result<HttpSource>

Build the HttpSource instance.

§Returns

A fully constructed HttpSource, or an error if construction fails.

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

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,