Skip to content

Commit 663ac11

Browse files
authored
fix(dart_frog): Request/Response headers should be Map<String, String> (#217)
1 parent 5e25191 commit 663ac11

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

packages/dart_frog/lib/src/request.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ class Request {
102102
Uri get uri => _request.requestedUri;
103103

104104
/// The HTTP headers with case-insensitive keys.
105-
Map<String, dynamic> get headers => _request.headers;
105+
/// The returned map is unmodifiable.
106+
Map<String, String> get headers => _request.headers;
106107

107108
/// The [HttpMethod] associated with the request.
108109
HttpMethod get method {

packages/dart_frog/lib/src/response.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ class Response {
5454
int get statusCode => _response.statusCode;
5555

5656
/// The HTTP headers with case-insensitive keys.
57-
Map<String, dynamic> get headers => _response.headers;
57+
/// The returned map is unmodifiable.
58+
Map<String, String> get headers => _response.headers;
5859

5960
/// Returns a [Stream] representing the body.
6061
Stream<List<int>> bytes() => _response.read();

packages/dart_frog/test/src/hot_reload_test.dart

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'dart:async';
12
import 'dart:io';
23

34
import 'package:dart_frog/dart_frog.dart';
@@ -6,16 +7,20 @@ import 'package:test/test.dart';
67
void main() {
78
group('hotReload', () {
89
test('completes', () async {
10+
final completer = Completer<void>();
911
var invoked = false;
1012
HttpServer? server;
1113

1214
Future<HttpServer> initializer() async {
1315
invoked = true;
14-
return server = await serve((_) => Response(), 'localhost', 8080);
16+
server = await serve((_) => Response(), 'localhost', 8080);
17+
completer.complete();
18+
return server!;
1519
}
1620

1721
expect(() => hotReload(initializer), returnsNormally);
18-
await Future<void>.delayed(const Duration(seconds: 1));
22+
23+
await completer.future;
1924

2025
expect(invoked, isTrue);
2126
expect(server, isNotNull);

0 commit comments

Comments
 (0)