Esempio n. 1
0
        /// <summary>
        ///		Extrae los tokens de acceso de una respuesta
        /// </summary>
        private void ExtractTokensAccess(ResponseMessage objResponse, out string strOAuthToken, out string strOAuthTokenSecret)
        {
            // Inicializa los valores de salida
                strOAuthToken = null;
                strOAuthTokenSecret = null;
            // Obtiene los tokens de la respuesta
                if (!objResponse.IsError && !objResponse.Body.IsEmpty())
                        { string [] arrStrBody = objResponse.Body.Split('&');

                                // Recorre el array buscando las cadenas
                                    if (arrStrBody != null && arrStrBody.Length > 0)
                                        foreach (string strBody in arrStrBody)
                                            { string [] arrStrQuery = strBody.Split('=');

                                                    if (arrStrQuery != null && arrStrQuery.Length == 2)
                                                        { if (arrStrQuery[0].EqualsIgnoreCase("oauth_token"))
                                                                strOAuthToken = arrStrQuery[1];
                                                            else if (arrStrQuery[0].EqualsIgnoreCase("oauth_token_secret"))
                                                                strOAuthTokenSecret = arrStrQuery[1];
                                                        }
                                            }
                        }
        }
Esempio n. 2
0
 /// <summary>
 ///		Muestra la respuesta
 /// </summary>
 private void ShowResponse(ResponseMessage objResponse)
 {
     txtResult.AppendText("Estado: " + (int) objResponse.Status + " -- " + objResponse.Status.ToString() + Environment.NewLine);
     txtResult.AppendText(Environment.NewLine + "--------------------------------------" + Environment.NewLine);
     txtResult.AppendText("Cabeceras:" + Environment.NewLine);
     foreach (Header objHeader in objResponse.Headers)
         txtResult.AppendText(objHeader.Key + ": " + objHeader.Value + Environment.NewLine);
     txtResult.AppendText(Environment.NewLine + "--------------------------------------" + Environment.NewLine);
     txtResult.AppendText("Cuerpo:" + Environment.NewLine);
     txtResult.AppendText(GetBody(objResponse.Body) + Environment.NewLine);
     txtResult.AppendText("=======================================================" + Environment.NewLine);
 }
Esempio n. 3
0
 /// <summary>
 ///		Lee las cabeceras de una respuesta
 /// </summary>
 private void ReadHeaders(HttpWebResponse objHttpResponse, ResponseMessage objResult)
 {
     foreach (string strKey in objHttpResponse.Headers.Keys)
         objResult.Headers.Add(strKey, objHttpResponse.Headers[strKey]);
 }
Esempio n. 4
0
 /// <summary>
 ///		Muestra la respuesta de una instrucción
 /// </summary>
 private void ShowResponse(ResponseMessage objResponse)
 {
     // Estado
         AddLog("Estado", (int) objResponse.Status + " -- " + objResponse.Status.ToString());
         AddLogSeparator(false);
     // Datos del mensaje
         ShowMessage(objResponse);
 }
Esempio n. 5
0
        /// <summary>
        ///		Procesa la respuesta de la Web
        /// </summary>
        private ResponseMessage GetResponse(HttpWebRequest objHtppRequest)
        {
            ResponseMessage objResult = new ResponseMessage(HttpStatusCode.InternalServerError, "Error interno", new NotImplementedException());

                // Obtiene la respuesta
                    try
                        { byte [] arrBytData;

                                // Crea una respuesta en principio, correcta
                                    objResult = new ResponseMessage(HttpStatusCode.OK, "No enviado");
                                // Obtiene la respuesta del servidor
                                    using (HttpWebResponse objHttpResponse = (HttpWebResponse) objHtppRequest.GetResponse())
                                        { // Lee los datos en un stream en memoria
                                                using (Stream stmResponse = objHttpResponse.GetResponseStream())
                                                    { // Copia la respuesta en memoria
                                                            using (MemoryStream stmMemory = new MemoryStream(cnstIntBufferLength))
                                                                { byte[] arrBytBuffer = new byte[cnstIntBufferLength];
                                                                    int intBytes;

                                                                        // Lee el stream de respuesta en un array de bytes
                                                                            while ((intBytes = stmResponse.Read(arrBytBuffer, 0, arrBytBuffer.Length)) > 0)
                                                                                stmMemory.Write(arrBytBuffer, 0, intBytes);
                                                                        // Pasa el stream en memoria a un array de bytes
                                                                            arrBytData = stmMemory.ToArray();
                                                                        // Cierra el stream de memoria
                                                                            stmMemory.Close();
                                                                }
                                                        // Cierra el stream de entrada
                                                            stmResponse.Close();
                                                    }
                                            // Obtiene el resultado
                                                objResult.ContentEncoding = objHttpResponse.ContentEncoding;
                                                objResult.ContentLength = objHttpResponse.ContentLength;
                                                objResult.ContentType = objHttpResponse.ContentType;
                                                // objResult.Cookies = objHttpResponse.Cookies;
                                                objResult.IsFromCache = objHttpResponse.IsFromCache;
                                                objResult.IsMutuallyAuthenticated = objHttpResponse.IsMutuallyAuthenticated;
                                                objResult.LastModified = objHttpResponse.LastModified;
                                                objResult.Method = objHttpResponse.Method;
                                                objResult.ProtocolVersion = objHttpResponse.ProtocolVersion;
                                                objResult.ResponseUri = objHttpResponse.ResponseUri;
                                                objResult.Server = objHttpResponse.Server;
                                                objResult.Status = objHttpResponse.StatusCode;
                                                objResult.StatusDescription = objHttpResponse.StatusDescription;
                                            // Obtiene el cuerpo del mensaje
                                                objResult.Body = System.Text.Encoding.Default.GetString(arrBytData);
                                            // Asigna las cabeceras
                                                foreach (string strKey in objHttpResponse.Headers.Keys)
                                                    objResult.Headers.Add(strKey, objHttpResponse.Headers[strKey]);
                                        }
                        }
                    catch (WebException objWebException)
                        { objResult = new ResponseMessage(HttpStatusCode.BadRequest, ComputeException(objWebException), objWebException);
                        }
                    catch (Exception objException)
                        { objResult = new ResponseMessage(HttpStatusCode.BadRequest, "Excepción", objException);
                        }
                // Devuelve la respuesta
                    return objResult;
        }