public async Task GetFilesForAnime(JObject query) { DebugHandler.TraceMessage("GetFilesForAnime Called.", DebugSource.TASK, DebugType.ENTRY_EXIT); DebugHandler.TraceMessage("Query: " + query.ToString(), DebugSource.TASK, DebugType.PARAMETERS); try { JArray animeNames = query.Value <JArray>("titles"); JObject returnresult = new JObject(); foreach (string title in animeNames) { Dictionary <string, string> parsed = WeebFileNameParser.ParseFullString(title); string searchQuery = parsed["MainAnimeTitle"]; if (parsed["SubAnimeTitle"].Length > 0) { searchQuery += " " + parsed["SubAnimeTitle"]; } JObject result = await NiblHandler.SearchNibl(searchQuery); returnresult.Add(title, result); } await WebSocketHandler.SendMessage(returnresult.ToString()); } catch (Exception e) { DebugHandler.TraceMessage("Failed to get files for requested anime(s): " + e.ToString(), DebugSource.TASK, DebugType.WARNING); JsonError jsonError = new JsonError { errortype = "Exception", errormessage = "failed to get files for requested anime(s)", exception = e.ToString() }; await WebSocketHandler.SendMessage(jsonError.ToString()); } }