WIP still, tuning up auth and room wildcard with middleware

This commit is contained in:
Nate Anderson
2025-02-02 19:49:11 -07:00
parent 37e168e46b
commit 544d3b45ba
18 changed files with 369 additions and 94 deletions
+18 -8
View File
@@ -1,17 +1,27 @@
import 'dart:developer' as dev;
import 'dart:io';
import 'package:dart_frog/dart_frog.dart';
import 'package:logging/logging.dart';
Future<HttpServer> run(Handler handler, InternetAddress ip, int port) {
// 1. Execute any custom code prior to starting the server...
bool _listening = false;
final String logLevel = Platform.environment['LOG_LEVEL'] ?? 'INFO';
Logger.root.level =
Level.LEVELS.firstWhere((l) => l.name == logLevel, orElse: () => Level.INFO); // defaults to Level.INFO
Logger.root.onRecord.listen((record) {
stdout.writeln('${record.level.name}: ${record.time}: ${record.message}');
});
Future<HttpServer> run(Handler handler, InternetAddress ip, int port) async {
final isDevelopment = (await dev.Service.getInfo()).serverUri != null;
if (!_listening) {
final logLevel = Platform.environment['LOG_LEVEL'] ?? (isDevelopment ? 'FINEST' : 'INFO');
Logger.root.level =
Level.LEVELS.firstWhere((l) => l.name == logLevel, orElse: () => Level.INFO); // defaults to Level.INFO
Logger.root.onRecord.listen((record) {
stdout.writeln('[${record.level.name}]:[${record.loggerName}] ${record.time}: ${record.message}');
if (record.level.value >= Level.WARNING.value) {
stdout.writeln(
'[${record.level.name}]:[${record.loggerName}] ${record.error ?? "No error provided"}\n${record.stackTrace ?? "No trace provided"}',
);
}
});
_listening = true;
}
return serve(handler, ip, port);
}