middleware method
Implementation
void middleware(Iterable<Middleware> func) {
  if (func.isEmpty) return;
  final mdwDefn =
      _MiddlewareDefinition(func.reduce((val, e) => val.chain(e)), route);
  defns.insert(0, mdwDefn);
}void middleware(Iterable<Middleware> func) {
  if (func.isEmpty) return;
  final mdwDefn =
      _MiddlewareDefinition(func.reduce((val, e) => val.chain(e)), route);
  defns.insert(0, mdwDefn);
}