コード例 #1
0
        /// <summary>
        /// Process request query
        /// </summary>
        /// <param name="jsonData"></param>
        /// <returns></returns>
        IEnumerator ProcessQuery <T>(string jsonData, Action <bool, BackResponse <T> > callback)
        {
            Debug.Log(jsonData);
            if (backConfig == null)
            {
                backConfig = Resources.Load <BackConfiguration>("BackConfig");
            }
            if (backConfig == null)
            {
                Debug.LogError("Cannot find BackConfiguration object, please try import package again.");
                yield break;
            }
            if (string.IsNullOrEmpty(backConfig.appSecret))
            {
                Debug.LogError("You must input a valid App Secret to BackConfig object in BackEngine/Resources folder.");
                yield break;
            }
            using (UnityWebRequest request = UnityWebRequest.Put(backConfig.getEndPoint() + "/dynamic", jsonData))
            {
                request.method = "POST";
                request.SetRequestHeader("Content-Type", "application/json");
                request.SetRequestHeader("Secret", "Bearer " + backConfig.appSecret);
                if (!string.IsNullOrEmpty(token))
                {
                    request.SetRequestHeader("Authorization", "Bearer " + token);
                }
                yield return(request.SendWebRequest());

                BackResponse <T> backResponse;
                if (request.isNetworkError)
                {
                    backResponse         = new BackResponse <T>();
                    backResponse.isError = true;
                    backResponse.message = request.error;
                    Debug.Log(request.error);
                }
                else if (request.isHttpError)
                {
                    backResponse         = new BackResponse <T>();
                    backResponse.isError = true;
                    backResponse.message = string.IsNullOrEmpty(request.downloadHandler.text) ? request.error : request.downloadHandler.text;
                    Debug.Log(backResponse.message);
                }
                else
                {
                    Debug.Log(request.downloadHandler.text);
                    backResponse = request.downloadHandler.text.ToObject <BackResponse <T> >();
                    if (!string.IsNullOrEmpty(backResponse.token))
                    {
                        token = backResponse.token;
                    }
                }
                callback?.Invoke(backResponse.isError, backResponse);
            }
        }
コード例 #2
0
ファイル: VmController.cs プロジェクト: din000111/easyadmin
        public async Task <ActionResult <BackResponse> > UpdateVm(Vm vm)
        {
            var backResponse = new BackResponse();

            if (!ModelState.IsValid)
            {
                backResponse.Status = "Model state no valid";
                return(BadRequest(backResponse));
            }
            if (vm?.Adapter == null)
            {
                backResponse.Status = "Vm adapter is null";
                return(BadRequest(backResponse));
            }

            Adapter adapter = await _context.Adapters.Where(x => x.IsOK)
                              .Include(c => c.Credentials)
                              .Include(p => p.Provider)
                              .Where(a => a.Id == vm.Adapter.Id)
                              .SingleOrDefaultAsync();

            ServicesResponse servicesResponse;

            switch (adapter.Provider.Name.ToLower())
            {
            case "ovirt":
                servicesResponse = await VmService.UpdateVm(adapter, vm);

                if (!servicesResponse.isSuccess)
                {
                    backResponse.IsSuccess  = false;
                    backResponse.Status     = servicesResponse.errorMessage;
                    backResponse.StatusCode = servicesResponse.errorCode;
                }
                else
                {
                    backResponse.IsSuccess = true;
                }
                break;
            }
            return(Ok(backResponse));
        }