injectIn method
Overwrite this to define how to inject this object in owner.
Implementation
@override
void injectIn(RelicRouter router) {
// On hot reload, Relic replays all RouterInjectables. Re-initialize
// endpoints so new/changed endpoint classes and methods are picked up.
if (_running) {
endpoints.connectors.clear();
endpoints.modules.clear();
endpoints.initializeEndpoints(this);
serverpod.runStartHooks();
}
if (serverpod.config.loggingMode == ServerpodLoggingMode.verbose) {
router.use('/', _verboseLogging);
}
final healthRoutes = HealthRoutes(serverpod);
// Register core middleware first to ensure they wrap all user middleware
router
..use('/', _headers)
..use('/', _reportException)
// Legacy `GET /` health endpoint - API/insights only; would collide
// with user homepage routes on the web server, so it's wired here
// rather than from [HealthRoutes.injectIn].
..get('/', healthRoutes.legacyHealth);
healthRoutes.injectIn(router);
router
..get(
'/v1/websocket',
_dispatchWebSocket(MethodWebsocketRequestHandler.handleWebsocket),
)
..anyOf(
{Method.get, Method.options, Method.post},
'/serverpod_cloud_storage',
_cloudStorage,
)
..any('/**', _endpoints);
}