public virtual string Delete() { RequestorResponse requestorResponse = Requestor.Delete(_url, _strUser, _strPassword, _strAuthOrganizationID); this.HandleError("Delete" + _resourceName, requestorResponse); return(requestorResponse.Content); }
public virtual string Update(TEntity entity) { RequestorResponse requestorResponse = Requestor.PutString(_url, entity, _strUser, _strPassword, _strAuthOrganizationID); this.HandleError("Update" + _resourceName, requestorResponse); return(requestorResponse.Content); }
public static RequestorResponse PutString <T>(string url, T content, string username, string password, string authOrganizationId) { string jsonString = JsonConvert.SerializeObject(content); RequestorResponse requestorResponse = GetResponse(url, "PUT", jsonString, username, password, authOrganizationId); return(requestorResponse); }
public virtual TEntity Get() { RequestorResponse requestorResponse = Requestor.Get(_url, _strUser, _strPassword, _strAuthOrganizationID); this.HandleError("Get" + _resourceName, requestorResponse); TEntity entity = Mapper <TEntity> .MapFromJson(requestorResponse.Content); return(entity); }
public virtual IEnumerable <TEntity> List() { RequestorResponse requestorResponse = Requestor.Get(_url, _strUser, _strPassword, _strAuthOrganizationID); this.HandleError("List" + _resourceName, requestorResponse); ForteListResult <TEntity> entityResults = JsonConvert.DeserializeObject <ForteListResult <TEntity> >(requestorResponse.Content); return(entityResults.results); }
protected void HandleError(string source, RequestorResponse requestorResponse) { if (requestorResponse.StatusCode.ToString("D").StartsWith("2")) { return; } ForteException forteException = new ForteException(); forteException.Source = source; forteException.HttpStatusCode = requestorResponse.StatusCode; forteException.ForteError.Message = requestorResponse.Content; forteException.ForteError.ErrorType = requestorResponse.Message; throw forteException; }
internal static RequestorResponse GetResponse(String URL, String method, string requestBody, string username, string password, string authOrganizationId) { HttpResponseMessage response; using (var client = new HttpClient()) { string authHeaderText = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", username, password))); client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", authHeaderText); client.DefaultRequestHeaders.Add("x-forte-auth-organization-id", authOrganizationId); StringContent content = new System.Net.Http.StringContent(requestBody, Encoding.UTF8, "application/json"); try { switch ((method).ToUpper()) { default: case "GET": response = client.GetAsync(URL).Result; break; case "POST": response = client.PostAsync(URL, content).Result; break; case "PUT": response = client.PutAsync(URL, content).Result; break; case "DELETE": response = client.DeleteAsync(URL).Result; break; } } catch (AggregateException webException) { if (webException.Data != null) { var forteError = new ForteError(); forteError.ErrorType = "AggregateException"; forteError.Message = webException.InnerException.ToString(); var statusCode = HttpStatusCode.Forbidden; throw new ForteException(statusCode, forteError, forteError.Message); } throw; } catch (WebException webException) { if (webException.Response != null) { var statusCode = ((HttpWebResponse)webException.Response).StatusCode; var forteError = new ForteError(); if (webException.Response.ResponseUri.ToString().Contains("oauth")) { forteError = Mapper <ForteError> .MapFromJson(ReadStream(webException.Response.GetResponseStream())); } else { forteError = Mapper <ForteError> .MapFromJson(ReadStream(webException.Response.GetResponseStream()), "error"); } throw new ForteException(statusCode, forteError, forteError.Message); } throw; } catch (Exception ex) { throw ex; } RequestorResponse requestorResponse = new RequestorResponse(); if (response != null && response.IsSuccessStatusCode) { requestorResponse.Content = response.Content.ReadAsStringAsync().Result; requestorResponse.StatusCode = response.StatusCode; switch ((method).ToUpper()) { case "POST": requestorResponse.Message = "Record Successfully."; break; case "PUT": requestorResponse.Message = "Record Successfully Updated."; break; case "DELETE": requestorResponse.Message = "Record Successfully Deleted."; break; default: break; } return(requestorResponse); } else if (response != null && !(response.IsSuccessStatusCode)) { requestorResponse.Content = response.Content.ReadAsStringAsync().Result; requestorResponse.StatusCode = response.StatusCode; requestorResponse.Message = "#ERROR#"; return(requestorResponse); } else { requestorResponse.Content = response.Content.ReadAsStringAsync().Result; requestorResponse.Message = "#ERROR#"; return(requestorResponse); } } }
public static RequestorResponse Delete(string URL, string username, string password, string authOrganizationId) { RequestorResponse requestorResponse = GetResponse(URL, "DELETE", "", username, password, authOrganizationId); return(requestorResponse); }