mirror of
https://github.com/AmanTahiliani/box-box.git
synced 2026-08-07 19:56:18 -04:00
Upgrades to Live and API Caching
This commit is contained in:
@@ -7,15 +7,27 @@ import (
|
||||
|
||||
type OpenF1Client struct {
|
||||
url string
|
||||
apiKey string
|
||||
httpClient *http.Client
|
||||
cache *FileCache
|
||||
cache *Cache
|
||||
}
|
||||
|
||||
func NewOpenF1Client(url string, timeout time.Duration) *OpenF1Client {
|
||||
return &OpenF1Client{
|
||||
url: url,
|
||||
httpClient: &http.Client{Timeout: timeout},
|
||||
cache: NewFileCache(),
|
||||
cache: NewCache(),
|
||||
}
|
||||
}
|
||||
|
||||
// NewOpenF1ClientWithKey creates a client that authenticates with a Bearer token.
|
||||
// This allows access during live sessions (paid tier).
|
||||
func NewOpenF1ClientWithKey(url string, timeout time.Duration, apiKey string) *OpenF1Client {
|
||||
return &OpenF1Client{
|
||||
url: url,
|
||||
apiKey: apiKey,
|
||||
httpClient: &http.Client{Timeout: timeout},
|
||||
cache: NewCache(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,3 +40,8 @@ func (c *OpenF1Client) CacheStats() CacheStats {
|
||||
func (c *OpenF1Client) CacheSize() (int, int64) {
|
||||
return c.cache.Size()
|
||||
}
|
||||
|
||||
// Close releases resources held by the client (closes the cache database).
|
||||
func (c *OpenF1Client) Close() error {
|
||||
return c.cache.Close()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user