getHandlerResult method

Future getHandlerResult(
  1. dynamic handler,
  2. RequestContext req,
  3. ResponseContext res
)

Implementation

Future getHandlerResult(handler, RequestContext req, ResponseContext res) {
  if (handler is RequestHandler) {
    var result = handler(req, res);
    return getHandlerResult(result, req, res);
  }

  if (handler is Future) {
    return handler.then((result) => getHandlerResult(result, req, res));
  }

  if (handler is Function) {
    var result = runContained(handler, req, res);
    return getHandlerResult(result, req, res);
  }

  if (handler is Stream) {
    return getHandlerResult(handler.toList(), req, res);
  }

  return Future.value(handler);
}