diff --git a/src/main/kotlin/co/statu/parsek/api/event/RouterEventListener.kt b/src/main/kotlin/co/statu/parsek/api/event/RouterEventListener.kt index efb4594..be3b10f 100644 --- a/src/main/kotlin/co/statu/parsek/api/event/RouterEventListener.kt +++ b/src/main/kotlin/co/statu/parsek/api/event/RouterEventListener.kt @@ -1,8 +1,11 @@ package co.statu.parsek.api.event import co.statu.parsek.model.Route +import io.vertx.ext.web.Router interface RouterEventListener : ParsekEventListener { fun onInitRouteList(routes: MutableList) + + fun onRouterCreate(router: Router) } \ No newline at end of file diff --git a/src/main/kotlin/co/statu/parsek/route/RouterProvider.kt b/src/main/kotlin/co/statu/parsek/route/RouterProvider.kt index 4b9fa52..297bc53 100755 --- a/src/main/kotlin/co/statu/parsek/route/RouterProvider.kt +++ b/src/main/kotlin/co/statu/parsek/route/RouterProvider.kt @@ -68,6 +68,11 @@ class RouterProvider private constructor( val routerConfig = configManager.getConfig().getJsonObject("router") val routeList = mutableListOf() + val routerEventHandlers = PluginEventManager.getParsekEventListeners() + + routerEventHandlers.forEach { eventHandler -> + eventHandler.onRouterCreate(router) + } routeList.addAll(applicationContext.getBeansWithAnnotation(Endpoint::class.java).map { it.value as Route }) routeList.addAll(pluginManager.plugins.map { @@ -76,7 +81,6 @@ class RouterProvider private constructor( ) }.flatMap { it.values }.map { it as Route }) - val routerEventHandlers = PluginEventManager.getParsekEventListeners() routerEventHandlers.forEach { eventHandler -> eventHandler.onInitRouteList(routeList)