Skip to content

Commit 57c53b0

Browse files
authored
Fix a NPE that occurs when an error occurs before a response is received. (#852)
1 parent c955c7e commit 57c53b0

File tree

5 files changed

+8
-18
lines changed

5 files changed

+8
-18
lines changed

pkgs/cronet_http/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.1.2
2+
3+
* Fix a NPE that occurs when an error occurs before a response is received.
4+
15
## 0.1.1
26

37
* `CronetClient` throws an exception if `send` is called after `close`.

pkgs/cronet_http/android/src/main/kotlin/io/flutter/plugins/cronet_http/CronetHttpPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ class CronetHttpPlugin : FlutterPlugin, Messages.HttpApi {
188188

189189
override fun onFailed(
190190
request: UrlRequest,
191-
info: UrlResponseInfo,
191+
info: UrlResponseInfo?,
192192
error: CronetException
193193
) {
194194
mainThreadHandler.post({ eventSink.error("CronetException", error.toString(), null) })

pkgs/cronet_http/example/integration_test/client_test.dart

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,7 @@ import 'package:integration_test/integration_test.dart';
99
import 'package:test/test.dart';
1010

1111
void testClientConformance(CronetClient Function() clientFactory) {
12-
// TODO: Use `testAll` when `testServerErrors` passes i.e.
13-
// testAll(CronetClient(), canStreamRequestBody: false);
14-
15-
final client = clientFactory();
16-
testRequestBody(client);
17-
testRequestBodyStreamed(client, canStreamRequestBody: false);
18-
testResponseBody(client);
19-
testResponseBodyStreamed(client);
20-
testRequestHeaders(client);
21-
testResponseHeaders(client);
22-
testRedirect(client);
23-
testCompressedResponseBody(client);
24-
testMultipleClients(clientFactory);
25-
testClose(clientFactory);
12+
testAll(clientFactory, canStreamRequestBody: false);
2613
}
2714

2815
Future<void> testConformance() async {

pkgs/cronet_http/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: cronet_http
22
description: >
33
An Android Flutter plugin that provides access to the Cronet HTTP client.
4-
version: 0.1.1
4+
version: 0.1.2
55
repository: https://github.com/dart-lang/http/tree/master/pkgs/cronet_http
66

77
environment:

pkgs/http_client_conformance_tests/lib/src/server_errors_test.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ import 'server_errors_server_vm.dart'
1111
if (dart.library.html) 'server_errors_server_web.dart';
1212

1313
/// Tests that the [Client] correctly handles server errors.
14-
void testServerErrors(Client client,
15-
{bool redirectAlwaysAllowed = false}) async {
14+
void testServerErrors(Client client, {bool redirectAlwaysAllowed = false}) {
1615
group('server errors', () {
1716
late final String host;
1817
late final StreamChannel<Object?> httpServerChannel;

0 commit comments

Comments
 (0)