ioTelemetryPost function
HttpClient 기반 TelemetryPost — 익명 집계 업로드(9.3).
관리 플레인으로 가는 유일한 쓰기 경로이고, 실패해도 화면의 번역은 영향을 받지 않는다.
Implementation
TelemetryPost ioTelemetryPost({Duration timeout = const Duration(seconds: 15)}) {
return (String url, String body) async {
final client = HttpClient();
try {
final request = await client.postUrl(Uri.parse(url));
request.headers.set(HttpHeaders.contentTypeHeader, 'application/json');
request.write(body);
final response = await request.close().timeout(timeout);
await response.drain<void>();
return response.statusCode;
} finally {
client.close(force: true);
}
};
}