onInitServer method Null safety
Registers everything. Do not call and/or override this method. Use onInit instead
Implementation
Future<void> onInitServer() async {
// register the router in the context (must be the first)
_context.register(_router);
// register all user endpoints and middlewares
await onInit(_context);
// handle all already loaded middlewares
Set<Middleware<Request>> alreadyLoadedRequestMiddlewares = HashSet();
Set<Middleware<Response>> alreadyLoadedResponseMiddlewares = HashSet();
// load everything
for (var a1 in _router.entries) {
for (var middleware in a1.value.middlewares) {
if (!alreadyLoadedRequestMiddlewares.contains(middleware)) {
await middleware.onInit(_context);
alreadyLoadedRequestMiddlewares.add(middleware);
}
}
for (var a2 in a1.value.methodRouter.entries) {
for (var middleware in a2.value.requestMiddlewares) {
if (!alreadyLoadedRequestMiddlewares.contains(middleware)) {
await middleware.onInit(_context);
alreadyLoadedRequestMiddlewares.add(middleware);
}
}
for (var middleware in a2.value.responseMiddlewares) {
if (!alreadyLoadedResponseMiddlewares.contains(middleware)) {
await middleware.onInit(_context);
alreadyLoadedResponseMiddlewares.add(middleware);
}
}
await a2.value.endpoint.onInit(_context);
}
}
}