using Newtonsoft.Json; using System; namespace MatrixDotNetLib { public class MatrixEvent { [JsonProperty("type")] public string EventType { get; set; } public string Sender { get; set; } public MatrixEventContent Content { get; set; } [JsonProperty("state_key")] public string StateKey { get; set; } [JsonProperty("origin_server_ts")] public Int64 OriginTs { get; set; } public MatrixEventUnsigned Unsigned { get; set; } } } //// simplest implementation //// might not work for UWP //// sauce: https://stackoverflow.com/questions/5527316/how-to-set-the-content-of-an-httpwebrequest-in-c //HttpContent requestContent = new StringContent(requestJson, Encoding.UTF8, "application/json"); //HttpClient client = new HttpClient(); //client.BaseAddress = new Uri(loginUrl); //client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); //HttpResponseMessage responseMessage = client.PostAsync(loginUrl, requestContent).Result; //string responseString = responseMessage.Content.ReadAsStringAsync().Result; //if(responseString.Contains("errcode")) //{ // // deserialize into error object // MatrixError error = JsonConvert.DeserializeObject(responseString); // // convert error object to a string // string errMsg = error.ErrorCode + ": " + error.ErrorMessage; // // throw exception (can be caught and handled gracefully) // throw new Exception(errMsg); //} //else //{ // MatrixLoginResponse response = JsonConvert.DeserializeObject(responseString); // return response; //}