public async System.Threading.Tasks.Task <mmria.common.model.couchdb.document_put_response> Post([FromBody] mmria.common.model.couchdb.user user) { string object_string = null; mmria.common.model.couchdb.document_put_response result = new mmria.common.model.couchdb.document_put_response(); try { Newtonsoft.Json.JsonSerializerSettings settings = new Newtonsoft.Json.JsonSerializerSettings(); settings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore; object_string = Newtonsoft.Json.JsonConvert.SerializeObject(user, settings); string user_db_url = Program.config_couchdb_url + "/_users/" + user._id; var user_curl = new cURL("PUT", null, user_db_url, object_string, Program.config_timer_user_name, Program.config_timer_password); var responseFromServer = await user_curl.executeAsync(); result = Newtonsoft.Json.JsonConvert.DeserializeObject <mmria.common.model.couchdb.document_put_response>(responseFromServer); if (!result.ok) { } } catch (Exception ex) { Console.WriteLine(ex); } return(result); }
public async System.Threading.Tasks.Task <mmria.common.model.couchdb.document_put_response> Post() { //bool valid_login = false; mmria.common.model.couchdb.user user = null; string object_string = null; mmria.common.model.couchdb.document_put_response result = new mmria.common.model.couchdb.document_put_response(); try { System.IO.Stream dataStream0 = await this.Request.Content.ReadAsStreamAsync(); // Open the stream using a StreamReader for easy access. //dataStream0.Seek(0, System.IO.SeekOrigin.Begin); System.IO.StreamReader reader0 = new System.IO.StreamReader(dataStream0); // Read the content. string temp = reader0.ReadToEnd(); user = Newtonsoft.Json.JsonConvert.DeserializeObject <mmria.common.model.couchdb.user>(temp); //System.Dynamic.ExpandoObject json_result = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Dynamic.ExpandoObject>(result, new Newtonsoft.Json.Converters.ExpandoObjectConverter()); //string metadata = DecodeUrlString(temp); } catch (Exception ex) { Console.WriteLine(ex); } try { Newtonsoft.Json.JsonSerializerSettings settings = new Newtonsoft.Json.JsonSerializerSettings(); settings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore; object_string = Newtonsoft.Json.JsonConvert.SerializeObject(user, settings); string user_db_url = this.get_couch_db_url() + "/_users/" + user._id; System.Net.WebRequest request = System.Net.WebRequest.Create(new System.Uri(user_db_url)); request.Method = "PUT"; request.ContentType = "application/json"; request.ContentLength = object_string.Length; request.PreAuthenticate = false; if (this.Request.Headers.Contains("Cookie") && this.Request.Headers.GetValues("Cookie").Count() > 0) { string[] cookie_set = this.Request.Headers.GetValues("Cookie").First().Split(';'); for (int i = 0; i < cookie_set.Length; i++) { string[] auth_session_token = cookie_set[i].Split('='); if (auth_session_token[0].Trim() == "AuthSession") { request.Headers.Add("Cookie", "AuthSession=" + auth_session_token[1]); request.Headers.Add("X-CouchDB-WWW-Authenticate", auth_session_token[1]); break; } /* * else if(auth_session_token[0].Trim() == "Authorization") * { * request.Headers.Add("X-CouchDB-WWW-Authenticate", auth_session_token[1]); * }*/ } } using (System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(request.GetRequestStream())) { try { streamWriter.Write(object_string); streamWriter.Flush(); streamWriter.Close(); System.Net.WebResponse response = await request.GetResponseAsync(); System.IO.Stream dataStream = response.GetResponseStream(); System.IO.StreamReader reader = new System.IO.StreamReader(dataStream); string responseFromServer = reader.ReadToEnd(); result = Newtonsoft.Json.JsonConvert.DeserializeObject <mmria.common.model.couchdb.document_put_response>(responseFromServer); } catch (Exception ex) { Console.WriteLine(ex); } } if (!result.ok) { } } catch (Exception ex) { Console.WriteLine(ex); } return(result); }