Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        public void Fill(string controllerName, string action,
                         IPEndPoint localEndPoint, IPEndPoint remoteEndPoint, List <RequestParameter> parameters)
        {
            if (Controller != null)
            {
                throw new Exception("It is not possible to apply changes to a requisition after it has been created.");
            }

            RequestBody mockBody = new RequestBody();

            mockBody.Action     = action;
            mockBody.Controller = controllerName;
            mockBody.Parameters = parameters;

            Controller = controllerManager.InstantiateController(controllerName, mockBody);
            Action     = action;

            this.requestParameters = parameters;
            LocalEndPoint          = localEndPoint;
            RemoteEndPoint         = remoteEndPoint;
        }