From 2a4c18fdbe03a4d1ccdee91ae7cdc2c45fb6d082 Mon Sep 17 00:00:00 2001 From: Khaled ElMorshedy Date: Thu, 30 Sep 2021 15:14:53 +0200 Subject: [PATCH 01/10] Update base_request.dart --- lib/src/base_request.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/src/base_request.dart b/lib/src/base_request.dart index fd18bad332..7f73c58d49 100644 --- a/lib/src/base_request.dart +++ b/lib/src/base_request.dart @@ -136,6 +136,7 @@ abstract class BaseRequest { contentLength: response.contentLength, request: response.request, headers: response.headers, + url: response.url, isRedirect: response.isRedirect, persistentConnection: response.persistentConnection, reasonPhrase: response.reasonPhrase); From 55c4aaa9cf03ea3f13de786333f242f489a330ff Mon Sep 17 00:00:00 2001 From: Khaled ElMorshedy Date: Thu, 30 Sep 2021 15:15:36 +0200 Subject: [PATCH 02/10] Update base_response.dart --- lib/src/base_response.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/src/base_response.dart b/lib/src/base_response.dart index a09dcea4ed..1496b0ca6c 100644 --- a/lib/src/base_response.dart +++ b/lib/src/base_response.dart @@ -30,6 +30,7 @@ abstract class BaseResponse { final Map headers; final bool isRedirect; + final String? url; /// Whether the server requested that a persistent connection be maintained. final bool persistentConnection; @@ -39,6 +40,7 @@ abstract class BaseResponse { this.request, this.headers = const {}, this.isRedirect = false, + this.url, this.persistentConnection = true, this.reasonPhrase}) { if (statusCode < 100) { From e3678c0a7fc55a5c81b7f9ae82da0706a56db3fe Mon Sep 17 00:00:00 2001 From: Khaled ElMorshedy Date: Thu, 30 Sep 2021 15:16:18 +0200 Subject: [PATCH 03/10] Update browser_client.dart --- lib/src/browser_client.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/src/browser_client.dart b/lib/src/browser_client.dart index f41d0ba15b..1baf3da097 100644 --- a/lib/src/browser_client.dart +++ b/lib/src/browser_client.dart @@ -59,6 +59,7 @@ class BrowserClient extends BaseClient { contentLength: body.length, request: request, headers: xhr.responseHeaders, + url: xhr.responseUrl, reasonPhrase: xhr.statusText)); })); From 6df9ad361e53dbb153b2ecfb6fffd7fe2b131e48 Mon Sep 17 00:00:00 2001 From: Khaled ElMorshedy Date: Thu, 30 Sep 2021 15:17:28 +0200 Subject: [PATCH 04/10] Update io_client.dart --- lib/src/io_client.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/io_client.dart b/lib/src/io_client.dart index 85d3681861..1657a72723 100644 --- a/lib/src/io_client.dart +++ b/lib/src/io_client.dart @@ -58,6 +58,9 @@ class IOClient extends BaseClient { response.contentLength == -1 ? null : response.contentLength, request: request, headers: headers, + url: response.redirects.isEmpty + ? request.url.toString() + : response.redirects.last.location.toString(), isRedirect: response.isRedirect, persistentConnection: response.persistentConnection, reasonPhrase: response.reasonPhrase, From cd2ae11062952f143d9ad59dc0d7616c3fc964a3 Mon Sep 17 00:00:00 2001 From: Khaled ElMorshedy Date: Thu, 30 Sep 2021 15:18:10 +0200 Subject: [PATCH 05/10] Update io_streamed_response.dart --- lib/src/io_streamed_response.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/src/io_streamed_response.dart b/lib/src/io_streamed_response.dart index 21744858b3..63abfd7e56 100644 --- a/lib/src/io_streamed_response.dart +++ b/lib/src/io_streamed_response.dart @@ -24,12 +24,14 @@ class IOStreamedResponse extends StreamedResponse { bool isRedirect = false, bool persistentConnection = true, String? reasonPhrase, + String? url, HttpClientResponse? inner}) : _inner = inner, super(stream, statusCode, contentLength: contentLength, request: request, headers: headers, + url: url, isRedirect: isRedirect, persistentConnection: persistentConnection, reasonPhrase: reasonPhrase); From 42110d5b8b87dee853ae8018dc095f507a0411db Mon Sep 17 00:00:00 2001 From: Khaled ElMorshedy Date: Thu, 30 Sep 2021 15:19:30 +0200 Subject: [PATCH 06/10] Update response.dart --- lib/src/response.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/src/response.dart b/lib/src/response.dart index 01899887a7..51df19199e 100644 --- a/lib/src/response.dart +++ b/lib/src/response.dart @@ -32,11 +32,13 @@ class Response extends BaseResponse { {BaseRequest? request, Map headers = const {}, bool isRedirect = false, + String? url, bool persistentConnection = true, String? reasonPhrase}) : this.bytes(_encodingForHeaders(headers).encode(body), statusCode, request: request, headers: headers, + url: url, isRedirect: isRedirect, persistentConnection: persistentConnection, reasonPhrase: reasonPhrase); @@ -46,6 +48,7 @@ class Response extends BaseResponse { {BaseRequest? request, Map headers = const {}, bool isRedirect = false, + String? url, bool persistentConnection = true, String? reasonPhrase}) : bodyBytes = toUint8List(bodyBytes), @@ -53,6 +56,7 @@ class Response extends BaseResponse { contentLength: bodyBytes.length, request: request, headers: headers, + url: url, isRedirect: isRedirect, persistentConnection: persistentConnection, reasonPhrase: reasonPhrase); @@ -64,6 +68,7 @@ class Response extends BaseResponse { return Response.bytes(body, response.statusCode, request: response.request, headers: response.headers, + url: response.url, isRedirect: response.isRedirect, persistentConnection: response.persistentConnection, reasonPhrase: response.reasonPhrase); From 0b1ecf1c143b0e9c84200e7325bd226b5f747dd4 Mon Sep 17 00:00:00 2001 From: Khaled ElMorshedy Date: Thu, 30 Sep 2021 15:20:00 +0200 Subject: [PATCH 07/10] Update streamed_response.dart --- lib/src/streamed_response.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/src/streamed_response.dart b/lib/src/streamed_response.dart index e082dced0e..4f31c74c93 100644 --- a/lib/src/streamed_response.dart +++ b/lib/src/streamed_response.dart @@ -23,6 +23,7 @@ class StreamedResponse extends BaseResponse { BaseRequest? request, Map headers = const {}, bool isRedirect = false, + String? url, bool persistentConnection = true, String? reasonPhrase}) : stream = toByteStream(stream), @@ -30,6 +31,7 @@ class StreamedResponse extends BaseResponse { contentLength: contentLength, request: request, headers: headers, + url: url, isRedirect: isRedirect, persistentConnection: persistentConnection, reasonPhrase: reasonPhrase); From 32bdc3723510d0702ce886d9d437de99e52fb3ea Mon Sep 17 00:00:00 2001 From: Khaled ElMorshedy Date: Thu, 30 Sep 2021 15:24:56 +0200 Subject: [PATCH 08/10] Update request_test.dart --- test/io/request_test.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/io/request_test.dart b/test/io/request_test.dart index 97555f9782..63da1f562b 100644 --- a/test/io/request_test.dart +++ b/test/io/request_test.dart @@ -22,6 +22,7 @@ void main() { final response = await request.send(); expect(response.statusCode, equals(200)); + expect(response.url, equals(serverUrl.toString())); final bytesString = await response.stream.bytesToString(); expect( bytesString, @@ -44,6 +45,7 @@ void main() { final response = await request.send(); expect(response.statusCode, equals(302)); + expect(response.url, equals(serverUrl.resolve('/redirect').toString())); }); test('with redirects', () async { @@ -51,6 +53,7 @@ void main() { final response = await request.send(); expect(response.statusCode, equals(200)); + expect(response.url, equals(serverUrl.resolve('/').toString())); final bytesString = await response.stream.bytesToString(); expect(bytesString, parse(containsPair('path', '/'))); }); From 8f08b447667914087c131108d3886b06539413b8 Mon Sep 17 00:00:00 2001 From: Khaled ElMorshedy Date: Thu, 7 Apr 2022 00:36:54 +0200 Subject: [PATCH 09/10] Update pubspec.yaml --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 1340d51ac1..dbb75863e0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: http -version: 0.13.4-dev +version: 0.13.3 homepage: https://github.com/dart-lang/http description: A composable, multi-platform, Future-based API for HTTP requests. From 13e69b02e369cf15ec56c6ec6331015fefd3b476 Mon Sep 17 00:00:00 2001 From: Khaled ElMorshedy Date: Thu, 7 Apr 2022 00:37:14 +0200 Subject: [PATCH 10/10] Update pubspec.yaml --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index dbb75863e0..055f5e8d60 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: http -version: 0.13.3 +version: 0.13.4 homepage: https://github.com/dart-lang/http description: A composable, multi-platform, Future-based API for HTTP requests.