public async Task <IActionResult> Execute([FromBody] ExecuteScriptRequest request) { PrepareCommandArguments(request); try { var result = await _commandExecutor.ExecuteAsync(); ExecuteScriptResponse response = new ExecuteScriptResponse { Logs = await GetLogs() }; switch (result) { case 0: return(Ok(response)); } throw new HttpError(HttpStatusCode.InternalServerError, result.ToString()) { Logs = await GetLogs() }; } catch (BuildScriptLocatorException e) { throw new HttpError(HttpStatusCode.BadRequest, ErrorCodes.ScriptNotFound, e.Message); } catch (TargetNotFoundException e) { throw new HttpError(HttpStatusCode.BadRequest, ErrorCodes.TargetNotFound, e.Message); } }
public async Task <IActionResult> Execute([FromBody] ExecuteScriptRequest request) { PrepareCommandArguments(request); try { var version = Assembly.GetEntryAssembly().GetCustomAttribute <AssemblyFileVersionAttribute>().Version; _logger.LogInformation($"Flubu v.{version}"); var result = await _commandExecutor.ExecuteAsync(); ExecuteScriptResponse response = new ExecuteScriptResponse { Logs = await GetLogs() }; switch (result) { case 0: return(Ok(response)); } throw new HttpError(HttpStatusCode.InternalServerError, result.ToString()) { Logs = await GetLogs() }; } catch (BuildScriptLocatorException e) { throw new HttpError(HttpStatusCode.BadRequest, ErrorCodes.ScriptNotFound, e.Message); } catch (TargetNotFoundException e) { throw new HttpError(HttpStatusCode.BadRequest, ErrorCodes.TargetNotFound, e.Message); } }
public static ExecuteScriptResponse Unmarshall(UnmarshallerContext _ctx) { ExecuteScriptResponse executeScriptResponse = new ExecuteScriptResponse(); executeScriptResponse.HttpResponse = _ctx.HttpResponse; executeScriptResponse.RequestId = _ctx.StringValue("ExecuteScript.RequestId"); executeScriptResponse.ErrorCode = _ctx.StringValue("ExecuteScript.ErrorCode"); executeScriptResponse.ErrorMessage = _ctx.StringValue("ExecuteScript.ErrorMessage"); executeScriptResponse.Success = _ctx.BooleanValue("ExecuteScript.Success"); List <ExecuteScriptResponse.ExecuteScript_Result> executeScriptResponse_results = new List <ExecuteScriptResponse.ExecuteScript_Result>(); for (int i = 0; i < _ctx.Length("ExecuteScript.Results.Length"); i++) { ExecuteScriptResponse.ExecuteScript_Result result = new ExecuteScriptResponse.ExecuteScript_Result(); result.Success = _ctx.BooleanValue("ExecuteScript.Results[" + i + "].Success"); result.Message = _ctx.StringValue("ExecuteScript.Results[" + i + "].Message"); result.RowCount = _ctx.LongValue("ExecuteScript.Results[" + i + "].RowCount"); List <string> result_columnNames = new List <string>(); for (int j = 0; j < _ctx.Length("ExecuteScript.Results[" + i + "].ColumnNames.Length"); j++) { result_columnNames.Add(_ctx.StringValue("ExecuteScript.Results[" + i + "].ColumnNames[" + j + "]")); } result.ColumnNames = result_columnNames; List <Dictionary <string, string> > result_rows = new List <Dictionary <string, string> >(); for (int j = 0; j < _ctx.Length("ExecuteScript.Results[" + i + "].Rows.Length"); j++) { Dictionary <string, string> tmp = new Dictionary <string, string>() { }; foreach (var _item in _ctx.ResponseDictionary) { string prefix = "ExecuteScript.Results[" + i + "].Rows[" + j + "]."; if (_item.Key.IndexOf(prefix) == 0) { tmp.Add(_item.Key.Substring(prefix.Length), _item.Value); } } if (tmp.Count > 0) { result_rows.Add(tmp); } } result.Rows = result_rows; executeScriptResponse_results.Add(result); } executeScriptResponse.Results = executeScriptResponse_results; return(executeScriptResponse); }
public async Task <ExecuteScriptResponse> Evaluate(ExecuteScriptRequest request) { var result = new ExecuteScriptResponse(); try { var response = await Evaluate(request.Script ?? string.Empty); result.Result = response != null?SerializeObject(response, 2) : "Ok"; } catch (Exception ex) { result.Exception = ex.ToString(); } return(result); }