private SocketRequest GetRequestSocket()
        {
            if (requestBody == null)
            {
                return(null);
            }
            SocketRequest request = null;

            try
            {
                string path = requestBody.Action;
                controllerName = requestBody.Controller;
                actionName     = requestBody.Action;

                request = new SocketRequest();
                request.SetClientSocket(clientSocket);
                request.Action     = actionName;
                request.Controller = controllerManager.InstantiateController(controllerName, requestBody);

                var parameters = typedObjManager.FillParameters(requestBody.Parameters,
                                                                actionName, request.Controller);

                if (parameters != null)
                {
                    for (int i = 0; i < parameters.Count; i++)
                    {
                        request.AddParameter(parameters[i]);
                    }
                }

                if (!typedObjManager.ExistsAction(actionName, controllerName))
                {
                    throw new Exception($"Action '{actionName}' not exists in controller '{controllerName}'");
                }

                return(request);
            }
            catch (Exception ex)
            {
                logger.WriteLog(ex.Message + "\n" + ex.StackTrace, controllerName, actionName, ServerLogType.ERROR);
                request.HasErrors            = true;
                request.InternalErrorMessage = ex.Message;
                return(request);
            }
        }