/// <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); } }
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)); }