package main type CoreInterface interface { BeforeLoadPlugins() LoadPlugins() AfterLoadPlugins() BeforeLoadConfiguration() LoadConfiguration() AfterLoadConfiguration() BeforeConnectToDatabases() ConnectToDatabases() AfterConnectToDatabases() BeforeSetupLogger() SetupLogger() AfterSetupLogger() BeforeSetupRoutes() SetupRoutes() AfterSetupRoutes() BeforeRun() Run() AfterRun() } type HandlerInterface interface { BeforeProcessRequest() ProcessRequest() AfterProcessRequest() BeforeLoadDataFromDatabase() LoadDataFromDatabase() AfterLoadDataFromDatabase() BeforeSaveDataToDatabase() SaveDataToDatabase() AfterSaveDataToDatabase() BeforeRenderOutput() RenderOutput() AfterRenderOutput() }