public void SetRaid(Session session, Raid raid) { if (!session.Valid) { return; } foreach (var helper in raid.ToInvite) { ToggleHelper(session, raid.TerminID, helper.ID); } var httpWebRequest = GetPostRequest(BASE_ADDRESS + @"/api/aufstellungen", session.UserAgent); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream(), Encoding.UTF8)) { string json = $@"{{""auth"":""{session.Token}"",""session"":""{session.Token}"",""body"":{raid.GetPostJson()}}}"; streamWriter.Write(json); streamWriter.Close(); } string response; var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); try { using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) response = streamReader.ReadToEnd(); if (response.Trim() == "[]" || httpResponse.StatusCode != HttpStatusCode.OK) { Logger.Error($@"RO+ SetRaid Returned ""{response}"" body was: request body raid.getPostJson()"); } } catch (Exception e) { Logger.Error($@"RO+ SetRaid has throwen an exception"); Logger.LogException(e); throw new OperationCanceledException("Something went wrong when updating RO+", e); } }