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)); } } }
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); } } } }
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); } } } }