public override void ProcessRequest(HttpContext context) { ISession s = this.CurrentSession; using (ITransaction t = s.BeginTransaction()) { Guid userID = new Guid(context.Request["UserID"]); Guid clientID = new Guid(context.Request["ClientID"]); PersistentUser user = s.Get <PersistentUser>(userID); PersistentClient client = s.Get <PersistentClient>(clientID); if (user == null || !user.HasAPIAccess) { throw new Exception("no api access"); } if (client == null || !client.HasAPIAccess) { throw new Exception("no api access"); } PersistentProfileHostVerification verification = new PersistentProfileHostVerification(); verification.SetCreationInfo(Guid.Empty); verification.VerificationData = context.Request["VerificationData"]; verification.VerificationFileName = context.Request["VerificationFileName"]; verification.WhoisEmail = context.Request["WhoisRegex"]; s.Save(verification); context.Response.Write(verification.ToBusinessXML()); } }
protected void btnAddHost_Click(object sender, EventArgs e) { Session["CreateProfile?CurrentHost"] = txtHostURL.Text; string url = ConfigurationManager.AppSettings["API"] + "/CreateWhoisReport.ashx?Host=" + Session["CreateProfile?CurrentHost"] + "&WebUserID=" + this.CurrentUser.ID.ToString() + "&UserID=" + ConfigurationManager.AppSettings["UserID"] + "&ClientID=" + ConfigurationManager.AppSettings["ClientID"]; WebRequest request = WebRequest.Create(url); string response = string.Empty; using (StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream())) response = reader.ReadToEnd(); Session["CreateProfile?CurrentProfileHost"] = new PersistentProfileHost(this.CurrentUser.UserID); Session["CreateProfile?CurrentVerification"] = new PersistentProfileHostVerification(new ProfileHostVerification(), this.CurrentUser.UserID); (Session["CreateProfile?CurrentVerification"] as PersistentProfileHostVerification).ProfileHost = Session["CreateProfile?CurrentProfileHost"] as PersistentProfileHost; List <string> emails = FindEmailAddresses(response).ToList(); if (emails.Count == 0) { throw new Exception("Cannot verify whois with an email address."); } ddlWhoisEmail.DataSource = emails; ddlWhoisEmail.DataBind(); lblFileContents.Text = (Session["CreateProfile?CurrentVerification"] as PersistentProfileHostVerification).VerificationData; lblFilename.Text = (Session["CreateProfile?CurrentVerification"] as PersistentProfileHostVerification).VerificationFileName; lblVerificationURL.Text = "http://" + Session["CreateProfile?CurrentHost"] + ":80/" + (Session["CreateProfile?CurrentVerification"] as PersistentProfileHostVerification).VerificationFileName; divAddHostContainer.Attributes["class"] = "addHostContainerInactive"; txtHostURL.Enabled = false; btnAddHost.Enabled = false; divMultiEmailContainer.Attributes["class"] = "multiEmailContainerActive"; ddlWhoisEmail.Enabled = true; btnSendVerification.Enabled = true; }