controllerItemRouteHandler function
Implementation
Future<Response> Function(Request request) controllerItemRouteHandler(
Type controllerType, Symbol methodName) {
return (Request request) {
final _controller =
ControllerMirrorFactory.createMirror(controllerType, request.container);
final result = _controller.invoke(methodName, [request]).reflectee;
if (result is Response) {
return Future.value(result);
} else if (result is Future<Response>) {
return result;
} else if (result is Future) {
return result.then((value) => Response(200, body: value));
} else {
return Future.value(Response(200, body: result));
}
};
}