import 'package:angel3_framework/angel3_framework.dart'; import 'package:angel3_framework/http.dart'; import 'package:angel3_container/mirrors.dart'; import 'package:angel3_pipeline/pipeline.dart'; class GreetingPipe { dynamic handle(String input, Function next) { return next('Hello, $input'); } } class ExclamationPipe { dynamic handle(String input, Function next) { return next('$input!'); } } void main() async { var app = Angel(reflector: MirrorsReflector()); var http = AngelHttp(app); app.container.registerSingleton((c) => Pipeline(c)); app.get('/', (req, res) async { var pipeline = app.container.make(); var result = await pipeline .send('World') .through(['GreetingPipe', 'ExclamationPipe']).then( (result) => result.toUpperCase()); res.write(result); // Outputs: "HELLO, WORLD!" }); await http.startServer('localhost', 3000); print('Server started on http://localhost:3000'); }