public override void Handle(HttpListenerRequest request, HttpListenerResponse response) { var pluginKey = ParsePluginKey(request); if (!string.IsNullOrEmpty(pluginKey)) { var plugin = PluginManager.Instance.GetPlugin(pluginKey); if (plugin != null) { Console.WriteLine("Execute: " + plugin.Name); var pluginResponse = plugin.Instance.GetList(new PluginContext(pluginKey, request, new NameValueCollection(request.QueryString))); if (pluginResponse != null) { WriteResponse(response, ResponseSerializer.ToXml(pluginResponse)); } else { WriteResponse(response, HttpStatusCode.NotFound, $"Plugin Playlist is null. Plugin: {pluginKey}"); } } else { Console.WriteLine("Plugin Not Found. Plugin:" + pluginKey); WriteResponse(response, HttpStatusCode.NotFound, $"Plugin Not Found. Plugin: {pluginKey}"); } } else { Console.WriteLine("Plugin is not defined in request. Plugin: " + pluginKey); WriteResponse(response, HttpStatusCode.NotFound, $"Plugin is not defined in request. Plugin: {pluginKey}"); } }