routed_storage 0.2.0 copy "routed_storage: ^0.2.0" to clipboard
routed_storage: ^0.2.0 copied to clipboard

Routed adapter for server_storage.

routed_storage #

Routed adapter for server_storageStorageManager, local disks, and declarative static mounts.

Wraps server_storage for routed EngineContext.storageManager / storageDisk and storageMiddleware / RoutedStorageProvider.

Install #

dependencies:
  routed: ^0.4.0
  routed_core: ^0.3.3
  routed_storage: ^0.1.0
  server_storage: ^0.1.0

Usage #

import 'package:file/memory.dart';
import 'package:routed_core/routed_core.dart';
import 'package:routed_storage/routed_storage.dart';
import 'package:server_storage/server_storage.dart';

void main() async {
  final fs = MemoryFileSystem();
  final manager = StorageManager(defaultFileSystem: fs)
    ..registerDisk(
      'local',
      LocalStorageDisk(root: '/tmp/storage', fileSystem: fs),
    )
    ..setDefault('local');

  final engine = await Engine.create(
    providers: [
      ...Engine.defaultProviders,
      RoutedStorageProvider(manager: manager),
    ],
  );
  engine.use(storageMiddleware(manager));

  engine.get('/files/:path', (ctx) {
    final disk = ctx.storageDisk();
    return ctx.json({'disk': disk.resolve(ctx.param('path')!)});
  });

  await engine.serve(port: 8080);
}

RoutedStorageProvider binds the manager for application code. Static mounts are supplied as typed configuration:

final engine = await Engine.create(
  providers: [
    RoutedStorageProvider(manager: manager),
    RoutedStaticProvider(
      StaticConfig(
        enabled: true,
        mounts: [StaticMountConfig(route: '/assets', disk: 'local')],
      ),
    ),
  ],
);

With the batteries-included routed package, call registerRoutedProviders() and include the typed providers you need in the engine's provider list. An explicitly supplied StorageManager remains authoritative; otherwise pass StorageConfig as configuration to define local disks with LocalStorageDiskConfig. Configured providers are immutable for the lifetime of an engine.

See example/storage_example.dart.

Testing #

dart test packages/routed_storage
dart analyze --fatal-infos packages/routed_storage/lib
0
likes
0
points
657
downloads

Publisher

unverified uploader

Weekly Downloads

Routed adapter for server_storage.

Repository (GitHub)
View/report issues

Funding

Consider supporting this project:

www.buymeacoffee.com

License

unknown (license)

Dependencies

file, path, routed_core, server_storage

More

Packages that depend on routed_storage