Better errors kinda

This commit is contained in:
thosakwe 2016-09-19 02:52:21 -04:00
parent aea4ec1cf2
commit 2cb63347a7
2 changed files with 9 additions and 1 deletions

View file

@ -29,6 +29,7 @@ typedef Future AngelConfigurer(AngelBase app);
class Angel extends AngelBase { class Angel extends AngelBase {
var _afterProcessed = new StreamController<HttpRequest>.broadcast(); var _afterProcessed = new StreamController<HttpRequest>.broadcast();
var _beforeProcessed = new StreamController<HttpRequest>.broadcast(); var _beforeProcessed = new StreamController<HttpRequest>.broadcast();
var _fatalErrorStream = new StreamController<Map>.broadcast();
var _onController = new StreamController<Controller>.broadcast(); var _onController = new StreamController<Controller>.broadcast();
ServerGenerator _serverGenerator = ServerGenerator _serverGenerator =
(address, port) async => await HttpServer.bind(address, port); (address, port) async => await HttpServer.bind(address, port);
@ -39,6 +40,9 @@ class Angel extends AngelBase {
/// Fired before a request is processed. Always runs. /// Fired before a request is processed. Always runs.
Stream<HttpRequest> get beforeProcessed => _beforeProcessed.stream; Stream<HttpRequest> get beforeProcessed => _beforeProcessed.stream;
/// Fired on fatal errors.
Stream<Map> get fatalErrorStream => _fatalErrorStream.stream;
/// Fired whenever a controller is added to this instance. /// Fired whenever a controller is added to this instance.
/// ///
/// **NOTE**: This is a broadcast stream. /// **NOTE**: This is a broadcast stream.
@ -312,6 +316,10 @@ class Angel extends AngelBase {
_onError(e, [StackTrace stackTrace]) { _onError(e, [StackTrace stackTrace]) {
stderr.write(e.toString()); stderr.write(e.toString());
if (stackTrace != null) stderr.write(stackTrace.toString()); if (stackTrace != null) stderr.write(stackTrace.toString());
_fatalErrorStream.add({
"error": e,
"stack": stackTrace
});
} }
Angel() : super() { Angel() : super() {

View file

@ -1,5 +1,5 @@
name: angel_framework name: angel_framework
version: 1.0.0-dev.18 version: 1.0.0-dev.19
description: Core libraries for the Angel framework. description: Core libraries for the Angel framework.
author: Tobe O <thosakwe@gmail.com> author: Tobe O <thosakwe@gmail.com>
homepage: https://github.com/angel-dart/angel_framework homepage: https://github.com/angel-dart/angel_framework