diff --git a/CHANGELOG.md b/CHANGELOG.md index 775285b9..ef7ad449 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 2.0.0-alpha.13 + +- Fixed a logic error in `HttpResponseContext` that prevented status codes from being sent. + # 2.0.0-alpha.12 - Remove `ResponseContext.sendFile`. diff --git a/example/json.dart b/example/json.dart index 1969f510..b273b803 100644 --- a/example/json.dart +++ b/example/json.dart @@ -1,8 +1,6 @@ import 'dart:async'; import 'dart:io'; import 'dart:isolate'; - -import 'package:angel_container/mirrors.dart'; import 'package:angel_framework/angel_framework.dart'; import 'package:angel_framework/http.dart'; @@ -33,11 +31,11 @@ main() async { } serverMain(_) async { - var app = new Angel(reflector: MirrorsReflector()); + var app = new Angel(); var http = new AngelHttp.custom(app, startShared); // Run a cluster app.get('/', (req, res) { - res.serialize({ + return res.serialize({ "foo": "bar", "one": [2, "three"], "bar": {"baz": "quux"} diff --git a/example/status.dart b/example/status.dart new file mode 100644 index 00000000..fb15fd4e --- /dev/null +++ b/example/status.dart @@ -0,0 +1,14 @@ +import 'package:angel_framework/angel_framework.dart'; +import 'package:angel_framework/http.dart'; + +main() async { + var app = new Angel(); + var http = new AngelHttp(app); + + app.fallback((req, res) { + res.statusCode = 304; + }); + + await http.startServer('127.0.0.1', 3000); + print('Listening at ${http.uri}'); +} diff --git a/lib/src/http/http_response_context.dart b/lib/src/http/http_response_context.dart index 1f48c686..87a9d3fd 100644 --- a/lib/src/http/http_response_context.dart +++ b/lib/src/http/http_response_context.dart @@ -186,6 +186,7 @@ class HttpResponseContext extends ResponseContext { if (!_isClosed) { if (!isBuffered) { try { + _openStream(); rawResponse.close(); } catch (_) { // This only seems to occur on `MockHttpRequest`, but diff --git a/pubspec.yaml b/pubspec.yaml index 7ea4473e..42f0c2c8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: angel_framework -version: 2.0.0-alpha.12 +version: 2.0.0-alpha.13 description: A high-powered HTTP server with dependency injection, routing and much more. author: Tobe O homepage: https://github.com/angel-dart/angel_framework