run method

Future<void> run()

Start event handling

Implementation

Future<void> run() async {
  final router = Router();
  router.post('/v1/event', (Request request) async {
    final js = await request.readAsString();
    final event = Event.fromJson(jsonDecode(js));
    final icEvent = event.interchangeEvent;
    final ioticEvent = event.iotInterchangeEvent;

    if (icEvent != null) {
      final handler = interchange;
      if (handler != null) {
        final res = await handler(event, icEvent);
        final js = jsonEncode(res.toJson());
        return Response.ok(js);
      }
    } else if (ioticEvent != null) {
      final handler = iotInterchange;
      if (handler != null) {
        final res = await handler(event, ioticEvent);
        final js = jsonEncode(res.toJson());
        return Response.ok(js);
      }
    }
    return Response(502);
  });
  final server = await io.serve(router, '0.0.0.0', 80);
  print('Serving at ${server.address}:${server.port}');
}