requireAuthentication<User> function

RequestHandler requireAuthentication<User>()

Restricts access to a resource via authentication.

Implementation

RequestHandler requireAuthentication<User>() {
  return (RequestContext req, ResponseContext res,
      {bool throwError = true}) async {
    bool reject(ResponseContext res) {
      if (throwError) {
        res.statusCode = 403;
        throw AngelHttpException.forbidden();
      } else {
        return false;
      }
    }

    if (req.container != null) {
      var reqContainer = req.container!;
      if (reqContainer.has<User>() || req.method == 'OPTIONS') {
        return true;
      } else if (reqContainer.has<Future<User>>()) {
        await reqContainer.makeAsync<User>();
        return true;
      } else {
        return reject(res);
      }
    } else {
      return reject(res);
    }
  };
}