public static void Registration(UserRegistrationModel model, IAmItRequestListener listener) { bool isConnected = true; WebClient Client = new WebClient(); String Response; try { Response = Client.DownloadString("http://www.google.com"); } catch (WebException e) { isConnected = false; listener.OnFail("Error. Check up you internet connection"); } if (isConnected) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(SERVER_ADDRESS + IAmItServerMethods.REGISTRATION); var data = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(model)); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = data.Length; using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } try { using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode.Equals(HttpStatusCode.OK)) { PlayerPrefs.DeleteKey("Token"); Synchronizer.IsUsed = false; listener.OnPost(new StreamReader(response.GetResponseStream()).ReadToEnd()); } } } catch (WebException e) { using (HttpWebResponse response = (HttpWebResponse)e.Response) { HttpWebResponse httpResponse = (HttpWebResponse)response; using (Stream data1 = response.GetResponseStream()) using (var reader = new StreamReader(data1)) { string text = reader.ReadToEnd(); listener.OnFail(text); } } } } }
public static void Post <T> (T model, string method, IAmItRequestListener listener) { bool isConnected = true; WebClient Client = new WebClient(); String Response; try { Response = Client.DownloadString("http://www.google.com"); } catch (WebException e) { isConnected = false; listener.OnFail("Error. Check up you internet connection"); } if (isConnected) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(SERVER_ADDRESS + method); var data = Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(model)); request.Method = "POST"; request.Headers.Add(HttpRequestHeader.Cookie, ".AspNet.ApplicationCookie=" + Token); request.ContentType = "application/json"; request.ContentLength = data.Length; using (var stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } HttpWebResponse response = null; try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { response = (HttpWebResponse)ex.Response; Debug.Log(ex.Message); } if (response.StatusCode.Equals(HttpStatusCode.OK)) { listener.OnPost(new StreamReader(response.GetResponseStream()).ReadToEnd()); } else { listener.OnFail(response.StatusCode.ToString()); } } }