McpStreamableHttpClient.withOAuthToken constructor

McpStreamableHttpClient.withOAuthToken(
  1. Uri endpoint,
  2. McpOAuthTokenGrant grant, {
  3. HttpClient? httpClient,
  4. McpHttpClientFactory? subscriptionHttpClientFactory,
  5. Map<String, String> headers = const <String, String>{},
  6. McpJsonMap? clientInfo,
  7. McpJsonMap clientCapabilities = const <String, Object?>{},
  8. String defaultProtocolVersion = latestSessionProtocolVersion,
  9. Duration requestTimeout = defaultRequestTimeout,
  10. int maxRequestBytes = defaultMaxRequestBytes,
  11. int maxResponseBytes = defaultMaxResponseBytes,
  12. bool closeHttpClient = false,
})

Creates a client authorized by a validated OAuth token grant.

Implementation

factory McpStreamableHttpClient.withOAuthToken(
  Uri endpoint,
  McpOAuthTokenGrant grant, {
  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,
}) {
  _validateOAuthTokenGrant(endpoint, grant);
  final client = McpStreamableHttpClient.withBearerToken(
    endpoint,
    grant.accessToken,
    httpClient: httpClient,
    subscriptionHttpClientFactory: subscriptionHttpClientFactory,
    headers: headers,
    clientInfo: clientInfo,
    clientCapabilities: clientCapabilities,
    defaultProtocolVersion: defaultProtocolVersion,
    requestTimeout: requestTimeout,
    maxRequestBytes: maxRequestBytes,
    maxResponseBytes: maxResponseBytes,
    closeHttpClient: closeHttpClient,
  );
  client._authorizationExpiresAt = grant.expiresAt?.toUtc();
  return client;
}