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
        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 #3
0
        async void btnStart_Clicked(System.Object sender, System.EventArgs e)
        {
            var handler = NtlmHttpHandlerFactory.Create();

            handler.Credentials = new NetworkCredential(login.Text, password.Text, domain.Text);

            var httpClient = new HttpClient(handler);

            var response = await httpClient.GetAsync(url.Text);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                var json = await response.Content.ReadAsStringAsync();

                result.Text = json;
            }
        }
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
        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 #6
0
        public void UseLogin(string domain, string password, string username)
        {
            var m_HttpHandler = NtlmHttpHandlerFactory.Create();

            m_HttpHandler.UseCookies        = true;
            m_HttpHandler.AllowAutoRedirect = true;
            m_HttpHandler.Credentials       = new NetworkCredential()
            {
                Domain   = domain,
                Password = password,
                UserName = username
            };
            var m_Http = new HttpClient(m_HttpHandler);

            m_Http.Timeout = TimeSpan.FromMinutes(2);
            if (XComosMobile.Services.XServices.Instance.GetService <HttpClient>() != null)
            {
                XComosMobile.Services.XServices.Instance.RemoveService <HttpClient>();
            }
            XComosMobile.Services.XServices.Instance.AddService <HttpClient>(m_Http);
            FFImageLoading.ImageService.Instance.Config.HttpClient = m_Http;
        }
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);
                    }
                }
            }
        }