McpStreamableHttpClient constructor
McpStreamableHttpClient(
- Uri endpoint, {
- HttpClient? httpClient,
- McpHttpClientFactory? subscriptionHttpClientFactory,
- Map<
String, String> headers = const <String, String>{}, - McpJsonMap? clientInfo,
- McpJsonMap clientCapabilities = const <String, Object?>{},
- String defaultProtocolVersion = latestSessionProtocolVersion,
- Duration requestTimeout = defaultRequestTimeout,
- int maxRequestBytes = defaultMaxRequestBytes,
- int maxResponseBytes = defaultMaxResponseBytes,
- bool closeHttpClient = false,
Creates a session-based Streamable HTTP MCP client for endpoint.
Implementation
McpStreamableHttpClient(
this.endpoint, {
HttpClient? httpClient,
McpHttpClientFactory? subscriptionHttpClientFactory,
this.headers = const <String, String>{},
McpJsonMap? clientInfo,
this.clientCapabilities = const <String, Object?>{},
String defaultProtocolVersion = latestSessionProtocolVersion,
Duration requestTimeout = defaultRequestTimeout,
int maxRequestBytes = defaultMaxRequestBytes,
int maxResponseBytes = defaultMaxResponseBytes,
bool closeHttpClient = false,
}) : clientInfo = _validatedMcpClientInfo(clientInfo),
defaultProtocolVersion = _validatedMcpProtocolVersion(
defaultProtocolVersion,
'defaultProtocolVersion',
),
requestTimeout = _validatedMcpRequestTimeout(requestTimeout),
maxRequestBytes = _validatedMcpMaxRequestBytes(maxRequestBytes),
maxResponseBytes = _validatedMcpMaxResponseBytes(maxResponseBytes),
_httpClient = httpClient ?? HttpClient(),
_subscriptionHttpClientFactory =
subscriptionHttpClientFactory ?? HttpClient.new,
_ownsHttpClient = httpClient == null || closeHttpClient,
_authorizationHeader = _authorizationHeaderFrom(headers),
_protocolVersion = _validatedMcpProtocolVersion(
defaultProtocolVersion,
'defaultProtocolVersion',
);