22// for details. All rights reserved. Use of this source code is governed by a
33// BSD-style license that can be found in the LICENSE file.
44
5- // @dart = 2.6
6-
75library dart._http;
86
97import "dart:async" ;
@@ -14,48 +12,52 @@ import "dart:io";
1412import "dart:isolate" ;
1513import "dart:math" ;
1614import "dart:typed_data" ;
15+
1716import "package:expect/expect.dart" ;
1817
19- part "../../../sdk/lib/_http/crypto.dart" ;
20- part "../../../sdk/lib/_http/embedder_config.dart" ;
21- part "../../../sdk/lib/_http/http_impl.dart" ;
22- part "../../../sdk/lib/_http/http_date.dart" ;
23- part "../../../sdk/lib/_http/http_parser.dart" ;
24- part "../../../sdk/lib/_http/http_headers.dart" ;
25- part "../../../sdk/lib/_http/http_session.dart" ;
18+ import "../../../sdk_nnbd/lib/internal/internal.dart"
19+ show Since, valueOfNonNullableParamWithDefault, HttpStatus;
20+
21+ part "../../../sdk_nnbd/lib/_http/crypto.dart" ;
22+ part "../../../sdk_nnbd/lib/_http/embedder_config.dart" ;
23+ part "../../../sdk_nnbd/lib/_http/http_impl.dart" ;
24+ part "../../../sdk_nnbd/lib/_http/http_date.dart" ;
25+ part "../../../sdk_nnbd/lib/_http/http_parser.dart" ;
26+ part "../../../sdk_nnbd/lib/_http/http_headers.dart" ;
27+ part "../../../sdk_nnbd/lib/_http/http_session.dart" ;
2628
2729void testMultiValue () {
2830 _HttpHeaders headers = new _HttpHeaders ("1.1" );
2931 Expect .isNull (headers[HttpHeaders .pragmaHeader]);
3032 headers.add (HttpHeaders .pragmaHeader, "pragma1" );
31- Expect .equals (1 , headers[HttpHeaders .pragmaHeader].length);
32- Expect .equals (1 , headers["pragma" ].length);
33- Expect .equals (1 , headers["Pragma" ].length);
34- Expect .equals (1 , headers["pragma" ].length);
33+ Expect .equals (1 , headers[HttpHeaders .pragmaHeader]! .length);
34+ Expect .equals (1 , headers["pragma" ]! .length);
35+ Expect .equals (1 , headers["Pragma" ]! .length);
36+ Expect .equals (1 , headers["pragma" ]! .length);
3537 Expect .equals ("pragma1" , headers.value (HttpHeaders .pragmaHeader));
3638
3739 headers.add (HttpHeaders .pragmaHeader, "pragma2" );
38- Expect .equals (2 , headers[HttpHeaders .pragmaHeader].length);
40+ Expect .equals (2 , headers[HttpHeaders .pragmaHeader]! .length);
3941 Expect .throws (
4042 () => headers.value (HttpHeaders .pragmaHeader), (e) => e is HttpException );
4143
4244 headers.add (HttpHeaders .pragmaHeader, ["pragma3" , "pragma4" ]);
4345 Expect .listEquals (["pragma1" , "pragma2" , "pragma3" , "pragma4" ],
44- headers[HttpHeaders .pragmaHeader]);
46+ headers[HttpHeaders .pragmaHeader]! );
4547
4648 headers.remove (HttpHeaders .pragmaHeader, "pragma3" );
47- Expect .equals (3 , headers[HttpHeaders .pragmaHeader].length);
49+ Expect .equals (3 , headers[HttpHeaders .pragmaHeader]! .length);
4850 Expect .listEquals (
49- ["pragma1" , "pragma2" , "pragma4" ], headers[HttpHeaders .pragmaHeader]);
51+ ["pragma1" , "pragma2" , "pragma4" ], headers[HttpHeaders .pragmaHeader]! );
5052
5153 headers.remove (HttpHeaders .pragmaHeader, "pragma3" );
52- Expect .equals (3 , headers[HttpHeaders .pragmaHeader].length);
54+ Expect .equals (3 , headers[HttpHeaders .pragmaHeader]! .length);
5355
5456 headers.set (HttpHeaders .pragmaHeader, "pragma5" );
55- Expect .equals (1 , headers[HttpHeaders .pragmaHeader].length);
57+ Expect .equals (1 , headers[HttpHeaders .pragmaHeader]! .length);
5658
5759 headers.set (HttpHeaders .pragmaHeader, ["pragma6" , "pragma7" ]);
58- Expect .equals (2 , headers[HttpHeaders .pragmaHeader].length);
60+ Expect .equals (2 , headers[HttpHeaders .pragmaHeader]! .length);
5961
6062 headers.removeAll (HttpHeaders .pragmaHeader);
6163 Expect .isNull (headers[HttpHeaders .pragmaHeader]);
@@ -72,13 +74,13 @@ void testDate() {
7274 headers.date = date1;
7375 Expect .equals (date1, headers.date);
7476 Expect .equals (httpDate1, headers.value (HttpHeaders .dateHeader));
75- Expect .equals (1 , headers[HttpHeaders .dateHeader].length);
77+ Expect .equals (1 , headers[HttpHeaders .dateHeader]! .length);
7678 headers.add (HttpHeaders .dateHeader, httpDate2);
77- Expect .equals (1 , headers[HttpHeaders .dateHeader].length);
79+ Expect .equals (1 , headers[HttpHeaders .dateHeader]! .length);
7880 Expect .equals (date2, headers.date);
7981 Expect .equals (httpDate2, headers.value (HttpHeaders .dateHeader));
8082 headers.set (HttpHeaders .dateHeader, httpDate1);
81- Expect .equals (1 , headers[HttpHeaders .dateHeader].length);
83+ Expect .equals (1 , headers[HttpHeaders .dateHeader]! .length);
8284 Expect .equals (date1, headers.date);
8385 Expect .equals (httpDate1, headers.value (HttpHeaders .dateHeader));
8486
@@ -98,13 +100,13 @@ void testExpires() {
98100 headers.expires = date1;
99101 Expect .equals (date1, headers.expires);
100102 Expect .equals (httpDate1, headers.value (HttpHeaders .expiresHeader));
101- Expect .equals (1 , headers[HttpHeaders .expiresHeader].length);
103+ Expect .equals (1 , headers[HttpHeaders .expiresHeader]! .length);
102104 headers.add (HttpHeaders .expiresHeader, httpDate2);
103- Expect .equals (1 , headers[HttpHeaders .expiresHeader].length);
105+ Expect .equals (1 , headers[HttpHeaders .expiresHeader]! .length);
104106 Expect .equals (date2, headers.expires);
105107 Expect .equals (httpDate2, headers.value (HttpHeaders .expiresHeader));
106108 headers.set (HttpHeaders .expiresHeader, httpDate1);
107- Expect .equals (1 , headers[HttpHeaders .expiresHeader].length);
109+ Expect .equals (1 , headers[HttpHeaders .expiresHeader]! .length);
108110 Expect .equals (date1, headers.expires);
109111 Expect .equals (httpDate1, headers.value (HttpHeaders .expiresHeader));
110112
@@ -124,13 +126,13 @@ void testIfModifiedSince() {
124126 headers.ifModifiedSince = date1;
125127 Expect .equals (date1, headers.ifModifiedSince);
126128 Expect .equals (httpDate1, headers.value (HttpHeaders .ifModifiedSinceHeader));
127- Expect .equals (1 , headers[HttpHeaders .ifModifiedSinceHeader].length);
129+ Expect .equals (1 , headers[HttpHeaders .ifModifiedSinceHeader]! .length);
128130 headers.add (HttpHeaders .ifModifiedSinceHeader, httpDate2);
129- Expect .equals (1 , headers[HttpHeaders .ifModifiedSinceHeader].length);
131+ Expect .equals (1 , headers[HttpHeaders .ifModifiedSinceHeader]! .length);
130132 Expect .equals (date2, headers.ifModifiedSince);
131133 Expect .equals (httpDate2, headers.value (HttpHeaders .ifModifiedSinceHeader));
132134 headers.set (HttpHeaders .ifModifiedSinceHeader, httpDate1);
133- Expect .equals (1 , headers[HttpHeaders .ifModifiedSinceHeader].length);
135+ Expect .equals (1 , headers[HttpHeaders .ifModifiedSinceHeader]! .length);
134136 Expect .equals (date1, headers.ifModifiedSince);
135137 Expect .equals (httpDate1, headers.value (HttpHeaders .ifModifiedSinceHeader));
136138
@@ -156,7 +158,7 @@ void testHost() {
156158 Expect .equals (host, headers.host);
157159 Expect .equals (HttpClient .defaultHttpPort, headers.port);
158160 headers.add (HttpHeaders .hostHeader, "$host :4567" );
159- Expect .equals (1 , headers[HttpHeaders .hostHeader].length);
161+ Expect .equals (1 , headers[HttpHeaders .hostHeader]! .length);
160162 Expect .equals (host, headers.host);
161163 Expect .equals (4567 , headers.port);
162164
@@ -247,11 +249,11 @@ void testEnumeration() {
247249
248250void testHeaderValue () {
249251 void check (HeaderValue headerValue, String value,
250- [Map <String , String > parameters]) {
252+ [Map <String , String ?> ? parameters]) {
251253 Expect .equals (value, headerValue.value);
252254 if (parameters != null ) {
253255 Expect .equals (parameters.length, headerValue.parameters.length);
254- parameters.forEach ((String name, String value) {
256+ parameters.forEach ((String name, String ? value) {
255257 Expect .equals (value, headerValue.parameters[name]);
256258 });
257259 } else {
@@ -327,13 +329,13 @@ void testHeaderValue() {
327329
328330void testContentType () {
329331 void check (ContentType contentType, String primaryType, String subType,
330- [Map <String , String > parameters]) {
332+ [Map <String , String ?> ? parameters]) {
331333 Expect .equals (primaryType, contentType.primaryType);
332334 Expect .equals (subType, contentType.subType);
333335 Expect .equals ("$primaryType /$subType " , contentType.value);
334336 if (parameters != null ) {
335337 Expect .equals (parameters.length, contentType.parameters.length);
336- parameters.forEach ((String name, String value) {
338+ parameters.forEach ((String name, String ? value) {
337339 Expect .equals (value, contentType.parameters[name]);
338340 });
339341 } else {
@@ -423,13 +425,13 @@ void testKnownContentTypes() {
423425void testContentTypeCache () {
424426 _HttpHeaders headers = new _HttpHeaders ("1.1" );
425427 headers.set (HttpHeaders .contentTypeHeader, "text/html" );
426- Expect .equals ("text" , headers.contentType.primaryType);
427- Expect .equals ("html" , headers.contentType.subType);
428- Expect .equals ("text/html" , headers.contentType.value);
428+ Expect .equals ("text" , headers.contentType? .primaryType);
429+ Expect .equals ("html" , headers.contentType? .subType);
430+ Expect .equals ("text/html" , headers.contentType? .value);
429431 headers.set (HttpHeaders .contentTypeHeader, "text/plain; charset=utf-8" );
430- Expect .equals ("text" , headers.contentType.primaryType);
431- Expect .equals ("plain" , headers.contentType.subType);
432- Expect .equals ("text/plain" , headers.contentType.value);
432+ Expect .equals ("text" , headers.contentType? .primaryType);
433+ Expect .equals ("plain" , headers.contentType? .subType);
434+ Expect .equals ("text/plain" , headers.contentType? .value);
433435 headers.removeAll (HttpHeaders .contentTypeHeader);
434436 Expect .isNull (headers.contentType);
435437}
@@ -626,10 +628,10 @@ void testFolding() {
626628void testLowercaseAdd () {
627629 _HttpHeaders headers = new _HttpHeaders ("1.1" );
628630 headers.add ('A' , 'a' );
629- Expect .equals (headers['a' ][0 ], headers['A' ][0 ]);
630- Expect .equals (headers['A' ][0 ], 'a' );
631+ Expect .equals (headers['a' ]! [0 ], headers['A' ]! [0 ]);
632+ Expect .equals (headers['A' ]! [0 ], 'a' );
631633 headers.add ('Foo' , 'Foo' , preserveHeaderCase: true );
632- Expect .equals (headers['Foo' ][0 ], 'Foo' );
634+ Expect .equals (headers['Foo' ]! [0 ], 'Foo' );
633635 // Header field is Foo.
634636 Expect .isTrue (headers.toString ().contains ('Foo:' ));
635637
@@ -650,14 +652,14 @@ void testLowercaseSet() {
650652 // 'Test' should override 'test' entity
651653 headers.set ('TEST' , 'upper cases' , preserveHeaderCase: true );
652654 Expect .isTrue (headers.toString ().contains ('TEST: upper cases' ));
653- Expect .equals (1 , headers['test' ].length);
654- Expect .equals (headers['test' ][0 ], 'upper cases' );
655+ Expect .equals (1 , headers['test' ]! .length);
656+ Expect .equals (headers['test' ]! [0 ], 'upper cases' );
655657
656658 // Latest header will be stored.
657659 headers.set ('Test' , 'mixed cases' , preserveHeaderCase: true );
658660 Expect .isTrue (headers.toString ().contains ('Test: mixed cases' ));
659- Expect .equals (1 , headers['test' ].length);
660- Expect .equals (headers['test' ][0 ], 'mixed cases' );
661+ Expect .equals (1 , headers['test' ]! .length);
662+ Expect .equals (headers['test' ]! [0 ], 'mixed cases' );
661663}
662664
663665void testForEach () {
0 commit comments