Esempio n. 1
0
 private bool Login()
 {
     try
     {
         var        start = ResolveStartUrl();
         HttpResult res   = null;
         this.DialogResult = DialogResult.None;
         while (res == null || res.Completed == false)
         {
             res = HttpInvoker.CallProgress(start + "&r=1", null, false);
             if (res == null)
             {
                 return(false);
             }
         }
         NHibernateSession.DbSettings["Server"]        = res.Extra["Server"];
         NHibernateSession.DbSettings["Database"]      = res.Extra["Database"];
         NHibernateSession.DbSettings["DatabaseType"]  = res.Extra["DatabaseType"];
         NHibernateSession.DbSettings["User"]          = res.Extra["User"];
         NHibernateSession.DbSettings["SslMode"]       = res.Extra["SslMode"];
         NHibernateSession.DbSettings["PasswordPlain"] = res.Extra["PasswordPlain"];
         NHibernateSession.DbSettings["SslMode"]       = "Preferred";
         UI.CurrentUserEmail = getCurrentUser();
         lblUser.Text        = getCurrentUser();
         return(true);
     }
     catch (Exception e)
     {
         MessageBox.Show(this, e.ToString());
         return(false);
     }
 }
Esempio n. 2
0
        private string ResolveStartUrl()
        {
            string start = "authenticate/winLogin";
            string u;
            string p;

            if (this.User != null)
            {
                u = this.User;
            }
            else
            {
                u = getCurrentUser();
            }

            if (this.Password != null)
            {
                p = this.Password;
            }
            else
            {
                p = HttpInvoker.ConfigurationGet("HttpPasswordPlain");
            };

            start += "?u=" + HttpUtility.UrlEncode(u);
            start += "&p=" + HttpUtility.UrlEncode(p);
            return(start);
        }
Esempio n. 3
0
        /// <summary>
        /// Releases the resources used by the <see cref="GrpcChannel"/> class.
        /// Clients created with the channel can't be used after the channel is disposed.
        /// </summary>
        public void Dispose()
        {
            if (Disposed)
            {
                return;
            }

            lock (ActiveCalls)
            {
                if (ActiveCalls.Count > 0)
                {
                    // Disposing a call will remove it from ActiveCalls. Need to take a copy
                    // to avoid enumeration from being modified
                    var activeCallsCopy = ActiveCalls.ToArray();

                    foreach (var activeCall in activeCallsCopy)
                    {
                        activeCall.Dispose();
                    }
                }
            }

            if (_shouldDisposeHttpClient)
            {
                HttpInvoker.Dispose();
            }
            Disposed = true;
        }
Esempio n. 4
0
        private void button4_Click(object sender, EventArgs e)
        {
            string start = "services/backoffice/StartPublish?w=6";
            string step  = "services/backoffice/StepPublish";

            HttpInvoker.CallProgress(start, step);
            MessageBox.Show(this, "Listo!");
        }
        public IResult <T> Execute <T>(MessageContext context)
        {
            var commandInfo = GetCommandInfo(context);

            var invoker = new HttpInvoker <T>();
            int id      = invoker.Prepare(commandInfo);

            return(invoker.Invoke(id));
        }
        public override void Call()
        {
            Progress.Caption = "Vaciando caché de PDFs";
            Progress.Total   = 1;

            var        start = ResolveStartUrl();
            HttpResult res   = null;

            res = HttpInvoker.CallProgress(start, null, false);
        }
Esempio n. 7
0
        public MainPage()
        {
            this.InitializeComponent();
            theButton.Click += async(s, e) =>
            {
                var response = await HttpInvoker.Invoke("api/deviceregistration?identity=asdfasdf").ConfigureAwait(false);

                // var request = await CreteRequest().ConfigureAwait(false);

                ////var response = CrossClient.HttpInvoker.Invoke();
                //var certificate = await GetClientCertificate();
                ////////await VerifyCertificateKeyAccess(certificate);

                //var filter = new HttpBaseProtocolFilter();
                //filter.AllowUI = true;
                //filter.ClientCertificate = certificate;

                ////foreach (var error in Enum.GetValues(typeof(ChainValidationResult)))
                ////    try
                ////    {
                ////        filter.IgnorableServerCertificateErrors.Add((ChainValidationResult)error);
                ////    }
                ////    catch
                ////    {
                ////    }
                //////{
                //////    var chainError = (ChainValidationResult)error;
                //////    if (chainError != ChainValidationResult.Success && chainError != ChainValidationResult.Revoked)
                //////        filter.IgnorableServerCertificateErrors.Add((ChainValidationResult)error);
                //////}

                //////var certStream = typeof(MainPage).GetTypeInfo().Assembly.GetManifestResourceStream("UWPClient.BigsbyClientCert.cer");

                //////filter.ClientCertificate = new Certificate(certStream.AsOutputStream());
                //var client = new Windows.Web.Http.HttpClient(filter);
                //var response = await client.GetStringAsync(new Uri("https://localhost:9000/api/deviceregistration?identity=asdfasdf"));



                var stop = "here";
            };
        }
Esempio n. 8
0
        public frmMain()
        {
            Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

            InitializeComponent();

            MainPanel = panMain;

            RegistryPersistence.LoadUserFromRegistry(ref User, ref Password, ref Server);
            var f = new frmLogin();

            f.User     = User;
            f.Password = Password;
            f.Server   = Server;
            while (true)
            {
                if (f.ShowDialog() == DialogResult.Cancel)
                {
                    UI.ShowMessage(this, "No ha sido posible iniciar una sesión en el servidor. \n\nServidor: " + HttpInvoker.GetServer("No indicado"));
                    Process.GetCurrentProcess().Kill();
                    return;
                }
                else
                {
                    this.User          = f.User;
                    this.Password      = f.Password;
                    HttpInvoker.Server = f.Server;
                }
                if (Login())
                {
                    break;
                }
            }
        }
Esempio n. 9
0
 private string getCurrentUser()
 {
     return(HttpInvoker.ConfigurationGet("HttpUser"));
 }
        public HttpResponseMessage Get(int id, bool update)
        {
            var release = db.Releases.Find(id);
            var expDate = DateTime.Now.AddDays(-1);

            HttpContext.Current.Response.AppendHeader("X-Total", "1");

            if (release.VoteRateUpdated > expDate)
            {
                return(Request.CreateResponse(HttpStatusCode.NotModified, release, MediaTypeHeaderValue.Parse("application/json")));
            }

            WebClient webClient = new WebClient();

            webClient.Encoding = Encoding.UTF8;

            var          releaseResponse = webClient.DownloadString("http://freake.ru/" + release.ReleaseId);
            HtmlDocument releaseDoc      = new HtmlDocument();

            releaseDoc.LoadHtml(releaseResponse);
            var releasePage = releaseDoc.DocumentNode.SelectNodes(string.Format("//*[contains(@class,'{0}')]", "post")).First();

            string rateId = "rate-r-" + release.ReleaseId;
            var    rate   = releaseDoc.DocumentNode.SelectNodes(string.Format("//*[contains(@id,'{0}')]", rateId)).First().InnerHtml;     //рейтинг
            string voteId = "rate-v-" + release.ReleaseId;
            var    vote   = releaseDoc.DocumentNode.SelectNodes(string.Format("//*[contains(@id,'{0}')]", voteId)).First().InnerHtml;     //голоса
            var    info   = releasePage.Descendants("div").Where(m => m.Attributes["class"].Value.Contains("unreset")).First().InnerHtml; //инфо (треклист, прослушка, итц)

            string cover     = "";
            string miniCover = "";

            try
            {
                var node = releasePage.SelectNodes(string.Format("//*[contains(@class,'{0}')]", "fancybox")).First();
                cover = node.Attributes["href"].Value;//обложка
                var miniCoverNode = node.ChildNodes.First();
                miniCover = miniCoverNode.Attributes["src"].Value;
            }

            catch { }

            var downloads = releasePage.Descendants("div").Where(m => m.Attributes["class"].Value.Contains("link-numm")).First().InnerHtml.Replace("Скачиваний: ", ""); //загрузки, точнее их количесто

            //пост запросом получаем хитро спрятанный ссылки на скачивание
            var res = HttpInvoker.Post("http://freake.ru/engine/modules/ajax/music.link.php", new NameValueCollection()
            {
                { "id", release.ReleaseId.ToString() }
            });
            var     str   = Encoding.Default.GetString(res);
            JObject json  = JObject.Parse(str);
            string  links = "";

            if (json["answer"].ToString() == "ok")
            {
                links = json["link"].ToString().Replace("Ссылки на скачивание", "Download links");
            }
            ////////////////////////////////////////////////////////////////

            release.VoteRateUpdated = DateTime.Now;
            release.Rating          = decimal.Parse(rate, NumberStyles.Any, new CultureInfo("en-US"));
            release.Votes           = int.Parse(vote);
            release.Info            = info;
            release.Links           = links;
            release.Downloads       = int.Parse(downloads);
            release.Cover           = cover;
            release.MiniCover       = miniCover;

            db.Entry(release).State = EntityState.Modified;
            db.SaveChanges();


            return(Request.CreateResponse(HttpStatusCode.OK, new ReleaseDetails(release), MediaTypeHeaderValue.Parse("application/json")));
        }