private static async Task SendRequestAsync <T>(T task, HttpMethod requestType) { //configuring message var endpoint = requestType == HttpMethod.Put ? "change" : "add"; var json = JsonManager.MakeJson(task); var req_message = new HttpRequestMessage(requestType, new Uri(http, endpoint)) { Content = new StringContent(json, Encoding.UTF8, "application/json") }; //sending request try { using (var client = new HttpClient { Timeout = WaitingTime }) SynchChanged?.Invoke(ClassifyResponse(await client.SendAsync(req_message))); } catch (Exception ex) { IsSyncSuccessful = false; if (ex is HttpRequestException) { SynchChanged?.Invoke(SyncState.Impossible); } if (ex is TaskCanceledException) { SynchChanged?.Invoke(SyncState.Failed); } } }
public static void SaveCurrentSession(T session) => SaveSessionJson(JsonManager.MakeJson(session));