/// <summary> /// Create a new <see cref="IClientHttpRequest"/> for the specified URI and HTTP method. /// </summary> /// <param name="uri">The URI to create a request for.</param> /// <param name="method">The HTTP method to execute.</param> /// <returns>The created request</returns> public IClientHttpRequest CreateRequest(Uri uri, HttpMethod method) { RequestCreation requestCreation = new RequestCreation(uri, method, this.targetRequestFactory, this.interceptors); IClientHttpRequest request = requestCreation.Create(); return(new InterceptingClientHttpRequest(request, this.interceptors)); }
public bool ChangeConctact(ContactViewModel contact) { var isSuccess = false; var jsonDateSettings = new JsonSerializerSettings { DateFormatString = "yyyy-MM-ddTHH:mm:ss.ffffffZ" }; var contactData = @"{ ""Name"":""" + contact.Name + @""", ""Dear"":""" + contact.Dear + @""", ""JobTitle"":""" + contact.JobTitle + @""", ""MobilePhone"":""" + contact.MobilePhone + @""", ""BirthDate"":" + JsonConvert.SerializeObject(contact.BirthDate, jsonDateSettings) + @" }"; var request = RequestCreation.CreateRequest(url: $"https://cto-creatio.beesender.com/0/odata/Contact({contact.Id})", method: "PATCH", contentType: "application/json", isKeepAlive: true, requestData: contactData, cookies: _authCookie ); AddCsrfToken(request); using (var response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode == HttpStatusCode.OK) { isSuccess = true; } } return(isSuccess); }
public ContactViewModel GetContact(string id) { var request = RequestCreation.CreateRequest(url: $"https://cto-creatio.beesender.com/0/odata/Contact({id})", method: "GET", contentType: "application/json", isKeepAlive: true, requestData: null, cookies: _authCookie ); AddCsrfToken(request); var contact = new ContactViewModel(); using (var response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode == HttpStatusCode.OK) { using (var reader = new StreamReader(response.GetResponseStream())) { var responseMessage = reader.ReadToEnd(); var jsonContact = JsonConvert.DeserializeObject <Contact>(responseMessage); contact.Name = jsonContact.Name; contact.Id = jsonContact.Id; contact.JobTitle = jsonContact.JobTitle; contact.MobilePhone = jsonContact.MobilePhone; contact.Dear = jsonContact.Dear; contact.BirthDate = DateTime.Parse(jsonContact.BirthDate); } } } return(contact); }
public CookieContainer TryLogin() { var authData = @"{ ""UserName"":""" + _userName + @""", ""UserPassword"":""" + _userPassword + @""" }"; var request = RequestCreation.CreateRequest (url: _authServiceUrl, method: "POST", contentType: "application/json", isKeepAlive: true, requestData: authData, null ); _authCookie = new CookieContainer(); request.CookieContainer = _authCookie; AddCsrfToken(request); using (var response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode == HttpStatusCode.OK) { using (var reader = new StreamReader(response.GetResponseStream())) { var responseMessage = reader.ReadToEnd(); Console.WriteLine(responseMessage); if (responseMessage.Contains("\"Code\":1")) { throw new UnauthorizedAccessException($"Unauthorized {_userName} for {_appUrl}"); } } foreach (Cookie cookie in response.Cookies) { _authCookie.Add(new Uri(_appUrl), new Cookie(cookie.Name, cookie.Value)); } } } return(_authCookie); }
public List <ContactViewModel> GetContacts() { var contacts = new List <ContactViewModel>(); var request = RequestCreation.CreateRequest(url: "https://cto-creatio.beesender.com/0/odata/Contact", method: "GET", contentType: "application/json", isKeepAlive: true, requestData: null, cookies: _authCookie ); var cookie = _authCookie.GetCookies(new Uri("https://cto-creatio.beesender.com"))["BPMCSRF"]; if (cookie != null) { request.Headers.Add("BPMCSRF", cookie.Value); } using (var response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode == HttpStatusCode.OK) { using (var reader = new StreamReader(response.GetResponseStream())) { var responseMessage = reader.ReadToEnd(); var jsonObject = JsonConvert.DeserializeObject <OdataContext>(responseMessage); foreach (var jsonContact in jsonObject.Contacts) { var contact = new ContactViewModel(); contact.Name = jsonContact.Name; contact.Id = jsonContact.Id; contact.JobTitle = jsonContact.JobTitle; contact.MobilePhone = jsonContact.MobilePhone; contacts.Add(contact); } } } } return(contacts); }
public bool Delete(string id) { var isSuccess = false; var request = RequestCreation.CreateRequest(url: $"https://cto-creatio.beesender.com/0/odata/Contact({id})", method: "DELETE", contentType: null, isKeepAlive: true, requestData: null, cookies: _authCookie ); AddCsrfToken(request); using (var response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode == HttpStatusCode.OK) { isSuccess = true; } }; return(isSuccess); }
public IClientHttpRequest CreateRequest(Uri uri, HttpMethod method) { RequestCreation creation = new RequestCreation(uri, method, this.targetRequestFactory, this.interceptors); return new InterceptingClientHttpRequest(creation.Create(), this.interceptors); }
/// <summary> /// Create a new <see cref="IClientHttpRequest"/> for the specified URI and HTTP method. /// </summary> /// <param name="uri">The URI to create a request for.</param> /// <param name="method">The HTTP method to execute.</param> /// <returns>The created request</returns> public IClientHttpRequest CreateRequest(Uri uri, HttpMethod method) { RequestCreation requestCreation = new RequestCreation(uri, method, this.requestFactory, this.interceptors); IClientHttpRequest request = requestCreation.Create(); return new InterceptingClientHttpRequest(request, this.interceptors); }