public ActionResult Index(string projectName, string applicationName, string clusterName, Dictionary<string, string> config)
        {
            var hostName = ApplicationConfiguration.Get("pandora_api_url");
            if (config.ContainsKey("controller"))
                return RedirectToAction("Index");

            var url = hostName + "/api/Clusters/" + projectName + "/" + applicationName + "/" + clusterName;

            var client = new RestSharp.RestClient(url);
            var request = new RestSharp.RestRequest(RestSharp.Method.PUT);
            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("Authorization", "Bearer " + User.IdToken());

            request.AddBody(JsonConvert.SerializeObject(config));

            var response = client.Execute(request);

            if (!string.IsNullOrWhiteSpace(response.ErrorMessage))
            {
                throw response.ErrorException;
            }

            return RedirectToAction("Index");
        }
        static RestSharp.IRestResponse SendMessageHttp(object reqData, string serverAddressapi)
        {
            var client  = new RestSharp.RestClient(serverAddressapi);
            var request = new RestSharp.RestRequest(RestSharp.Method.POST);

            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddBody(reqData);

            var queryResult = client.Execute(request);

            return(queryResult);
        }
Example #3
1
        static RestSharp.IRestResponse SendMessageHttp(object reqData, string api)
        {
            var serverAddress = "http://localhost:10301/GameService";

            var    client  = new RestSharp.RestClient(serverAddress);
            string RestAPI = string.Format("{0}", api);

            var request = new RestSharp.RestRequest(RestAPI, RestSharp.Method.POST);

            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddBody(reqData);

            var queryResult = client.Execute(request);

            return(queryResult);
        }
Example #4
0
        private static AppBundleResponse UpdateAppBundle(string token, string appId)
        {
            Console.WriteLine($"Updating app {appId}.");

            var request = new RestSharp.RestRequest($"/appbundles/{appId}/versions", RestSharp.Method.POST);

            request.AddHeader("Authorization", $"Bearer {token}");
            request.AddHeader("Content-Type", "application/json");
            request.RequestFormat = RestSharp.DataFormat.Json;
            var body = new NewAppBundleRequest()
            {
                Id          = null,
                Engine      = "Autodesk.Revit+2019",
                Description = "Convert Hypar Models to Revit."
            };

            request.AddBody(body);
            var response = _client.Execute(request);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception($"There was an error creating a new app bundle: {response.StatusCode} - {response.Content}");
            }
            var newVersionResponse = JsonConvert.DeserializeObject <AppBundleResponse>(response.Content);

            return(newVersionResponse);
        }
Example #5
0
        private static void UpdateUserAccess(User user, string projectName, string applicationName, string cluster, Access access)
        {
            user.Access.AddRule(new AccessRules
            {
                Project = projectName,
                Application = applicationName,
                Cluster = cluster,
                Access = access
            });

            var hostName = ApplicationConfiguration.Get("pandora_api_url");
            var url = hostName + "/api/Users/" + ClaimsPrincipal.Current.Id();

            var restClient = new RestSharp.RestClient(url);

            var editRequest = new RestSharp.RestRequest();
            editRequest.Method = RestSharp.Method.PUT;
            editRequest.RequestFormat = RestSharp.DataFormat.Json;
            editRequest.AddHeader("Content-Type", "application/json;charset=utf-8");
            editRequest.AddHeader("Authorization", "Bearer " + ClaimsPrincipal.Current.IdToken());

            editRequest.AddBody(user);

            var editResult = restClient.Execute(editRequest);
        }
Example #6
0
        private static void CreateNickname(string nickname, string token)
        {
            Console.WriteLine($"Getting the existing app nickname.");
            var request = new RestSharp.RestRequest("/forgeapps/me", RestSharp.Method.GET);

            request.AddHeader("Authorization", $"Bearer {token}");
            var response = _client.Execute(request);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                Console.WriteLine($"The forge app has the nickname: {response.Content}");
            }

            Console.WriteLine($"Creating the nickname '{nickname}'.");

            request = new RestSharp.RestRequest("/forgeapps/me", RestSharp.Method.PATCH);
            request.AddHeader("Authorization", $"Bearer {token}");
            request.AddHeader("Content-Type", "application/json");
            var body = new Dictionary <string, string>()
            {
                { "nickname", nickname }
            };

            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddBody(body);
            response = _client.Execute(request);
            if (response.StatusCode == HttpStatusCode.NoContent)
            {
                Console.WriteLine("Nickname successfully updated.");
            }
            else
            {
                throw new Exception($"There was an error creating the nickname: {response.StatusCode} - {response.Content}");
            }
        }
        public ActionResult Index(string projectName, string applicationName, string clusterName)
        {
            var hostName = ApplicationConfiguration.Get("pandora_api_url");
            var newCluster = new Elders.Pandora.Box.Cluster(clusterName, new Dictionary<string, string>());

            var url = hostName + "/api/Clusters/" + projectName + "/" + applicationName + "/" + clusterName;

            var client = new RestSharp.RestClient(url);
            var request = new RestSharp.RestRequest(RestSharp.Method.POST);
            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("Authorization", "Bearer " + User.IdToken());
            request.AddBody(JsonConvert.SerializeObject(new Dictionary<string, string>()));

            var response = client.Execute(request);

            if (!string.IsNullOrWhiteSpace(response.ErrorMessage))
            {
                throw response.ErrorException;
            }

            Elders.Pandora.Server.UI.ViewModels.User.GiveAccess(User, projectName, applicationName, clusterName, Access.WriteAccess);

            var config = GetConfig(projectName, applicationName);
            config.Clusters.Add(new Configuration.ClusterDTO(new Cluster(newCluster.Name, Access.WriteAccess), newCluster.AsDictionary()));

            return View(config);
        }
Example #8
0
        protected override void WriteAll()
        {
            var client = new RestSharp.RestClient();

            if (AggreateSubmissions)
            {
                var request = new RestSharp.RestRequest(this.EndPoint, this.Method);
                request.AddBody(this.Buffer);
                client.ExecuteAsync(request, (res, req) => {
                    //se non c'è stato alcun errore, svuota il buffer
                    if (res.ErrorException == null)
                    {
                        this.ClearBuffer();
                    }
                });
            }
            else
            {
                foreach (var item in this.Buffer)
                {
                    var request = new RestSharp.RestRequest(this.EndPoint, this.Method);
                    request.AddBody(item);
                    client.ExecuteAsync(request, (res, req) =>
                    {
                        //se non c'è stato alcun errore, toglie l'elemento dal buffer
                        if (res.ErrorException == null)
                        {
                            this.Buffer.Remove(item);
                        }
                    });
                }
            }
        }
Example #9
0
        private static void CreateNewActivityAlias(string token, string activityId, string activityAlias, int version)
        {
            Console.WriteLine($"Creating new activity alias for activity, {activityId}.");

            var request = new RestSharp.RestRequest($"/activities/{activityId}/aliases", RestSharp.Method.POST);

            request.AddHeader("Authorization", $"Bearer {token}");
            request.AddHeader("Content-Type", "application/json");
            request.RequestFormat = RestSharp.DataFormat.Json;
            var data = new Dictionary <string, object>()
            {
                { "version", 1 },
                { "id", activityAlias }
            };

            request.AddBody(data);
            var response = _client.Execute(request);

            if (response.StatusCode == HttpStatusCode.Conflict)
            {
                Console.WriteLine($"The alias, {activityAlias}, already exists.");
            }
            else if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception($"There was an error creating the activity alias: {response.StatusCode} - {response.Content}");
            }
        }
Example #10
0
        public static void sendException(Exception exception)
        {
            BusinessLogic.ApplicationLog appLog = new BusinessLogic.ApplicationLog();
            appLog.log_date         = DateTime.Now.ToLongTimeString();
            appLog.log_level        = "Error";
            appLog.log_logger       = "REST SERVICE";
            appLog.log_message      = exception.Message;
            appLog.log_machine_name = System.Environment.MachineName;
            appLog.log_user_name    = "WPF TechDashboard";
            appLog.log_call_site    = App.Database.GetApplicationSettings().SDataUrl;  // we're going to use their SDATA root
            appLog.log_thread       = "";
            appLog.log_stacktrace   = exception.StackTrace;

            var client  = new RestSharp.RestClient("http://50.200.65.158/tdwsnew/tdwsnew.svc/i/ApplicationLog"); //hard coded to get it back to us
            var request = new RestSharp.RestRequest(RestSharp.Method.POST);

            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddBody(appLog);

            try
            {
                var response = client.Execute(request) as RestSharp.RestResponse;
            }
            catch (Exception restException)
            {
                // can't do much
            }
        }
Example #11
0
        protected RestSharp.IRestResponse Delete(string url, string body, List<Header> headers)
        {
            if (headers == null) headers = new List<Header>();

            RestSharp.IRestClient client = new RestSharp.RestClient(Root);
            RestSharp.IRestRequest request = new RestSharp.RestRequest(url, RestSharp.Method.DELETE);
            foreach (var header in headers)
            {
                request.AddParameter(header.Name, header.Value, RestSharp.ParameterType.HttpHeader);
            }
            request.AddBody(body);
            request.RequestFormat = RestSharp.DataFormat.Json;
            var response = client.Execute(request);
            return response;
        }
        /// <summary>
        /// jogosultság ellenörzés
        /// 
        /// 1. megvizsgálja, hogy kell-e jogosultságot ellenőrizni
        /// 2. ha kell, akkor megvizsgálja a paraméter attribútum tömböt,
        ///     ha nincs eleme, akkor visszatér false-al
        ///     ha van eleme, akkor a bejelentkezett felhasználóhoz kiolvasásra kerülnek a beállított jogosultságok
        ///     ha a felhasynaloi jogosultsagnak és a kontroller (kontroller action)-nek van metszete, akkor true-val, 
        ///     ha nincs, akkor false-val tér vissza 
        /// <param name="httpContext"></param>
        /// <returns>ha a jogosultság megfelelő, akkor true-val tér vissza, egyébként false-al</returns>
        protected override bool AuthorizeCore(System.Web.HttpContextBase httpContext)
        {
            if (httpContext == null)
            {
                throw new ArgumentNullException("httpContext");
            }

            if (!_authorize) { return true; }

            List<string> groupList = UserGroups != null ? UserGroups.Split(';').ToList() : new List<string>();

            if (groupList.Count.Equals(0))
            {
                return false;
            }

            //olvasás sütiből
            string cookieName = CompanyGroup.Helpers.ConfigSettingsParser.GetString("CookieName", "companygroup");

            System.Web.HttpCookie cookie = httpContext.Request.Cookies.Get(cookieName); 

            if (cookie == null || String.IsNullOrWhiteSpace(cookie.Value))
            {
                return false;
            }

            //szervizhívás, ami kiolvassa a felhasználóhoz tartozó jogosultságokat

            string ServiceBaseUrl = CompanyGroup.Helpers.ConfigSettingsParser.GetString("ServiceBaseUrl", "http://1Juhasza/CompanyGroup.ServicesHost/{0}.svc/");

            RestSharp.RestClient client = new RestSharp.RestClient(String.Format(ServiceBaseUrl, "VisitorService"));

            RestSharp.RestRequest request = new RestSharp.RestRequest(RestSharp.Method.POST);

            request.RequestFormat = RestSharp.DataFormat.Json;

            request.Resource = "GetRoles"; 

            request.AddBody(new { ObjectId = cookie.Value, DataAreaId = CompanyGroup.Helpers.ConfigSettingsParser.GetString("DataAreaId", "hrp") }); 

            RestSharp.RestResponse<List<string>> response = client.Execute<List<string>>(request);

            List<string> roles =  response.Data;

            return groupList.Intersect(roles).Count() > 0;
        }
        // dch rkl 12/07/2016 add the call/sub/proc to log
        //public void sendException(Exception exception)
        public void sendException(Exception exception, string thread)
        {
            // dch rkl 12/07/2016 only log error if there is a connection
            // TODO - may want to log errors locally, and send over in Sync when connected
            TechDashboardDatabase oDB = new TechDashboardDatabase();
            bool bHasConnection       = oDB.HasDataConnection();

            if (bHasConnection)
            {
                BusinessLogic.ApplicationLog appLog = new BusinessLogic.ApplicationLog();
                appLog.log_date         = DateTime.Now.ToLongTimeString();
                appLog.log_level        = "Error";
                appLog.log_logger       = "REST SERVICE";
                appLog.log_message      = exception.Message;
                appLog.log_machine_name = System.Environment.MachineName;
                appLog.log_user_name    = "WPF TechDashboard";
                appLog.log_call_site    = App.Database.GetApplicationSettings().SDataUrl;  // we're going to use their SDATA root

                // dch rkl 12/07/2016 add the call/sub/proc to log
                //appLog.log_thread = "";
                appLog.log_thread = thread;

                appLog.log_stacktrace = exception.StackTrace;

                // dch rkl 12/07/2016 change to new API
                //var client = new RestSharp.RestClient("http://50.200.65.158/tdwsnew/tdwsnew.svc/i/ApplicationLog"); //hard coded to get it back to us
                var client = new RestSharp.RestClient("http://50.200.65.158/techdashboardapi/v1-6/i/ApplicationLog"); //hard coded to get it back to us

                var request = new RestSharp.RestRequest(RestSharp.Method.POST);
                request.RequestFormat = RestSharp.DataFormat.Json;
                request.AddBody(appLog);

                try
                {
                    var response = client.Execute(request) as RestSharp.RestResponse;
                }
                catch (Exception restException)
                {
                    // can't do much
                }
            }
        }
Example #14
0
        public static string Post(string apiBaseUri, string requestUrl, object data = null)
        {
            var restClient = new RestSharp.RestClient(apiBaseUri);
            var request    = new RestSharp.RestRequest(requestUrl, RestSharp.Method.POST);

            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddBody(data);

            // 追加登录Cookie
            //var cookie = FormsAuthentication.GetAuthCookie(User.Identity.Name, true);
            //request.AddCookie(FormsAuthentication.FormsCookieName, cookie.Value);
            request.Timeout = 60000;
            var response = restClient.Execute(request);

            if (response.ResponseStatus != RestSharp.ResponseStatus.Completed)
            {
                LogWriter.Info(string.Format("StatusCode:{0},ResponseStatus:{1},ErrorMessage:{2},apiBaseUri:{3},requestUrl:{4}",
                                             response.StatusCode, response.ResponseStatus, response.ErrorMessage, apiBaseUri, requestUrl));
            }
            return(response.Content);
        }
Example #15
0
        private static void UpdateAppAlias(int version, string appId, string alias, string token)
        {
            Console.WriteLine($"Updating the alias, {alias}, for app bundle, {appId}, version {version}.");
            var request = new RestSharp.RestRequest($"/appbundles/{appId}/aliases/{alias}", RestSharp.Method.PATCH);

            request.AddHeader("Authorization", $"Bearer {token}");
            request.AddHeader("Content-Type", "application/json");
            var data = new Dictionary <string, object>()
            {
                { "version", version },
            };

            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddBody(data);
            var response = _client.Execute(request);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new Exception($"There was an error updating the app alias: {response.StatusCode} - {response.Content}");
            }
        }
        public List <SiteIISLog> GetDataByRestSharpFrom(Insurance insurance)
        {
            var apiUrl = $"{insurance.ServerUrl}/api/SiteInfo/GetAllIISLogsAfter/";

            //var requestResult = RestClientHelper.Get<object, List<SiteIISLog>>(apiUrl, new { dateTime = insurance.LastDataGatheringDateTime });

            var client  = new RestSharp.RestClient(insurance.ServerUrl);
            var request = new RestSharp.RestRequest("/api/SiteInfo/GetAllIISLogsAfter/", RestSharp.Method.GET);

            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddBody(new { dateTime = insurance.LastDataGatheringDateTime });
            var requestResult = client.Execute(request);



            if (requestResult.StatusCode == HttpStatusCode.OK)
            {
                return(JsonConvert.DeserializeObject <List <SiteIISLog> >(requestResult.Content));
            }

            return(null);
        }
Example #17
0
        private static void CreateOrUpdateAppBundle(string token, string appId, string alias, string bundleZipPath, string engine)
        {
            Console.WriteLine("Attempting to create the app.");

            var request = new RestSharp.RestRequest("/appbundles", RestSharp.Method.POST);

            request.AddHeader("Authorization", $"Bearer {token}");
            request.AddHeader("Content-Type", "application/json");
            var body = new NewAppBundleRequest()
            {
                Id          = appId,
                Engine      = engine,
                Description = "Convert Hypar Models to Revit."
            };

            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddBody(body);
            var response = _client.Execute(request);
            AppBundleResponse appBundleResponse;

            if (response.StatusCode == HttpStatusCode.Conflict)
            {
                Console.WriteLine("App already exists, updating.");

                appBundleResponse = UpdateAppBundle(token, appId);
                UploadAppBundle(appBundleResponse.UploadParameters, bundleZipPath);
            }
            else if (response.StatusCode == HttpStatusCode.Created || response.StatusCode == HttpStatusCode.OK)
            {
                appBundleResponse = JsonConvert.DeserializeObject <AppBundleResponse>(response.Content);
                UploadAppBundle(appBundleResponse.UploadParameters, bundleZipPath);
            }
            else
            {
                throw new Exception($"There was an error creating a new app bundle: {response.StatusCode} - {response.Content}");
            }
            UpdateOrCreateAlias(appBundleResponse.Version, appId, alias, token);
        }
Example #18
0
        private static void UpdateUserAccess(User user, string projectName, string applicationName, string cluster, Access access)
        {
            user.Access.AddRule(new AccessRules()
            {
                Project = projectName, Application = applicationName, Cluster = cluster, Access = access
            });

            var hostName = ApplicationConfiguration.Get("pandora_api_url");
            var url      = hostName + "/api/Users/" + ClaimsPrincipal.Current.Id();

            var restClient = new RestSharp.RestClient(url);

            var editRequest = new RestSharp.RestRequest();

            editRequest.Method        = RestSharp.Method.PUT;
            editRequest.RequestFormat = RestSharp.DataFormat.Json;
            editRequest.AddHeader("Content-Type", "application/json;charset=utf-8");
            editRequest.AddHeader("Authorization", "Bearer " + ClaimsPrincipal.Current.Token());

            editRequest.AddBody(user);

            var editResult = restClient.Execute(editRequest);
        }
Example #19
0
 /// <summary>
 /// Exectute a REST Request
 /// </summary>
 /// <param name="path">Api path</param>
 /// <param name="method">Request Method</param>
 /// <param name="token">Optional: Token</param>
 /// <param name="body">Optional: Body object</param>
 /// <returns>Json Dictionary</returns>
 public SimpleJson.JsonObject ExecuteRequest(string path, RestSharp.Method method, object body = null)
 {
     try
     {
         string restpath = (path.StartsWith(BaseUri)) ? path : String.Format("{0}{1}", BaseUri, path);
         var    request  = new RestSharp.RestRequest(restpath, method);
         request.AddHeader("X-TP-APPLICATION-CODE", AppKey);
         request.AddHeader("Content-Type", "application/json");
         if (this.Token != string.Empty)
         {
             request.AddHeader("Authorization", String.Format("Bearer {0}", this.Token));
         }
         request.RequestFormat = RestSharp.DataFormat.Json;
         if (body != null)
         {
             request.AddBody(body);
         }
         request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };
         var response = RClient.Execute(request);
         return(SimpleJson.SimpleJson.DeserializeObject(response.Content) as SimpleJson.JsonObject);
     }
     catch (Exception e) { throw e; }
 }
Example #20
0
        private string Post(string apiBaseUri, string requestUrl, object data = null)
        {
            var restClient = new RestSharp.RestClient(apiBaseUri);
            var request    = new RestSharp.RestRequest(requestUrl, RestSharp.Method.POST);

            request.RequestFormat = RestSharp.DataFormat.Json;
            //if (data != null)
            //{
            //    foreach (var key in data.Keys)
            //    {
            //        request.AddParameter(key, data[key]);
            //    }
            //}
            request.AddBody(data);

            // 追加登录Cookie
            var cookie = FormsAuthentication.GetAuthCookie(User.Identity.Name, true);

            request.AddCookie(FormsAuthentication.FormsCookieName, cookie.Value);
            request.Timeout = 36000;
            var response = restClient.Execute(request);

            return(response.Content);
        }
        //[ResourceAuthorize(Resources.Actions.Manage, Resources.Users)]
        public ActionResult Edit(string userId, AccessRules[] access)
        {
            var hostName = ApplicationConfiguration.Get("pandora_api_url");
            var url = hostName + "/api/Users/" + userId;

            var restClient = new RestSharp.RestClient(url);

            var request = new RestSharp.RestRequest();
            request.Method = RestSharp.Method.PUT;
            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddHeader("Content-Type", "application/json;charset=utf-8");
            request.AddHeader("Authorization", "Bearer " + User.IdToken());

            var securityAccess = new SecurityAccess();

            if (access == null)
                access = new AccessRules[] { };

            foreach (var rule in access)
            {
                securityAccess.AddRule(rule);
            }

            var user = GetUser(userId);

            user.Access = securityAccess;

            request.AddBody(user);

            var result = restClient.Execute(request);

            if (result.StatusCode == System.Net.HttpStatusCode.OK)
            {
                var identity = (User.Identity as ClaimsIdentity);
                var role = identity.Claims.SingleOrDefault(x => x.Type == "SecurityAccess");

                if (role != null)
                    identity.RemoveClaim(role);

                identity.AddClaim(new Claim("SecurityAccess", JsonConvert.SerializeObject(securityAccess, Formatting.Indented)));
            }

            return RedirectToAction("Edit");
        }
        public ActionResult Applications(string projectName, string applicationName, string fileName, string config)
        {
            var hostName = ApplicationConfiguration.Get("pandora_api_url");
            var url = hostName + "/api/Jars/" + projectName + "/" + applicationName + "/" + fileName;

            var client = new RestSharp.RestClient(url);
            var request = new RestSharp.RestRequest(RestSharp.Method.POST);
            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("Authorization", "Bearer " + User.IdToken());

            if (!string.IsNullOrWhiteSpace(config))
            {
                try
                {
                    var jar = JsonConvert.DeserializeObject<Jar>(config);
                    var box = Box.Box.Mistranslate(jar);
                }
                catch (Exception)
                {
                    var jar = new Jar();
                    jar.Name = applicationName;

                    config = JsonConvert.SerializeObject(jar);
                }
            }
            else
            {
                var jar = new Jar();
                jar.Name = applicationName;

                config = JsonConvert.SerializeObject(jar);
            }

            request.AddBody(config);

            var response = client.Execute(request);

            Elders.Pandora.Server.UI.ViewModels.User.GiveAccess(User, projectName, applicationName, "Defaults", Access.WriteAccess);

            return Redirect("/Projects/" + projectName + "/" + applicationName + "/Clusters");
        }
Example #23
0
        private RestSharp.IRestRequest BuildRestSharpRequest(RestRequest restRequest)
        {
            var restSharpRequest = new RestSharp.RestRequest(restRequest.Resource);

            restSharpRequest.Method        = (RestSharp.Method)Enum.Parse(typeof(RestSharp.Method), restRequest.Method.ToString());
            restSharpRequest.RequestFormat = (RestSharp.DataFormat)Enum.Parse(typeof(RestSharp.DataFormat), restRequest.RequestFormat.ToString());
            restSharpRequest.DateFormat    = restRequest.DateFormat;

            //added by philip to force timeout within 15 seconds for connect
            restSharpRequest.Timeout = 15000;

            //TODO: solve this mapping
            //restSharpRequest.Credentials = restRequest.Credentials;

            if (restRequest.Body != null)
            {
                restSharpRequest.AddBody(restRequest.Body);
            }

            foreach (var item in restRequest.Cookies)
            {
                restSharpRequest.AddCookie(item.Key, item.Value);
            }

            foreach (var item in restRequest.Files)
            {
                if (!string.IsNullOrEmpty(item.Path))
                {
                    restSharpRequest.AddFile(item.Name, item.Path);
                }
                else
                {
                    if (String.IsNullOrEmpty(item.ContentType))
                    {
                        restSharpRequest.AddFile(item.Name, item.Bytes, item.FileName);
                    }
                    else
                    {
                        restSharpRequest.AddFile(item.Name, item.Bytes, item.FileName, item.ContentType);
                    }
                }
            }

            foreach (var item in restRequest.Headers)
            {
                restSharpRequest.AddHeader(item.Key, item.Value);
            }

            foreach (var item in restRequest.UrlSegments)
            {
                restSharpRequest.AddUrlSegment(item.Key, item.Value);
            }

            foreach (var item in restRequest.Objects)
            {
                restSharpRequest.AddObject(item.Key, item.Value);
            }



            foreach (var item in restRequest.Parameters)
            {
                RestSharp.ParameterType t = (RestSharp.ParameterType)Enum.Parse(typeof(RestSharp.ParameterType), item.Type.ToString());

                restSharpRequest.AddParameter(
                    item.Name,
                    item.Value,
                    t
                    );
            }


            return(restSharpRequest);
        }
Example #24
0
        private void CreateUser(User user, string token)
        {
            var hostName = ApplicationConfiguration.Get("pandora_api_url");
            var url = hostName + "/api/Users/" + user.Id;

            var restClient = new RestSharp.RestClient(url);

            var request = new RestSharp.RestRequest();
            request.Method = RestSharp.Method.POST;
            request.RequestFormat = RestSharp.DataFormat.Json;
            request.AddHeader("Content-Type", "application/json;charset=utf-8");
            request.AddHeader("Authorization", "Bearer " + token);

            request.AddBody(user);

            restClient.Execute(request);
        }