pub struct TickerBuilder { /* private fields */ }Expand description
Builder for Ticker
Provides a fluent API for constructing Ticker instances.
Implementations§
Source§impl TickerBuilder
impl TickerBuilder
Sourcepub fn region(self, region: Region) -> Self
pub fn region(self, region: Region) -> Self
Set the region (automatically sets correct lang and region)
This is the recommended way to configure regional settings as it ensures lang and region are correctly paired.
§Example
use finance_query::{Ticker, Region};
let ticker = Ticker::builder("2330.TW")
.region(Region::Taiwan)
.build()
.await?;Sourcepub fn lang(self, lang: impl Into<String>) -> Self
pub fn lang(self, lang: impl Into<String>) -> Self
Set the language code (e.g., “en-US”, “ja-JP”, “de-DE”)
For standard regions, prefer using .region() instead to ensure
correct lang/region pairing.
Sourcepub fn region_code(self, region: impl Into<String>) -> Self
pub fn region_code(self, region: impl Into<String>) -> Self
Set the region code (e.g., “US”, “JP”, “DE”)
For standard regions, prefer using .region() instead to ensure
correct lang/region pairing.
Sourcepub fn config(self, config: ClientConfig) -> Self
pub fn config(self, config: ClientConfig) -> Self
Set a complete ClientConfig (overrides any previously set individual config fields)
Sourcepub fn client(self, handle: ClientHandle) -> Self
pub fn client(self, handle: ClientHandle) -> Self
Share an existing authenticated session instead of creating a new one.
This avoids redundant authentication when you need multiple Ticker
instances or want to share a session between Ticker and crate::Tickers.
Obtain a ClientHandle from any existing Ticker via
Ticker::client_handle().
When set, the builder’s config, timeout, proxy, lang, and region
settings are ignored (the shared session’s configuration is used instead).
§Example
use finance_query::Ticker;
let aapl = Ticker::new("AAPL").await?;
let handle = aapl.client_handle();
let msft = Ticker::builder("MSFT").client(handle.clone()).build().await?;
let googl = Ticker::builder("GOOGL").client(handle).build().await?;Sourcepub fn cache(self, ttl: Duration) -> Self
pub fn cache(self, ttl: Duration) -> Self
Enable response caching with a time-to-live.
By default caching is disabled — every call fetches fresh data. When enabled, responses are reused until the TTL expires, then automatically re-fetched. Expired entries in map-based caches (chart, options, financials) are evicted on the next write to limit memory growth.
§Example
use finance_query::Ticker;
use std::time::Duration;
let ticker = Ticker::builder("AAPL")
.cache(Duration::from_secs(30))
.build()
.await?;Auto Trait Implementations§
impl Freeze for TickerBuilder
impl !RefUnwindSafe for TickerBuilder
impl Send for TickerBuilder
impl Sync for TickerBuilder
impl Unpin for TickerBuilder
impl UnsafeUnpin for TickerBuilder
impl !UnwindSafe for TickerBuilder
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