protected T ExecuteForFilter <T>(RestRequest Request) where T : new() { var client = new RestClient(); client.BaseUrl = new Uri(this.BaseUrl); //client.Authenticator = new HttpBasicAuthenticator(this.Account, this.Password); Request.AddParameter("ws_key", this.Account, ParameterType.QueryString); // used on every request client.ClearHandlers(); client.AddHandler("text/xml", new PrestaSharpDeserializer()); var response = client.Execute <T>(Request); if (response.StatusCode == HttpStatusCode.InternalServerError || response.StatusCode == HttpStatusCode.ServiceUnavailable || response.StatusCode == HttpStatusCode.BadRequest || response.StatusCode == HttpStatusCode.Unauthorized || response.StatusCode == HttpStatusCode.MethodNotAllowed || response.StatusCode == HttpStatusCode.Forbidden || response.StatusCode == HttpStatusCode.NotFound || response.StatusCode == 0) { string RequestParameters = Environment.NewLine; foreach (Parameter Parameter in Request.Parameters) { RequestParameters += Parameter.Value + Environment.NewLine + Environment.NewLine; } var Exception = new PrestaSharpException(RequestParameters + response.Content, response.ErrorMessage, response.StatusCode, response.ErrorException); throw Exception; } return(response.Data); }
protected byte[] ExecuteForImage(RestRequest Request) { var client = new RestClient(); client.BaseUrl = new Uri(this.BaseUrl); //client.Authenticator = new HttpBasicAuthenticator(this.Account, this.Password); Request.AddParameter("ws_key", this.Account, ParameterType.QueryString); var response = client.Execute(Request); if (response.StatusCode == HttpStatusCode.InternalServerError || response.StatusCode == HttpStatusCode.ServiceUnavailable || response.StatusCode == HttpStatusCode.BadRequest || response.StatusCode == HttpStatusCode.Unauthorized || response.StatusCode == HttpStatusCode.MethodNotAllowed || response.StatusCode == HttpStatusCode.Forbidden || response.StatusCode == HttpStatusCode.NotFound || response.StatusCode == 0) { string RequestParameters = Environment.NewLine; foreach (RestSharp.Parameter Parameter in Request.Parameters) { RequestParameters += Parameter.Value + Environment.NewLine + Environment.NewLine; } var Exception = new PrestaSharpException(RequestParameters + response.Content, response.ErrorMessage, response.StatusCode, response.ErrorException); throw Exception; } return(response.RawBytes); }