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 config = container.get<Config>();
final engineConfig = container.get<EngineConfig>();
final resolved = spec.resolve(
config,
context: SecurityConfigContext(
config: config,
engineConfig: engineConfig,
),
);
final trustedResolver = _buildTrustedProxyResolver(resolved);
container.instance<TrustedProxyResolver>(trustedResolver);
_ipFilter = _buildIpFilter(resolved);
final registry = container.get<MiddlewareRegistry>();
registry
..register(
'routed.security.trusted_proxy',
(c) => _trustedProxyMiddleware(c.get<TrustedProxyResolver>()),
)
..register('routed.security.ip_filter', (_) => _ipFilterMiddleware())
..register('routed.security.headers', (_) => securityHeadersMiddleware())
..register('routed.security.csrf', (_) => csrfMiddleware())
..register(
'routed.security.request_size',
(_) => requestSizeLimitMiddleware(),
);
}