post method
Posts one JSON-RPC message through the active MCP session.
Implementation
Future<McpJsonMap?> post(
McpJsonMap message, {
bool streamable = true,
bool includeSession = true,
String? protocolVersion,
Map<String, String> headers = const <String, String>{},
}) async {
_validateJsonRpcRequestId(message, label: 'request');
final effectiveProtocolVersion = _validatedMcpProtocolVersion(
protocolVersion ?? this.protocolVersion,
'protocolVersion',
);
final preparedMessage = _prepareMessageForProtocol(
message,
effectiveProtocolVersion,
);
final response = await _postPayload(
preparedMessage,
streamable: streamable,
includeSession:
includeSession && effectiveProtocolVersion != latestProtocolVersion,
protocolVersion: effectiveProtocolVersion,
extraHeaders: headers,
);
if (response == null) {
return null;
}
return _jsonMapFrom(response, label: 'JSON-RPC response');
}