@@ -60,29 +60,12 @@ func (f *DefaultClientFactory) CreateBasicClient(cfg *config.Config) (TraktAPICl
6060// CreateOptimizedClient creates an optimized Trakt API client
6161func (f * DefaultClientFactory ) CreateOptimizedClient (cfg OptimizedClientConfig ) (OptimizedTraktAPIClient , error ) {
6262 // Validate configuration
63- if cfg .BaseConfig == nil {
63+ if cfg .Config == nil {
6464 return nil , fmt .Errorf ("base configuration cannot be nil" )
6565 }
6666
67- // Set defaults for optimized client config
68- optimizedConfig := OptimizedClientConfig {
69- Config : cfg .BaseConfig ,
70- Logger : cfg .Logger ,
71- WorkerPoolSize : cfg .WorkerPoolSize ,
72- RateLimitPerSec : cfg .RateLimitPerSec ,
73- ConnectionPool : cfg .ConnectionPool ,
74- RequestTimeout : cfg .RequestTimeout ,
75- }
76-
77- // Set cache config defaults
78- if cfg .CacheConfig != nil {
79- optimizedConfig .CacheConfig = * cfg .CacheConfig
80- } else {
81- optimizedConfig .CacheConfig = cache.CacheConfig {
82- Capacity : 1000 ,
83- TTL : 24 * time .Hour ,
84- }
85- }
67+ // Configuration is already complete - just create the client
68+ optimizedConfig := cfg
8669
8770 // Create optimized client
8871 client := NewOptimizedClient (optimizedConfig )
@@ -106,11 +89,21 @@ func (f *DefaultClientFactory) CreateClientWithCapabilities(cfg ClientCapabiliti
10689
10790 // If advanced capabilities are requested, create optimized client
10891 if cfg .EnableCaching || cfg .EnableMetrics || cfg .EnableConcurrency || cfg .WorkerPoolSize > 0 {
92+ var cacheConfig cache.CacheConfig
93+ if cfg .CacheConfig != nil {
94+ cacheConfig = * cfg .CacheConfig
95+ } else {
96+ cacheConfig = cache.CacheConfig {
97+ Capacity : 1000 ,
98+ TTL : 24 * time .Hour ,
99+ }
100+ }
101+
109102 optimizedConfig := OptimizedClientConfig {
110- BaseConfig : cfg .BaseConfig ,
103+ Config : cfg .BaseConfig ,
111104 Logger : nil , // Would need to be provided
112105 WorkerPoolSize : cfg .WorkerPoolSize ,
113- CacheConfig : cfg . CacheConfig ,
106+ CacheConfig : cacheConfig ,
114107 }
115108
116109 if cfg .WorkerPoolSize <= 0 {
@@ -124,14 +117,3 @@ func (f *DefaultClientFactory) CreateClientWithCapabilities(cfg ClientCapabiliti
124117 return f .CreateBasicClient (cfg .BaseConfig )
125118}
126119
127- // OptimizedClientConfig represents the configuration for optimized clients
128- // This extends the interface definition with implementation details
129- type OptimizedClientConfig struct {
130- BaseConfig * config.Config
131- Logger logger.Logger
132- CacheConfig cache.CacheConfig
133- WorkerPoolSize int
134- RateLimitPerSec int
135- ConnectionPool int
136- RequestTimeout time.Duration
137- }
0 commit comments