Ufc Config
Configuration for the UFC (US Free Financial Data Collector) client.
This class centralizes all configuration settings for the UFC library, including:
Yahoo Finance API client settings
FRED (Federal Reserve Economic Data) API settings and authentication
Business Insider API client settings
WebSocket streaming configuration for real-time data
Usage Examples
Basic usage with defaults
val config = UfcConfig()
val ufc = Ufc.create(config)With FRED API key
val config = UfcConfig(fredApiKey = "your-fred-api-key")
val ufc = Ufc.create(config)Custom timeout and logging settings
val config = UfcConfig(
yahooConfig = YahooClientConfig(
connectTimeoutMs = 60_000,
requestTimeoutMs = 120_000,
enableLogging = true
),
fredConfig = FredClientConfig(
enableLogging = true
)
)
val ufc = Ufc.create(config)Custom rate limiting
val config = UfcConfig(
yahooConfig = YahooClientConfig(
rateLimitConfig = RateLimitConfig(
maxRequestsPerSecond = 30,
maxBurstSize = 10
)
)
)
val ufc = Ufc.create(config)Custom WebSocket streaming configuration
val config = UfcConfig(
streamingConfig = StreamingClientConfig(
connectTimeoutMs = 15_000,
heartbeatIntervalMs = 20_000,
enableLogging = true
)
)
val ufc = Ufc.create(config)See also
Constructors
Properties
Configuration for Business Insider API client. Controls HTTP timeouts, logging, and rate limiting for Business Insider requests. Primarily used for ISIN to ticker symbol conversion. Default: BusinessInsiderClientConfig() with 30s connect timeout, 60s request timeout, logging disabled, and 10 requests per second rate limit
Optional API key for FRED (Federal Reserve Economic Data) API. Required for accessing FRED economic data endpoints. You can obtain a free API key from https://fred.stlouisfed.org/docs/api/api_key.html Default: null (FRED functionality will be unavailable without a key)
Configuration for FRED API client. Controls HTTP timeouts, logging, and rate limiting for FRED requests. Default: FredClientConfig() with 30s connect timeout, 60s request timeout, logging disabled, and 2 requests per second rate limit (as per FRED guidelines)
Configuration for WebSocket streaming client. Controls WebSocket connection settings, heartbeat intervals, reconnection behavior, and event buffering for real-time Yahoo Finance data streaming. Default: StreamingClientConfig() with 10s connect timeout, 15s heartbeat interval, 30s ping timeout, automatic reconnection enabled, 64-event buffer, and logging disabled
Configuration for Yahoo Finance API client. Controls HTTP timeouts, logging, and rate limiting for Yahoo Finance requests. Default: YahooClientConfig() with 30s connect timeout, 60s request timeout, logging disabled, and 50 requests per second rate limit