public ApiServer(HttpServer server, HttpRouter router) { m_Server = server; m_Router = router; // Bind router to the server m_Server.HandleRequest = m_Router.ProcessRequest; }
private static void Weave(HttpRouter router) { var types = ScriptCompiler.Libraries.SelectMany(library => library.Types); foreach (var type in types) { var attr = type.GetCustomAttributes <PathAttribute>(false).FirstOrDefault(); if (attr != null) { router.RegisterController(new Route(attr.Path), type); } } }
private static void EventSink_ServerStarted() { if (!Enabled) { return; } var httpServer = new HttpServer(Domain, Port); var httpRouter = new HttpRouter(); Weave(httpRouter); var apiServer = new ApiServer(httpServer, httpRouter); apiServer.Start(); }