Prepare for HttpClientResponse Uint8List SDK change (#34863)
* Prepare for HttpClientResponse Uint8List SDK change An upcoming change in the Dart SDK will change `HttpClientResponse` from implementing `Stream<List<int>>` to instead implement `Stream<Uint8List>`. This forwards-compatible change to `_MockHttpClientResponse` is being made to allow for a smooth rollout of that SDK breaking change. The current structure of the class is as follows: ```dart _MockHttpClientResponse extends Stream<List<int>> implements HttpClientResponse { ... } ``` This structure would require that the Dart SDK change land atomically a change to the class (`extends Stream<Uint8List>`). This atomic landing requirement doesn't play well at all with Flutter's roll model vis-a-vis the Dart SDK's roll model to Google's internal repo. As such, this commit changes the structure of `_MockHttpClientResponse` to be: ```dart _MockHttpClientResponse implements HttpClientResponse { final Stream<Uint8List> _delegate; ... } ``` Once the Dart SDK change has fully rolled out, we can simplify this class back to its former structure. https://github.com/dart-lang/sdk/issues/36900 * Review comment
Showing
Please register or sign in to comment