Example #1
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 #2
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 #3
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);
                    }
                }
            }
        }