RouteCache constructor

RouteCache({
  1. required String path,
  2. required Future<String> handle(),
  3. Duration cacheDuration = const Duration(minutes: 10),
  4. List<CacheParam> cacheType = const [CacheParam.method, CacheParam.path, CacheParam.language],
  5. CacheSource cacheSource = CacheSource.memory,
  6. String? key,
  7. List<String> extraPath = const [],
  8. List<String> methods = const [Methods.GET],
  9. Controller? controller,
  10. String widget = "",
  11. AuthController? auth,
  12. List<FinchRoute> children = const [],
  13. Map<String, Object?> params = const {},
  14. String title = '',
  15. List<String> excludePaths = const [],
  16. Future<ApiDoc>? apiDoc()?,
  17. List<String> permissions = const [],
  18. List<String> hosts = const ['*'],
  19. List<int> ports = const [],
  20. List<Middleware> middlewares = const [],
})

Creates a new RouteCache instance.

The cacheType must at least contain CacheParam.path. By default, responses are cached in memory for 10 minutes.

Implementation

RouteCache({
  required super.path,
  required this.handle,
  this.cacheDuration = const Duration(minutes: 10),
  this.cacheType = const [
    CacheParam.method,
    CacheParam.path,
    CacheParam.language,
  ],
  this.cacheSource = CacheSource.memory,
  super.key,
  super.extraPath,
  super.methods,
  super.controller,
  super.widget,
  super.auth,
  super.children,
  super.params,
  super.title,
  super.excludePaths,
  super.apiDoc,
  super.permissions,
  super.hosts,
  super.ports,
  super.middlewares,
}) {
  super.index = _handle;
  if (!cacheType.contains(CacheParam.path)) {
    Print.error('CacheParam.path is required in cacheType, route: $path');
    cacheType.add(CacheParam.path);
  }
}