@@ -11,20 +11,15 @@ namespace MapperAI.Core.Clients;
1111
1212public class MapperClientFactory ( IMapperSerializer serializer , HttpClient httpClient ) : IMapperClientFactory
1313{
14- private readonly List < IFilterHandler > _filterPrototypes = [ new GeminiFilter ( ) , new OllamaFilter ( ) ] ;
15- private readonly List < IPayloadHandler > _payloadPrototypes = [ new GeminiPayload ( ) , new OllamaPayload ( ) ] ;
14+ private readonly Queue < IFilterHandler > _queueFiltersHandlers = new ( [ new GeminiFilter ( ) , new OllamaFilter ( ) ] ) ;
15+ private readonly Queue < IPayloadHandler > _queuePayloadHandlers = new ( [ new GeminiPayload ( ) , new OllamaPayload ( ) ] ) ;
1616
1717 public IMapperClient CreateClient ( MapperClientConfiguration configuration )
1818 {
19- var filterHandlersQueue = new Queue < IFilterHandler > ( _filterPrototypes ) ;
20- var payloadHandlersQueue = new Queue < IPayloadHandler > ( _payloadPrototypes ) ;
21-
22- var firstFilterHandler = filterHandlersQueue . Dequeue ( ) ;
23- var firstPayloadHandler = payloadHandlersQueue . Dequeue ( ) ;
24-
25- firstFilterHandler = SetNextHandlers ( firstFilterHandler , null , filterHandlersQueue ) ;
26- firstPayloadHandler = SetNextHandlers ( firstPayloadHandler , null , payloadHandlersQueue ) ;
27-
19+ var firstFilterHandler = _queueFiltersHandlers . Dequeue ( ) ;
20+ var firstPayloadHandler = _queuePayloadHandlers . Dequeue ( ) ;
21+ firstFilterHandler = SetNextHandlers ( firstFilterHandler , null , _queueFiltersHandlers ) ;
22+ firstPayloadHandler = SetNextHandlers ( firstPayloadHandler , null , _queuePayloadHandlers ) ;
2823 configuration . Endpoint = GetEndpoint ( configuration ) ;
2924 return new GenericMapperClient ( configuration , serializer , httpClient , firstFilterHandler , firstPayloadHandler ) ;
3025 }
0 commit comments