<?php
namespace boru\ai\Mcp;

use boru\ai\Http\GuzzleHttpClient;
use boru\ai\Http\HttpClientInterface;

class HttpProxyMcpClientFactory implements McpClientFactoryInterface
{
    /** @var HttpClientInterface */
    protected $httpClient;

    /** @var array */
    protected $options;

    public function __construct(HttpClientInterface $httpClient = null, array $options = array())
    {
        $this->httpClient = $httpClient ? $httpClient : new GuzzleHttpClient();
        $this->options = $options;
    }

    public function makeClient(McpServerConfig $serverConfig)
    {
        return new HttpProxyMcpClient($this->httpClient, $this->options);
    }
}
