serve method

Future<HttpServer> serve({
  1. dynamic serverHost,
  2. dynamic serverPort,
  3. DRoute? getroutes,
})

Implementation

Future<HttpServer> serve({serverHost, serverPort, DRoute? getroutes}) async {
  var routes = Router().plus;
  var routes2 = Router().plus;

  List middleware = getroutes!.allMiddleware();
  List route = getroutes.all();
  List handler = getroutes.allHandler();
  List routeMiddleware = getroutes.allRouteMiddleware();

  RouterPlus routerData() {
    routes.use(corsHeaders());
    for (var i = 0; i < middleware.length; i++) {
      routes.use(middleware[i]);
    }

    for (var i = 0; i < route[0].length; i++) {
      routes.get(route[0][i], handler[0][i], use: routeMiddleware[0][i]);
    }
    for (var i = 0; i < route[1].length; i++) {
      routes.post(route[1][i], handler[1][i], use: routeMiddleware[0][i]);
    }
    for (var i = 0; i < route[2].length; i++) {
      routes.put(route[2][i], handler[2][i], use: routeMiddleware[0][i]);
    }
    for (var i = 0; i < route[3].length; i++) {
      routes.delete(route[3][i], handler[3][i], use: routeMiddleware[0][i]);
    }
    for (var i = 0; i < route[4].length; i++) {
      routes.patch(route[4][i], handler[4][i], use: routeMiddleware[0][i]);
    }
    for (var i = 0; i < route[4].length; i++) {
      routes.patch(route[4][i], handler[4][i], use: routeMiddleware[0][i]);
    }

    return routes;
  }

  Future<HttpServer> createServer() async {
    var server = await io.serve(
        routerData(), serverHost ?? 'localhost', serverPort ?? 8000);

    print('Serving at http://${server.address.host}:${server.port}');
    return server;
  }

  return createServer();
}