galileo_shelf 3.0.0 copy "galileo_shelf: ^3.0.0" to clipboard
galileo_shelf: ^3.0.0 copied to clipboard

Shelf interop with Galileo. Use this to wrap existing server code.

example/main.dart

import 'dart:io';
import 'package:galileo_framework/galileo_framework.dart';
import 'package:galileo_framework/http.dart';
import 'package:galileo_shelf/galileo_shelf.dart';
import 'package:logging/logging.dart';
import 'package:galileo_pretty_logging/galileo_pretty_logging.dart';
import 'package:shelf_static/shelf_static.dart';

main() async {
  Logger.root
    ..level = Level.ALL
    ..onRecord.listen(prettyLog);

  var app = Galileo(logger: Logger('galileo_shelf_demo'));
  var http = GalileoHttp(app);

  // `shelf` request handler
  var shelfHandler = createStaticHandler('.', defaultDocument: 'index.html', listDirectories: true);

  // Use `embedShelf` to adapt a `shelf` handler for use within Galileo.
  var wrappedHandler = embedShelf(shelfHandler);

  // A normal Galileo route.
  app.get('/galileo', (req, ResponseContext res) {
    res.write('Hooray for `package:galileo_shelf`!');
    return false; // End execution of handlers, so we don't proxy to dartlang.org when we don't need to.
  });

  // Pass any other request through to the static file handler
  app.fallback(wrappedHandler);

  await http.startServer(InternetAddress.loopbackIPv4, 8080);
  print('Running at ${http.uri}');
}
1
likes
40
points
17
downloads

Publisher

verified publishergalileodart.com

Weekly Downloads

Shelf interop with Galileo. Use this to wrap existing server code.

Homepage

License

MIT (license)

Dependencies

charcode, galileo_container, galileo_framework, galileo_mock_request, path, shelf, stream_channel

More

Packages that depend on galileo_shelf