sendMessage function
Implementation
Future<void> sendMessage(
Logging? log,
String transportName,
BaseClient? client,
String? url,
AccessTokenFactory? accessTokenFactory,
dynamic content,
bool? logMessageContent,
bool? withCredentials) async {
var headers = <String, String>{};
if (accessTokenFactory != null) {
final token = await accessTokenFactory();
if (token != null) {
headers = {
'Authorization': 'Bearer $token',
};
}
}
final userAgentHeader = getUserAgentHeader();
headers[userAgentHeader.$1] = userAgentHeader.$2;
log?.call(
LogLevel.trace,
'($transportName transport) sending data. '
'${getDataDetail(content, logMessageContent)}.',
);
final encoding = (content is ByteBuffer)
? Encoding.getByName('')
: Encoding.getByName('UTF-8');
final response = await client?.post(Uri.parse(url ?? ''),
headers: headers, body: content, encoding: encoding);
log?.call(
LogLevel.trace,
'($transportName transport) request complete. Response status: '
'${response?.statusCode}.',
);
}