Exemple #1
0
        public static async Task <string> PostRequest(string postdata, DataUpdate _type)
        {
            try {
                string url = Settings.PublishDatabaseServerIp;
                CloudStreamCore.print("PUBLISHIP: " + url);

                int            waitTime   = 400;
                HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(url);
                if (CloudStreamCore.GetRequireCert(url))
                {
                    webRequest.ServerCertificateValidationCallback = delegate { return(true); };
                }
                webRequest.Method           = "POST";
                webRequest.UserAgent        = "CLOUDSTREAM APP v" + App.GetBuildNumber();
                webRequest.Timeout          = waitTime * 10;
                webRequest.ReadWriteTimeout = waitTime * 10;
                webRequest.ContinueTimeout  = waitTime * 10;
                webRequest.Headers.Add("TYPE", ((int)_type).ToString());

                try {
                    HttpWebRequest _webRequest = webRequest;
                    Stream         postStream  = await _webRequest.GetRequestStreamAsync();

                    string requestBody = postdata;                    // --- RequestHeaders ---

                    byte[] byteArray = Encoding.UTF8.GetBytes(requestBody);

                    postStream.Write(byteArray, 0, byteArray.Length);
                    postStream.Close();
                    // BEGIN RESPONSE

                    try {
                        HttpWebRequest  request  = webRequest;
                        HttpWebResponse response = (HttpWebResponse)(await webRequest.GetResponseAsync());

                        using StreamReader httpWebStreamReader = new StreamReader(response.GetResponseStream());
                        try {
                            string s = await httpWebStreamReader.ReadToEndAsync();

                            CloudStreamCore.print("RESPONSEF FROM POST::: " + s);
                        }
                        catch (Exception) {
                            return("");
                        }
                    }
                    catch (Exception _ex) {
                        CloudStreamCore.error("FATAL EX IN POST2: " + _ex);
                    }
                }
                catch (Exception _ex) {
                    CloudStreamCore.error("FATAL EX IN POSTREQUEST" + _ex);
                }
                return("");
            }
            catch (Exception _ex) {
                CloudStreamCore.error(_ex);
                return("");
            }
        }