Handle errors thrown while doing a DevFS sync via HTTP PUT. (#6434)
This commit is contained in:
@@ -222,15 +222,19 @@ class _DevFSHttpWriter {
|
||||
|
||||
Future<Null> _scheduleWrite(DevFSEntry entry,
|
||||
DevFSProgressReporter progressReporter) async {
|
||||
HttpClientRequest request = await _client.putUrl(httpAddress);
|
||||
request.headers.removeAll(HttpHeaders.ACCEPT_ENCODING);
|
||||
request.headers.add('dev_fs_name', fsName);
|
||||
request.headers.add('dev_fs_path_b64',
|
||||
BASE64.encode(UTF8.encode(entry.devicePath)));
|
||||
Stream<List<int>> contents = entry.contentsAsCompressedStream();
|
||||
await request.addStream(contents);
|
||||
HttpClientResponse response = await request.close();
|
||||
await response.drain();
|
||||
try {
|
||||
HttpClientRequest request = await _client.putUrl(httpAddress);
|
||||
request.headers.removeAll(HttpHeaders.ACCEPT_ENCODING);
|
||||
request.headers.add('dev_fs_name', fsName);
|
||||
request.headers.add('dev_fs_path_b64',
|
||||
BASE64.encode(UTF8.encode(entry.devicePath)));
|
||||
Stream<List<int>> contents = entry.contentsAsCompressedStream();
|
||||
await request.addStream(contents);
|
||||
HttpClientResponse response = await request.close();
|
||||
await response.drain();
|
||||
} catch (e, stackTrace) {
|
||||
printError('Error writing "${entry.devicePath}" to DevFS: $e\n$stackTrace');
|
||||
}
|
||||
if (progressReporter != null) {
|
||||
_done++;
|
||||
progressReporter(_done, _max);
|
||||
|
||||
Reference in New Issue
Block a user