34 lines
1 KiB
Dart
34 lines
1 KiB
Dart
import 'dart:io';
|
|
import 'package:angel_framework/angel_framework.dart';
|
|
import 'package:angel_static/angel_static.dart';
|
|
import 'package:angel_wings/angel_wings.dart';
|
|
import 'package:file/local.dart';
|
|
import 'package:logging/logging.dart';
|
|
import 'package:pretty_logging/pretty_logging.dart';
|
|
|
|
void main() async {
|
|
hierarchicalLoggingEnabled = true;
|
|
|
|
var logger = Logger.detached('wings')
|
|
..level = Level.ALL
|
|
..onRecord.listen(prettyLog);
|
|
var app = Angel(logger: logger);
|
|
var wings = AngelWings(app);
|
|
var fs = LocalFileSystem();
|
|
var vDir = CachingVirtualDirectory(app, fs,
|
|
source: fs.currentDirectory, allowDirectoryListing: true);
|
|
|
|
app.mimeTypeResolver.addExtension('yaml', 'text/x-yaml');
|
|
|
|
app.get('/', (req, res) => 'WINGS!!!');
|
|
app.post('/', (req, res) async {
|
|
await req.parseBody();
|
|
return req.bodyAsMap;
|
|
});
|
|
|
|
app.fallback(vDir.handleRequest);
|
|
app.fallback((req, res) => throw AngelHttpException.notFound());
|
|
|
|
await wings.startServer(InternetAddress.loopbackIPv4, 3000);
|
|
print('Listening at ${wings.uri}');
|
|
}
|