Example #1
0
        public async Task <string> PostLogout(string url, string sessionId, string serverName)
        {
            var content = new StringContent("{}", Encoding.UTF8, "application/json");

            using (var handler = NtlmHttpHandlerFactory.Create())
            {
                AddSession(handler, sessionId, serverName);
                using (var comosHttpClient = new ComosHttp(handler))
                {
                    Uri myCookieUri = new Uri(serverName);
                    handler.CookieContainer.Add(myCookieUri, new Cookie("XSRF-TOKEN", XsrfToken));
                    comosHttpClient.DefaultRequestHeaders.Add("X-XSRF-TOKEN", XsrfToken);
                    var response = await comosHttpClient.PostAsync(url + "sessions/actions/logout", content, TokenSource.Token).ConfigureAwait(false);

                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        return(await response.Content.ReadAsStringAsync());
                    }
                    else
                    {
                        throw new Exception(response.ReasonPhrase);
                    }
                }
            }
        }
Example #2
0
        public void ConnectSucess_knownuser()
        {
            ComosHttp m_Http = new ComosHttp();
            ComosWeb  cw     = new ComosWeb(m_Http, url);

            if (cw.Connect().Result == System.Net.HttpStatusCode.OK)
            {
                return;
            }
            Assert.Fail();
        }
Example #3
0
        private async Task <HttpResponseMessage> PostToComosWeb(string url, string serverName)
        {
            var content = new StringContent("{}", Encoding.UTF8, "application/json");

            using (var handler = NtlmHttpHandlerFactory.Create())
            {
                using (var comosHttpClient = new ComosHttp(handler))
                {
                    Uri myCookieUri = new Uri(serverName);
                    handler.CookieContainer.Add(myCookieUri, new Cookie("XSRF-TOKEN", XsrfToken));
                    comosHttpClient.DefaultRequestHeaders.Add("X-XSRF-TOKEN", XsrfToken);
                    return(await comosHttpClient.PostAsync(url, content).ConfigureAwait(false));
                }
            }
        }
Example #4
0
        public async Task <HttpResponseMessage> GetDocumentStream(string url, string database, string projectuid, string layer, string docuid, bool exportpdf, string sessionId, string serverName)
        {
            string completeUrl = $"{url}/dbs/{database}/projects/{projectuid}/documents/{docuid}?overlayid={layer}";

            if (exportpdf)
            {
                completeUrl += "&export_type=report2pdf";
            }

            using (var handler = NtlmHttpHandlerFactory.Create())
            {
                AddSession(handler, sessionId, serverName);
                using (var comosHttpClient = new ComosHttp(handler))
                {
                    return(await comosHttpClient.GetAsync(completeUrl));
                }
            }
        }
Example #5
0
        private ComosWeb GetComosWeb(bool login = false)
        {
            if (m_ComosWeb != null)
            {
                return(m_ComosWeb);
            }
            ComosHttp m_Http = new ComosHttp();

            m_ComosWeb = new ComosWeb(m_Http, url);
            if (m_ComosWeb.Connect("comos", "gert.denul", "45erYU&*11").Result != System.Net.HttpStatusCode.OK)
            {
                Assert.Fail();
            }
            if (login == true)
            {
                var task = m_ComosWeb.Login();
                task.Wait();
            }
            return(m_ComosWeb);
        }
Example #6
0
        public async Task <HttpResponseMessage> DoHeartbeat(string url, string sessionId, string serverName)
        {
            using (var handler = NtlmHttpHandlerFactory.Create())
            {
                AddSession(handler, sessionId, serverName);
                using (var comosHttpClient = new ComosHttp(handler))
                {
                    var json = JsonConvert.SerializeObject(
                        new
                    {
                        text = sessionId
                    });

                    var content     = new StringContent(json, Encoding.UTF8, "application/json");
                    Uri myCookieUri = new Uri(serverName);
                    handler.CookieContainer.Add(myCookieUri, new Cookie("XSRF-TOKEN", XsrfToken));
                    comosHttpClient.DefaultRequestHeaders.Add("X-XSRF-TOKEN", XsrfToken);
                    return(await comosHttpClient.PostAsync(url + "sessions/actions/send_heartbeat", content).ConfigureAwait(false));
                }
            }
        }
Example #7
0
 public async Task <HttpStatusCode> Connect(string url, string serverName)
 {
     using (var handler = NtlmHttpHandlerFactory.Create())
     {
         using (var comosHttpClient = new ComosHttp(handler))
         {
             var response = comosHttpClient.GetAsync($"{url}/settings").GetAwaiter().GetResult();
             if (response.IsSuccessStatusCode)
             {
                 Uri myCookieUri       = new Uri(serverName);
                 var myCookieContanier = handler.CookieContainer.GetCookies(myCookieUri);
                 var myXSRFCookie      = myCookieContanier["XSRF-TOKEN"];
                 XsrfToken = myXSRFCookie.Value;
                 return(response.StatusCode);
             }
             else
             {
                 throw new Exception(response.ReasonPhrase);
             }
         }
     }
 }
Example #8
0
        private async Task <string> GetFromComosWeb(string url, string sessionId, string serverName)
        {
            using (var handler = NtlmHttpHandlerFactory.Create())
            {
                AddSession(handler, sessionId, serverName);
                using (var comosHttpClient = new ComosHttp(handler))
                {
                    Uri myCookieUri = new Uri(serverName);
                    handler.CookieContainer.Add(myCookieUri, new Cookie("XSRF-TOKEN", XsrfToken));
                    comosHttpClient.DefaultRequestHeaders.Add("X-XSRF-TOKEN", XsrfToken);
                    var response = await comosHttpClient.GetAsync(url, TokenSource.Token).ConfigureAwait(false);

                    if (response.IsSuccessStatusCode)
                    {
                        return(await response.Content.ReadAsStringAsync());
                    }
                    else
                    {
                        throw new Exception(response.ReasonPhrase);
                    }
                }
            }
        }