/// <summary> /// Obtiene la salida de una URL /// </summary> internal static MLFile GetResponse(TwitterAccount objAccount, string strURL, ParameterDataCollection objColParameters, bool blnPost) { try { RestController objController = new RestController(); oAuthAuthenticator objAuthenticator = new oAuthAuthenticator(); RequestMessage objRequest = new RequestMessage(RequestMessage.MethodType.Get, strURL); ResponseMessage objResponse; // Asigna las propiedades al autentificador objAuthenticator.ConsumerKey = objAccount.Manager.OAuthConsumerKey; objAuthenticator.ConsumerSecret = objAccount.Manager.OAuthConsumerSecret; objAuthenticator.AccessToken = objAccount.OAuthToken; objAuthenticator.AccessTokenSecret = objAccount.OAuthTokenSecret; // Asigna el autentificador objController.Authenticator = objAuthenticator; // Asigna el método de envío if (blnPost) objRequest.Method = RequestMessage.MethodType.Post; // Asigna los parámetros if (objColParameters != null) foreach (ParameterData objParameter in objColParameters) objRequest.QueryParameters.Add(objParameter.Key, objParameter.Value); // Envía el mensaje objResponse = objController.Send(objRequest); // Devuelve el documento JSON if (objResponse.IsError) return GetError("Error en la recepción. Status: " + objResponse.ErrorDescription); else return new Bau.Libraries.LibMarkupLanguage.MLSerializer().ParseText(objResponse.Body); } catch (Exception objException) { return GetError(objException); } }
/// <summary> /// Asigna los datos del proxy /// </summary> private void AssignContext(RestController objRestController) { // Asigna el proxy objRestController.Proxy = new Libraries.LibRest.Proxies.ProxyData(txtProxyIp.Text, (int) nudProxyPort.Value, txtUserProxy.Text, txtPasswordProxy.Text, true, chkUseProxy.Enabled); // Asigna la autentificación objRestController.Authenticator = udtAuthentication.Authenticator; }
/// <summary> /// Carga los datos de contexto /// </summary> private RestController LoadContext(MLNode objMLNode) { RestController objContext = new RestController("Agent"); // Carga los datos objContext.UserAgent = objMLNode.Nodes[cnstStrTagContextUserAgent].Value; objContext.TimeOut = objMLNode.Nodes[cnstStrTagContextTimeOut].GetValue(20000); objContext.Proxy.Enabled = objMLNode.Nodes[cnstStrTagContextProxyEnabled].Value.GetBool(); objContext.Proxy.Address = objMLNode.Nodes[cnstStrTagContextProxyAddress].Value; objContext.Proxy.Port = objMLNode.Nodes[cnstStrTagContextProxyPort].Value.GetInt(0); objContext.Proxy.User = objMLNode.Nodes[cnstStrTagContextProxyUser].Value; objContext.Proxy.Password = objMLNode.Nodes[cnstStrTagContextProxyPassword].Value; objContext.Proxy.MustBypassLocal = objMLNode.Nodes[cnstStrTagContextProxyByPassLocal].GetValue(false); // Devuelve los datos de contexto return objContext; }
/// <summary> /// Añade los nodos de contexto /// </summary> private void AddNodesContext(MLNode objMLNode, RestController objContext) { MLNode objMLChild = objMLNode.Nodes.Add(cnstStrTagContext); // Añade los nodos de contexto objMLChild.Nodes.Add(cnstStrTagContextUserAgent, objContext.UserAgent); objMLChild.Nodes.Add(cnstStrTagContextTimeOut, objContext.TimeOut); objMLChild.Nodes.Add(cnstStrTagContextProxyEnabled, objContext.Proxy.Enabled); objMLChild.Nodes.Add(cnstStrTagContextProxyAddress, objContext.Proxy.Address); objMLChild.Nodes.Add(cnstStrTagContextProxyPort, objContext.Proxy.Port); objMLChild.Nodes.Add(cnstStrTagContextProxyUser, objContext.Proxy.User); objMLChild.Nodes.Add(cnstStrTagContextProxyPassword, objContext.Proxy.Password); objMLChild.Nodes.Add(cnstStrTagContextProxyByPassLocal, objContext.Proxy.MustBypassLocal); }
/// <summary> /// Envía los datos /// </summary> private void Send() { if (ValidateData()) { RestController objRestController = new RestController(); // Asigna el proxy AssignContext(objRestController); // Ejecuta las instrucciones foreach (Projects.Instruction objInstruction in objProject.Instructions) ShowResponse(objRestController.Send(objInstruction.Request)); } }
public Project() { Context = new RestController(); Instructions = new InstructionsCollection(); }