Cuke4Nuke.Core.Processor.Process C# (CSharp) Method

Process() public method

public Process ( string request ) : string
request string
return string
        public string Process(string request)
        {
            try
            {
                JArray requestObject = JArray.Parse(request);
                var command = requestObject[0].Value<string>();
                switch (command)
                {
                    case "begin_scenario":
                        _objectFactory.CreateObjects();
                        var scenarioTags = GetScenarioTags(requestObject);
                        _repository.BeforeHooks.ForEach(hook => hook.Invoke(_objectFactory, scenarioTags));
                        return SuccessResponse();
                    case "end_scenario":
                        _repository.AfterHooks.ForEach(hook => hook.Invoke(_objectFactory, GetScenarioTags(requestObject)));
                        _objectFactory.DisposeObjects();
                        return SuccessResponse();
                    case "step_matches":
                        var nameToMatch = ((JObject) requestObject[1])["name_to_match"].Value<string>();
                        return StepMatches(nameToMatch);
                    case "snippet_text":
                        var keyword = ((JObject) requestObject[1])["step_keyword"].Value<string>().Trim();
                        var stepName = ((JObject) requestObject[1])["step_name"].Value<string>();
                        var multilineArgClass = ((JObject) requestObject[1])["multiline_arg_class"].Value<string>();
                        return SnippetResponse(keyword, stepName, multilineArgClass);
                    case "invoke":
                        var jsonArgs = (JArray) ((JObject) requestObject[1])["args"];
                        return Invoke(requestObject[1]["id"].Value<string>(), ToStringArray(jsonArgs));
                    default:
                        return FailResponse("Invalid request '" + request + "'");
                }
            }
            catch (Exception x)
            {
                log.Error("Unable to process request '" + request + "': " + x.Message);
                return FailResponse(x);
            }
        }