register method
Register services with the container.
This method is called when the provider is registered with the container. Use this method to register bindings, instances, and aliases.
Implementation
@override
void register(Container container) {
final appConfig = container.get<Config>();
final resolved = _resolveSessionConfig(container, appConfig);
if (resolved != null) {
container.instance<SessionConfig>(resolved);
_managesConfig = true;
} else {
_managesConfig = false;
}
final registry = container.get<MiddlewareRegistry>();
registry.register('routed.sessions.start', (c) {
SessionConfig? config;
if (c.has<SessionConfig>()) {
config = c.get<SessionConfig>();
} else {
config = _resolveSessionConfig(c, c.get<Config>());
if (config != null) {
c.instance<SessionConfig>(config);
}
}
if (config == null) {
return (ctx, next) async => await next();
}
return sessionMiddleware(store: config.store, name: config.cookieName);
});
}