public void OnWebSocketEvent(WebSocketEventArgs args) { DebugHandler.TraceMessage("OnWebSocketEvent Called", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage(args.ToString(), DebugSource.TASK, DebugType.PARAMETERS); try { try{ JObject query = JObject.Parse(args.Message); string action = query.Value <string>("action"); if (action != null) { JObject extra = query.Value <JObject>("extra"); if (extra != null) { switch (action) { case "delete_file": FileWebSocketService.DeleteFile(extra); break; case "open_file": FileWebSocketService.OpenFile(extra); break; } } } } catch (JsonReaderException e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); JsonError error = new JsonError() { type = "command_error", errormessage = "Error happend during parsing of command.", errortype = "exception", exception = e.ToString() }; WebSocketHandler.SendMessage(error.ToJson()); } } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.ERROR); JsonError error = new JsonError() { type = "command_error", errormessage = "Error happend during execution of command.", errortype = "exception", exception = e.ToString() }; WebSocketHandler.SendMessage(error.ToJson()); } }
public async Task GetAnimeProfile(JObject query) { DebugHandler.TraceMessage("GetAnimeProfile Called.", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage("Query: " + query.ToString(), DebugSource.TASK, DebugType.PARAMETERS); string id = query.Value <string>("id"); JsonKitsuAnimeInfo info = await AnimeProfileHandler.GetAnimeProfile(id); await WebSocketHandler.SendMessage(info.ToJson()); }
public async Task CreateDirectory(JObject directoryJson) { DebugHandler.TraceMessage("CreateDirectory called.", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage(directoryJson.ToString(), DebugSource.TASK, DebugType.PARAMETERS); try { string filePath = directoryJson.Value <string>("path"); if (filePath.Contains("//")) { filePath.Replace("//", "/"); } if (filePath.Contains("\\\\")) { filePath.Replace("\\\\", "\\"); } string result = DirectoryHandler.CreateDirectory(filePath, ""); await WebSocketHandler.SendMessage(result); } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); JsonError error = new JsonError() { type = "create_directory_error", errormessage = "Could not create directory.", errortype = "exception", exception = e.ToString() }; await WebSocketHandler.SendMessage(error.ToJson()); } }
public async Task GetCurrentIrcSettings() { DebugHandler.TraceMessage("GetCurrentIrcSettings Called.", DebugSource.TASK, DebugType.ENTRY_EXIT); IrcSettings = SettingsHandler.GetIrcSettings(); JsonIrcInfo info = new JsonIrcInfo() { channel = IrcSettings.Channels, server = IrcSettings.ServerAddress, user = IrcSettings.UserName, fullfilepath = IrcSettings.fullfilepath }; await WebSocketHandler.SendMessage(info.ToJson()); }
public async Task DeleteFile(JObject fileInfoJson) { DebugHandler.TraceMessage("DeleteFile called.", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage(fileInfoJson.ToString(), DebugSource.TASK, DebugType.PARAMETERS); try { string filePath = fileInfoJson.Value <string>("path"); if (filePath.Contains("//")) { filePath.Replace("//", "/"); } if (filePath.Contains("\\\\")) { filePath.Replace("\\\\", "\\"); } DownloadHandler.RemoveDownload(filePath); FileHistoryHandler.RemoveFileFromFileHistory(filePath); string result = FileHandler.DeleteFile(filePath); await WebSocketHandler.SendMessage(result); } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); JsonError error = new JsonError() { type = "parse_file_to_delete_error", errormessage = "Could not parse json containing file to delete information.", errortype = "exception", exception = e.ToString() }; await WebSocketHandler.SendMessage(error.ToJson()); } }
public async Task AddDownload(JObject downloadJson) { DebugHandler.TraceMessage("AddDownload called.", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage(downloadJson.ToString(), DebugSource.TASK, DebugType.PARAMETERS); try { JsonDownloadInfo downloadInfo = new JsonDownloadInfo() { animeInfo = new JsonAnimeInfo() { anime_id = downloadJson.Value <JObject>("animeInfo").Value <string>("animeid"), anime_title = downloadJson.Value <JObject>("animeInfo").Value <string>("title"), anime_cover_original = downloadJson.Value <JObject>("animeInfo").Value <string>("cover_original"), anime_cover_small = downloadJson.Value <JObject>("animeInfo").Value <string>("cover_small") }, id = downloadJson.Value <string>("id"), episodeNumber = downloadJson.Value <string>("episodeNumber"), pack = downloadJson.Value <string>("pack"), bot = downloadJson.Value <string>("bot"), fullfilepath = downloadJson.Value <string>("dir"), filename = downloadJson.Value <string>("filename"), progress = downloadJson.Value <string>("progress"), speed = downloadJson.Value <string>("speed"), status = downloadJson.Value <string>("status"), filesize = downloadJson.Value <string>("filesize") }; LastDownloadedInfo = downloadInfo; string result = DownloadHandler.AddDownload(downloadInfo); await WebSocketHandler.SendMessage(result); } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); JsonError error = new JsonError() { type = "parse_download_to_add_error", errormessage = "Could not parse json containing download to add information.", errortype = "exception", exception = e.ToString() }; await WebSocketHandler.SendMessage(error.ToJson()); } }
public async Task CheckVersion() { DebugHandler.TraceMessage("CheckVersion called", DebugSource.TASK, DebugType.ENTRY_EXIT); JsonVersionInfo versionInfoDevelop = new JsonVersionInfo(); JsonVersionInfo versionInfoRelease = new JsonVersionInfo(); versionInfoDevelop = await VersionHandler.GetLatestVersionDesktop(false); versionInfoRelease = await VersionHandler.GetLatestVersionDesktop(true); #if __ANDROID__ versionInfoDevelop = await VersionHandler.GetLatestVersionAndroid(false); versionInfoRelease = await VersionHandler.GetLatestVersionAndroid(true); #endif JsonVersionInfo currentVersion = VersionHandler.GetLocalVersion(); try { if (versionInfoDevelop.newversion != "Not Found" && currentVersion.currentversion != "Not Found") { DebugHandler.TraceMessage("Current: " + currentVersion.ToJson(), DebugSource.TASK, DebugType.INFO); DebugHandler.TraceMessage("Develop: " + versionInfoDevelop.ToJson(), DebugSource.TASK, DebugType.INFO); int currentBuild = int.Parse(currentVersion.currentbuild); int newBuild = int.Parse(versionInfoDevelop.newbuild); if (versionInfoDevelop.newversion == currentVersion.currentversion && currentBuild >= newBuild) { versionInfoDevelop.update_available = false; } else { versionInfoDevelop.update_available = true; } } if (versionInfoRelease.newversion != "Not Found" && currentVersion.currentversion != "Not Found") { DebugHandler.TraceMessage("Current: " + currentVersion.ToJson(), DebugSource.TASK, DebugType.INFO); DebugHandler.TraceMessage("Develop: " + versionInfoRelease.ToJson(), DebugSource.TASK, DebugType.INFO); int currentBuild = int.Parse(currentVersion.currentbuild); int newBuild = int.Parse(versionInfoRelease.newbuild); if (versionInfoRelease.newversion == currentVersion.currentversion && currentBuild >= newBuild) { versionInfoRelease.update_available = false; } else { versionInfoRelease.update_available = true; } } versionInfoDevelop.currentbuild = currentVersion.currentbuild; versionInfoDevelop.currentversion = currentVersion.currentversion; await WebSocketHandler.SendMessage(versionInfoDevelop.ToJson()); versionInfoRelease.currentbuild = currentVersion.currentbuild; versionInfoRelease.currentversion = currentVersion.currentversion; await WebSocketHandler.SendMessage(versionInfoRelease.ToJson()); } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); } }
public void OnWebSocketEvent(WebSocketEventArgs args) { DebugHandler.TraceMessage("OnWebSocketEvent Called", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage(args.ToString(), DebugSource.TASK, DebugType.PARAMETERS); try { try{ JObject query = JObject.Parse(args.Message); string action = query.Value <string>("action"); if (action != null) { JObject extra = query.Value <JObject>("extra"); if (extra != null) { switch (action) { case "set_littleweeb_settings": SettingsWebSocketService.SetLittleWeebSettings(extra); break; case "set_irc_settings": SettingsWebSocketService.SetIrcSettings(extra); break; case "set_download_directory": SettingsWebSocketService.Setfullfilepath(extra); break; } } else { switch (action) { case "get_littleweeb_settings": SettingsWebSocketService.GetCurrentLittleWeebSettings(); break; case "get_irc_settings": SettingsWebSocketService.GetCurrentIrcSettings(); break; } } } } catch (JsonReaderException e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); JsonError error = new JsonError() { type = "command_error", errormessage = "Error happend during parsing of command.", errortype = "exception", exception = e.ToString() }; WebSocketHandler.SendMessage(error.ToJson()); } } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.ERROR); JsonError error = new JsonError() { type = "command_error", errormessage = "Error happend during execution of command.", errortype = "exception", exception = e.ToString() }; WebSocketHandler.SendMessage(error.ToJson()); } }
/// <summary> /// Overload method for sending text messages to a specific client, using it's id, asynchronous. /// </summary> /// <param name="messageToSend"></param> /// <param name="clientId"></param> /// <returns>True when send succesfully.</returns> public async Task <bool> SendTextMessageAsync(string messageToSend, string clientId = null) { WebSocketMessageContainer message = new WebSocketMessageContainer() { data = Encoding.UTF8.GetBytes(messageToSend), isText = true }; if (clientId != null) { return(await _WebsocketHandler.SendMessage(message, clientId)); } return(await _WebsocketHandler.SendMessage(message)); }
public void OnWebSocketEvent(WebSocketEventArgs args) { DebugHandler.TraceMessage("OnWebSocketEvent Called", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage(args.ToString(), DebugSource.TASK, DebugType.PARAMETERS); try { try { JObject query = JObject.Parse(args.Message); string action = query.Value <string>("action"); if (action != null) { JObject extra = query.Value <JObject>("extra"); if (extra != null) { switch (action) { case "add_download": DownloadWebSocketService.AddDownload(extra); break; case "add_downloads": DownloadWebSocketService.AddDownloads(extra); break; case "abort_download": DownloadWebSocketService.AbortDownload(extra); break; case "remove_download": DownloadWebSocketService.RemoveDownload(extra); break; } } else { switch (action) { case "get_downloads": DownloadWebSocketService.GetCurrentFileHistory(); break; case "get_free_space": DirectoryWebSocketService.GetFreeSpace(); break; case "open_download_directory": DownloadWebSocketService.Openfullfilepath(); break; } } } } catch (JsonReaderException e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); JsonError error = new JsonError() { type = "command_error", errormessage = "Error happend during parsing of command.", errortype = "exception", exception = e.ToString() }; WebSocketHandler.SendMessage(error.ToJson()); } } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.ERROR); JsonError error = new JsonError() { type = "command_error", errormessage = "Error happend during execution of command.", errortype = "exception", exception = e.ToString() }; WebSocketHandler.SendMessage(error.ToJson()); } }
public async Task <StatusCodeResult> SendMessageAsync(string message) { _websocketHandler.SendMessage(message); return(new OkResult()); }
public async Task Connect(JObject ircJson = null) { DebugHandler.TraceMessage("Connect called", DebugSource.TASK, DebugType.ENTRY_EXIT); bool succes = false; try { if (ircJson == null) { string username = IrcSettings.UserName; if (username == "") { username = UtilityMethods.GenerateUsername(LittleWeebSettings.RandomUsernameLength); } IrcSettings.UserName = username; } else { DebugHandler.TraceMessage(ircJson.ToString(), DebugSource.TASK, DebugType.INFO); string username = ircJson.Value <string>("username"); if (username == "") { username = UtilityMethods.GenerateUsername(LittleWeebSettings.RandomUsernameLength); } IrcSettings.ServerAddress = ircJson.Value <string>("address"); IrcSettings.Channels = ircJson.Value <string>("channels"); IrcSettings.UserName = username; } succes = IrcClientHandler.StartConnection(IrcSettings); if (succes) { JsonIrcInfo ircInfo = new JsonIrcInfo() { connected = succes, channel = IrcSettings.Channels, server = IrcSettings.ServerAddress, user = IrcSettings.UserName, fullfilepath = IrcSettings.fullfilepath }; await WebSocketHandler.SendMessage(ircInfo.ToJson()); } else { JsonIrcInfo ircInfo = new JsonIrcInfo() { connected = succes, channel = IrcSettings.Channels, server = IrcSettings.ServerAddress, user = IrcSettings.UserName, fullfilepath = IrcSettings.fullfilepath }; await WebSocketHandler.SendMessage(ircInfo.ToJson()); } DebugHandler.TraceMessage("Started irc connection using the following settings: " + IrcSettings.ToString(), DebugSource.TASK, DebugType.INFO); SettingsHandler.WriteIrcSettings(IrcSettings); } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); JsonIrcInfo ircInfo = new JsonIrcInfo() { connected = succes, channel = IrcSettings.Channels, server = IrcSettings.ServerAddress, user = IrcSettings.UserName, fullfilepath = IrcSettings.fullfilepath }; await WebSocketHandler.SendMessage(ircInfo.ToJson()); JsonError error = new JsonError() { type = "irc_connect_error", errormessage = "Could not start connection to irc server.", errortype = "exception", exception = e.ToString() }; await WebSocketHandler.SendMessage(error.ToJson()); } IsIrcConnected = succes; }
public void OnWebSocketEvent(WebSocketEventArgs args) { DebugHandler.TraceMessage("OnWebSocketEvent Called", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage(args.ToString(), DebugSource.TASK, DebugType.PARAMETERS); try { try{ JObject query = JObject.Parse(args.Message); string action = query.Value <string>("action"); if (action != null) { JObject extra = query.Value <JObject>("extra"); if (extra != null) { switch (action) { case "connect_irc": IrcWebSocketService.Connect(extra); break; case "sendmessage_irc": IrcWebSocketService.SendMessage(extra); break; } } else { switch (action) { case "get_irc_data": IrcWebSocketService.GetCurrentIrcSettings(); break; case "connect_irc": IrcWebSocketService.Connect(); break; case "disconnect_irc": IrcWebSocketService.Disconnect(); break; case "enablechat_irc": IrcWebSocketService.EnableSendMessage(); break; case "disablechat_irc": IrcWebSocketService.DisableSendMessage(); break; } } } } catch (JsonReaderException e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); JsonError error = new JsonError() { type = "command_error", errormessage = "Error happend during parsing of command.", errortype = "exception", exception = e.ToString() }; WebSocketHandler.SendMessage(error.ToJson()); } } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.ERROR); JsonError error = new JsonError() { type = "command_error", errormessage = "Error happend during execution of command.", errortype = "exception", exception = e.ToString() }; WebSocketHandler.SendMessage(error.ToJson()); } }
public void OnWebSocketEvent(WebSocketEventArgs args) { DebugHandler.TraceMessage("OnWebSocketEvent called", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage(args.ToString(), DebugSource.TASK, DebugType.PARAMETERS); try { try { JObject query = JObject.Parse(args.Message); string action = query.Value <string>("action"); if (action != null) { JObject extra = query.Value <JObject>("extra"); if (extra != null) { switch (action) { case "get_files_for_anime": InfoApiWebSocketService.GetFilesForAnime(extra); break; case "get_anime_profile": InfoApiWebSocketService.GetAnimeProfile(extra); break; } } else { switch (action) { case "get_currently_airing": InfoApiWebSocketService.GetCurrentlyAiring(); break; } } } } catch (JsonReaderException e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.WARNING); JsonError error = new JsonError() { type = "command_error", errormessage = "Error happend during parsing of command.", errortype = "exception", exception = e.ToString() }; WebSocketHandler.SendMessage(error.ToJson()); } } catch (Exception e) { DebugHandler.TraceMessage(e.ToString(), DebugSource.TASK, DebugType.ERROR); JsonError error = new JsonError() { type = "command_error", errormessage = "Error happend during execution of command.", errortype = "exception", exception = e.ToString() }; WebSocketHandler.SendMessage(error.ToJson()); } }