public IncludeCombinationResultInteractionTester() { AnActualBrowserHandlingGzip = new Req {AcceptEncoding = "gzip", ExpectedContentEncoding = "gzip", Browser = "AnActualBrowser", BrowserMajorVersion = 3}; AnActualBrowserHandlingGzipDeflateInThatOrder = new Req { AcceptEncoding = "gzip,deflate", ExpectedContentEncoding = "gzip", Browser = "AnActualBrowser", BrowserMajorVersion = 3 }; AnActualBrowserHandlingDeflateGzipInThatOrder = new Req { AcceptEncoding = "deflate,gzip", ExpectedContentEncoding = "gzip", Browser = "AnActualBrowser", BrowserMajorVersion = 3 }; AnActualBrowserHandlingDeflate = new Req { AcceptEncoding = "deflate", ExpectedContentEncoding = "deflate", Browser = "AnActualBrowser", BrowserMajorVersion = 3 }; IeHandlingGzipAndFailingMiserably = new Req { AcceptEncoding = "gzip", ExpectedContentEncoding = null, Browser = "IE", BrowserMajorVersion = 5 }; AnyBrowserHandlingMangledAcceptEncodingHeader = new Req { AcceptEncoding = "mangled", ExpectedContentEncoding = null, Browser = "Anything", BrowserMajorVersion = 3 }; }
protected void handler() { var post = getRequestForm(); post["addtime"] = Info.getDateStr(); var charuid = Db.name("student").insert(post); showSuccess("Successfully saved", Req.get("referer").Equals("") ? Request.Headers["referer"] : Req.get("referer")); }
public static Req CircutBreaker(Req r) => (message, token) => Policy .Handle <Exception>() .CircuitBreakerAsync(2, TimeSpan.FromSeconds(5)) .ExecuteAsync(() => r(message, token));
public static Req ApiKey(Req r, string keyName, string key) => (message, token) => { message.Headers.Add(keyName, key); return(r(message, token)); };
/// <summary> /// 先QF后QS /// </summary> /// <param name="parmsName"></param> /// <returns></returns> protected string QA(string parmsName) { return(Req.QA(parmsName)); }
/// <summary> /// Request.QueryString /// </summary> protected string QS(string parmsName, Encoding encoding) { return(Req.QS(parmsName, encoding)); }
/// <summary> /// 转到网址(默认为最后一次访问) /// </summary> protected void GoToUrl(string url = "") { Req.GoToUrl(url); }
protected void handler() { var post = getRequestForm(); Db.name("administrators").update(post); var charuid = post["id"]; showSuccess("保存成功", Req.get("referer").Equals("") ? Request.Headers["referer"] : Req.get("referer")); }
/// <summary> /// 先QF后QS /// </summary> /// <param name="parmsName"></param> /// <returns></returns> public string QA(string parmsName) { return(Req.QA(parmsName)); }
/// <summary> /// Request.Form /// </summary> public string QF(string parmsName) { return(Req.QF(parmsName)); }
/// <summary> /// Request.Form /// </summary> public T QF <T>(string parmsName, T defValue) { return(Req.QF(parmsName, defValue)); }
/// <summary> /// Request.QueryString /// </summary> public string QS(string parmsName) { return(Req.QS(parmsName)); }
/// <summary> /// Request.QueryString /// </summary> public string QS(string parmsName, Encoding encoding) { return(Req.QS(parmsName, encoding)); }
/// <summary> /// 刷新当前页 /// </summary> public void Refresh() { GoToUrl("{0}?{1}", Req.GetPageName(), Req.GetParams()); }
public void WhenRequestAcceptsCompression_ShouldAppendContentEncodingHeader(Req data) { var lastModifiedAt = DateTime.UtcNow; _mockHttpContext.Expect(hc => hc.Response).Return(_mockResponse); _mockHttpContext.Expect(hc => hc.Request).Return(_mockRequest); _mockRequest.Expect(r => r.Headers[HttpHeaders.AcceptEncoding]).Return(data.AcceptEncoding); var stubBrowser = MockRepository.GenerateStub<HttpBrowserCapabilitiesBase>(); stubBrowser.Expect(b => b.Type).Return(data.Browser); stubBrowser.Expect(b => b.MajorVersion).Return(data.BrowserMajorVersion); stubBrowser.Replay(); _mockRequest.Expect(r => r.Browser).Return(stubBrowser); _mockResponse.Expect(r => r.ContentEncoding = Encoding.UTF8); _mockResponse.Expect(r => r.ContentType = MimeTypes.TextCss); _mockResponse.Expect(r => r.AddHeader(Arg<string>.Is.Equal(HttpHeaders.ContentLength), Arg<string>.Is.NotNull)); _mockResponse.Expect(r => r.OutputStream).Return(new MemoryStream(8092)).Repeat.Twice(); _mockResponse.Expect(r => r.Cache).Return(_mockCachePolicy); if (data.ExpectedContentEncoding != null) { _mockResponse.Expect(r => r.AppendHeader(HttpHeaders.ContentEncoding, data.ExpectedContentEncoding)); } _mockCachePolicy.Expect(cp => cp.SetETag(Arg<string>.Matches(etag => etag.StartsWith("foo") && etag.EndsWith(_cssCombination.LastModifiedAt.Ticks.ToString())))); var cacheFor = TimeSpan.FromMinutes(30); _mockCachePolicy.Expect(cp => cp.SetCacheability(HttpCacheability.Public)); _mockCachePolicy.Expect(cp => cp.SetExpires(DateTime.UtcNow.Add(cacheFor))).IgnoreArguments(); _mockCachePolicy.Expect(cp => cp.SetMaxAge(cacheFor)).IgnoreArguments(); _mockCachePolicy.Expect(cp => cp.SetValidUntilExpires(true)); _mockCachePolicy.Expect(cp => cp.SetLastModified(lastModifiedAt)).IgnoreArguments(); _stubCombiner.Expect(c => c.GetCombination("foo")).Return(_cssCombination); var stubSettings = _mocks.Stub<IIncludeHandlingSettings>(); stubSettings.Expect(x => x.Types[IncludeType.Css]).Return(new CssTypeElement()); stubSettings.Replay(); var result = new IncludeCombinationResult(_stubCombiner, "foo", DateTime.UtcNow, stubSettings); result.ExecuteResult(_controllerContext); _mocks.VerifyAll(); }
/// <summary> /// 转到网址(默认为最后一次访问) /// </summary> public void GoToUrl(string url = "") { Req.GoToUrl(url); }
public override void enqueue_req(Req req) { }
/// <summary> /// 转到网址 /// </summary> protected void GoToUrl(string url, params object[] args) { Req.GoToUrl(url, args); }
private void Reg() { if (Req.GetForm("cIsAgree") != "1") { msgAjax.Error("必需同意[搜菜网用户注册协议]才能注册;"); return; } if (!Fn.IsVerifyCode1("cCode", "uverify")) { msgAjax.Error("code.wrong;"); return; } string cname = Fn.EncodeHtml(Req.GetForm("cname").Trim()); string email = Fn.EncodeHtml(Req.GetForm("email").Trim()); string pwd = Req.GetForm("pwd").Trim(); string pwd1 = Req.GetForm("pwd1").Trim(); string realname = Fn.EncodeHtml(Req.GetForm("realname").Trim()); string sSex = Req.GetForm("cSex").Trim(); string sArea = Req.GetForm("cArea").Trim(); string address = Fn.EncodeHtml(Req.GetForm("address").Trim()); string tel = Fn.EncodeHtml(Req.GetForm("tel").Trim()); string telfix = Fn.EncodeHtml(Req.GetForm("telfix").Trim()); string sCard = Fn.EncodeHtml(Req.GetForm("card").Trim()); string sPromoter = Req.GetForm("cPromoter").Trim(); //用户名 if (cname.Length == 0) { msgAjax.Error("请输入用户名;"); } else { if (cname.Length < 5 || cname.Length > 30) { msgAjax.Error("用户名需在5-30个字符之间;"); } else { if (!Fn.IsRegex(cname, Fn.EnumRegex.用户名)) { msgAjax.Error("用户名中有非法字条;"); } else { if (User_InfoL.IsUserName(cname)) { msgAjax.Error("此用户名已被注册,请重新输入;"); } } } } if (email.Length == 0) { msgAjax.Error("请输入邮箱;"); } else { if (email.Length < 5 || email.Length > 30) { msgAjax.Error("邮箱需在5-30个字符之间;"); } else { if (!Fn.IsRegex(email, Fn.EnumRegex.电子邮件)) { msgAjax.Error("邮箱格式不正确;"); } else { if (User_InfoL.IsEmail(email)) { msgAjax.Error("此邮箱名已被注册,请重新输入;"); } } } } if (pwd.Length == 0) { msgAjax.Error("请输入密码;"); } else { if (pwd.Length < 5 || pwd.Length > 30) { msgAjax.Error("密码需在5-30位数之间;"); } else { if (pwd1.Length == 0) { msgAjax.Error("请输入确认密码;"); } else { if (pwd != pwd1) { msgAjax.Error("两次密码输入不一致;"); } } } } //会员卡号 int exp = 0; if (sCard.Length > 0) { if (!Activity_InfoL.IsOpen("user_card")) { msgAjax.Error("会员卡活动已关闭;"); return; } if (!User_CardL.IsUse(sCard, out exp)) { msgAjax.Error("会员卡错误或不存在此卡号;"); return; } if (exp <= 0) { msgAjax.Error("会员卡错误或不存在此卡号;"); return; } } //推广员号码 int UserBTJ = 0; if (sPromoter.Length > 0) { int iPromoter; if (!int.TryParse(sPromoter, out iPromoter)) { msgAjax.Error("推广员号码错误或不存在此推广员;"); return; } if (!Activity_InfoL.IsOpen("user_promoter")) { msgAjax.Error("注册推广员活动已关闭;"); return; } if (!User_InfoL.IsUserPromoter(iPromoter)) { msgAjax.Error("推广员号码错误或不存在此推广员;"); return; } UserBTJ = iPromoter; } if (realname.Length > 30) { msgAjax.Error("联系人不超过30个字;"); } if (tel.Length > 25) { msgAjax.Error("手机不超过25字;"); } if (telfix.Length > 25) { msgAjax.Error("固定电话不超过25字;"); } if (address.Length > 300) { msgAjax.Error("地址不超过300字;"); } int iArea = Fn.IsInt(sArea, 0); if (iArea < 0) { msgAjax.Error("非法操作;"); } else if (iArea > 0) { if (ClassData.HasNext("Pub_Area", iArea)) { msgAjax.Error("请选择最后一级分类;"); } } //if (tel.Length == 0 && telfix.Length == 0) //{ // msgAjax.Error("手机和固定电话必填一个;"); //} if (msgAjax.IsError) { return; } //账号信息 User_InfoM infoMod = new User_InfoM(); infoMod.FK_User_Level = User_LevelL.GetDefaultLevel(); infoMod.UserName = cname; infoMod.UserPwd = Fn.MD5(pwd); infoMod.LastLoginIP = Request.UserHostAddress; infoMod.OpenIdentity = 1;//个人用户 infoMod.Email = email; infoMod.UserCard = sCard; infoMod.UserBTJ = UserBTJ; //个人用户信息 User_PersonalM perMod = new User_PersonalM(); perMod.RealName = realname; perMod.Sex = byte.Parse(sSex); perMod.Area = iArea; perMod.Address = address; perMod.FixTel = telfix; perMod.Tel = tel; //收货信息 User_ContactM conMod = new User_ContactM(); conMod.FK_Area = iArea; conMod.Name = realname; conMod.Address = address; conMod.FixTel = telfix; conMod.Tel = tel; //事务类 User_InfoL.Reg1_TransM lsTrans = new User_InfoL.Reg1_TransM(); lsTrans.infoMod = infoMod; lsTrans.perMod = perMod; lsTrans.conMod = conMod; if (exp > 0) { lsTrans.IsUseCard = true; lsTrans.Exp = exp; } DbHelp.ExecuteTrans(new DbHelpParam(), User_InfoL.Reg1_Trans, lsTrans); if (lsTrans.returnValue == "1") { Session.Remove("uverify"); User_Info.Login(cname, pwd); int isSend = 0; try { string url = Request.Url.AbsoluteUri.Replace(Request.Url.AbsolutePath, "") + "/email/regSuccess.aspx?un=" + cname; string sText = Fn.GetPageHtml(url); User_InfoL.SendEmail(email, cname + " 您好,您在搜菜网已成功注册会员", sText); isSend = 1; } catch { } msgAjax.Success(isSend.ToString()); } else { msgAjax.Error(lsTrans.returnValue); } }
/// <summary> /// 刷新当前页 /// </summary> protected void Refresh() { GoToUrl("{0}?{1}", Req.GetPageName(), Req.GetParams()); }
public async Task <bool> EditDatabaseConnPass(Req <SqlConnPassEditDto> request) { if (request == null) { throw new ArgumentNullException("request"); } if (request.Data == null) { throw new ArgumentException("Data is null"); } if (request.Data.AdminGroupId == 0) { throw new ArgumentException("Data.Id is 0."); } if (request.Data.p == null) { throw new ArgumentException("Data.p is 0."); } var helper = GetWriteHelper(); List <DbSqlConnPass> databaseConnPasses = new List <DbSqlConnPass>(); foreach (var item in request.Data.p) { if (item.Id == 0) { var db = new DbSqlConnPass() { AdminGroupId = request.Data.AdminGroupId, ConnId = item.ConnId, CanRead = item.CanRead, CanDelete = item.CanDelete, ReadMaxRows = item.ReadMaxRows, CanEdit = item.CanEdit, AllPermissions = item.AllPermissions, CanDownload = item.CanDownload, ChangeMaxRows = item.ChangeMaxRows, AddingAdminId = request.OperatorId, AddingTime = DateTime.Now, ModifyAdminId = request.OperatorId, ModifyTime = DateTime.Now }; databaseConnPasses.Add(db); } else { await helper.Update_Async <DbSqlConnPass>(new { CanRead = item.CanRead, CanEdit = item.CanEdit, CanDelete = item.CanDelete, ReadMaxRows = item.ReadMaxRows, AllPermissions = item.AllPermissions, CanDownload = item.CanDownload, ChangeMaxRows = item.ChangeMaxRows, ModifyTime = DateTime.Now, ModifyAdminId = request.OperatorId, }, new { IsDelete = false, Id = item.Id }); } } if (databaseConnPasses.Count > 0) { await helper.InsertList_Async(databaseConnPasses); } var sql = @"update SqlConnPass set IsDelete=1 where IsDelete=0 and Id IN (select min(Id) from SqlConnPass where IsDelete=0 Group by AdminGroupId,ConnId having Count(Id)>1) "; if (helper._SqlType == SqlType.MySql || helper._SqlType == SqlType.MariaDb) { sql = @"update SqlConnPass set IsDelete=1 where IsDelete=0 and Id IN (select Id from (select min(Id) from SqlConnPass where IsDelete=0 Group by AdminGroupId,ConnId having Count(Id)>1) t) "; } var count = 1; while (count > 0) { count = await helper.Execute_Async(sql); } return(true); }
/// <summary> /// Request.Form /// </summary> protected T QF <T>(string parmsName, T defValue) { return(Req.QF(parmsName, defValue)); }
public Task <Page <SqlConnPassDto> > GetDatabaseConnPage(Req <SearchDto> requeste) { return(null); }
public static Req RuleUrlModifier(Req r, string rule) => (message, token) => r(message, token); //TODO fix url
public Task <ProcedureInfo> GetProcedureInfo(Req <SqlCodeGenSearchDto> request) { throw new NotImplementedException(); }
public static Req Retry(Req r) => (message, token) => Policy .Handle <HttpRequestException>() .Retry(2) .ExecuteAsync(() => r(message, token));
public Task <TableViewInfo> GetTableInfo(Req <SqlCodeGenSearchDto> request) { throw new NotImplementedException(); }
public Cmd(CmdType type, MemAddr addr, Req req) { Addr = addr; Type = type; Req = req; }
static void UpdateOtherSourceLogAndGrid() { Response[] DequedResponses; lock (OtherSourceResponseQ) { DequedResponses = OtherSourceResponseQ.ToArray(); OtherSourceResponseQ.Clear(); } List <Response> Responses = new List <Response>(); foreach (Response Res in DequedResponses) { try { if (Res == null) { IronException.Report("Null Response DeQed from Other Source Response Q", "Null Response DeQed from Other Source Response Q"); continue; } Res.StoredHeadersString = Res.GetHeadersAsString(); if (Res.IsBinary) { Res.StoredBinaryBodyString = Res.BinaryBodyString; } Responses.Add(Res); } catch (Exception Exp) { IronException.Report("Error preparing Other Source Response for UI & DB Update", Exp.Message, Exp.StackTrace); } } Request[] DequedRequests; lock (OtherSourceRequestQ) { DequedRequests = OtherSourceRequestQ.ToArray(); OtherSourceRequestQ.Clear(); } List <Request> Requests = new List <Request>(); foreach (Request Req in DequedRequests) { try { if (Req == null) { IronException.Report("Null Request DeQed from Other Source Request Q", "Null Request DeQed from Other Source Request Q"); continue; } Req.StoredFile = Req.File; Req.StoredParameters = Req.GetParametersString(); Req.StoredHeadersString = Req.GetHeadersAsString(); if (Req.IsBinary) { Req.StoredBinaryBodyString = Req.BinaryBodyString; } Requests.Add(Req); } catch (Exception Exp) { IronException.Report("Error preparing Other Source Request for UI & DB Update", Exp.Message, Exp.StackTrace); } } List <Session> IronSessions = new List <Session>(); Dictionary <string, List <Request> > SourceSpecificRequestList = new Dictionary <string, List <Request> >(); Dictionary <string, List <Response> > SourceSpecificResponseList = new Dictionary <string, List <Response> >(); if (Requests.Count > 0 || Responses.Count > 0) { foreach (Request Req in Requests) { if (!SourceSpecificRequestList.ContainsKey(Req.Source)) { SourceSpecificRequestList[Req.Source] = new List <Request>(); } if (!SourceSpecificResponseList.ContainsKey(Req.Source)) { SourceSpecificResponseList[Req.Source] = new List <Response>(); } SourceSpecificRequestList[Req.Source].Add(Req); } foreach (Response Res in Responses) { if (!SourceSpecificResponseList.ContainsKey(Res.Source)) { SourceSpecificResponseList[Res.Source] = new List <Response>(); } if (!SourceSpecificRequestList.ContainsKey(Res.Source)) { SourceSpecificRequestList[Res.Source] = new List <Request>(); } SourceSpecificResponseList[Res.Source].Add(Res); } foreach (string Source in SourceSpecificRequestList.Keys) { IronDB.LogOtherSourceMessages(IronSessions, SourceSpecificRequestList[Source], SourceSpecificResponseList[Source], Source); } List <Request> OtherSourceRequests = new List <Request>(); List <Response> OtherSourceResponses = new List <Response>(); if (SourceSpecificRequestList.ContainsKey(IronLog.SelectedOtherSource)) { OtherSourceRequests = SourceSpecificRequestList[IronLog.SelectedOtherSource]; OtherSourceResponses = SourceSpecificResponseList[IronLog.SelectedOtherSource]; } IronUI.UpdateOtherSourceLogGrid(OtherSourceRequests, OtherSourceResponses, IronLog.SelectedOtherSource, new List <string>(SourceSpecificRequestList.Keys)); } }
private void cb_ok() { #region string name = Fn.EncodeHtml(Req.GetForm("name").Trim()); string sex = Req.GetForm("sex").Trim(); string address = Fn.EncodeHtml(Req.GetForm("address").Trim()); string tel = Fn.EncodeHtml(Req.GetForm("tel").Trim()); string fixtel = Fn.EncodeHtml(Req.GetForm("fixtel").Trim()); string bank = Fn.EncodeHtml(Req.GetForm("bank").Trim()); string bankaccount = Fn.EncodeHtml(Req.GetForm("bankaccount").Trim()); string remark = Fn.EncodeHtml(Req.GetForm("remark").Trim()); //姓名 if (name.Length == 0) { msgAjax.Error("请输入姓名;"); } else if (name.Length > 30) { msgAjax.Error("姓名不超过30个字;"); } //性别 if (!Fn.IsByteBool(sex)) { msgAjax.Error("请选择性别;"); } //地址 if (address.Length == 0) { msgAjax.Error("请输入地址;"); } else if (address.Length > 300) { msgAjax.Error("地址不超过300个字;"); } //手机 电话 if (tel.Length == 0 && fixtel.Length == 0) { msgAjax.Error("手机和电话必填一个;"); } else { if (tel.Length > 50) { msgAjax.Error("手机不超过50个字;"); } if (fixtel.Length > 50) { msgAjax.Error("电话不超过50个字;"); } } //开户行 if (bank.Length == 0) { msgAjax.Error("请输入开户银行;"); } else if (bank.Length > 50) { msgAjax.Error("开户银行不超过50个字;"); } //银行账号 if (bankaccount.Length == 0) { msgAjax.Error("请输入银行账号;"); } else if (bankaccount.Length > 50) { msgAjax.Error("银行账号不超过50个字;"); } //备注 if (remark.Length > 600) { msgAjax.Error("备注不超过600个字;"); } if (msgAjax.IsError) { return; } User_ApplyFor_1M mod = new User_ApplyFor_1M(); mod.FK_User = LoginInfo.UserID; mod.RealName = name; mod.Sex = byte.Parse(sex); mod.Address = address; mod.Tel = tel; mod.FixTel = fixtel; mod.Bank_Name = bank; mod.Bank_Account = bankaccount; mod.Remark = remark; #endregion string sql = "FK_User,FK_AdminID,RealName,Sex,Address,Tel,FixTel,Bank_Name,Bank_Account,Remark"; if (SqlData.Add(mod, sql)) { msgAjax.Success("1"); } else { msgAjax.Error("申请失败"); } }
static void UpdateProxyLogAndGrid() { Response[] DequedResponses; lock (ProxyResponseQ) { DequedResponses = ProxyResponseQ.ToArray(); ProxyResponseQ.Clear(); } List <Response> Responses = new List <Response>(); foreach (Response Res in DequedResponses) { try { if (Res == null) { IronException.Report("Null Response DeQed from Proxy Response Q", "Null Response DeQed from Proxy Response Q"); continue; } Res.StoredHeadersString = Res.GetHeadersAsString(); if (Res.IsBinary) { Res.StoredBinaryBodyString = Res.BinaryBodyString; } Responses.Add(Res); } catch (Exception Exp) { IronException.Report("Error preparing Response for UI & DB Update", Exp.Message, Exp.StackTrace); } } Response[] DequedOriginalResponses; List <Response> OriginalResponses = new List <Response>(); lock (ProxyOriginalResponseQ) { DequedOriginalResponses = ProxyOriginalResponseQ.ToArray(); ProxyOriginalResponseQ.Clear(); } foreach (Response Res in DequedOriginalResponses) { try { if (Res == null) { IronException.Report("Null Response DeQed from Original Proxy Response Q", "Null Response DeQed from Original Proxy Response Q"); continue; } Res.StoredHeadersString = Res.GetHeadersAsString(); if (Res.IsBinary) { Res.StoredBinaryBodyString = Res.BinaryBodyString; } OriginalResponses.Add(Res); } catch (Exception Exp) { IronException.Report("Error preparing Original Response for UI & DB Update", Exp.Message, Exp.StackTrace); } } Response[] DequedEditedResponses; List <Response> EditedResponses = new List <Response>(); lock (ProxyEditedResponseQ) { DequedEditedResponses = ProxyEditedResponseQ.ToArray(); ProxyEditedResponseQ.Clear(); } foreach (Response Res in DequedEditedResponses) { try { if (Res == null) { IronException.Report("Null Response DeQed from Edited Proxy Response Q", "Null Response DeQed from Edited Proxy Response Q"); continue; } Res.StoredHeadersString = Res.GetHeadersAsString(); if (Res.IsBinary) { Res.StoredBinaryBodyString = Res.BinaryBodyString; } EditedResponses.Add(Res); } catch (Exception Exp) { IronException.Report("Error preparing Edited Response for UI & DB Update", Exp.Message, Exp.StackTrace); } } Request[] DequedRequests; List <Request> Requests = new List <Request>(); lock (ProxyRequestQ) { DequedRequests = ProxyRequestQ.ToArray(); ProxyRequestQ.Clear(); } foreach (Request Req in DequedRequests) { try { if (Req == null) { IronException.Report("Null Request DeQed from Proxy Request Q", "Null Request DeQed from Proxy Request Q"); continue; } Req.StoredFile = Req.File; Req.StoredParameters = Req.GetParametersString(); Req.StoredHeadersString = Req.GetHeadersAsString(); if (Req.IsBinary) { Req.StoredBinaryBodyString = Req.BinaryBodyString; } Urls.Add(GetUrlForList(Req)); Requests.Add(Req); } catch (Exception Exp) { IronException.Report("Error preparing Proxy Request for UI & DB Update", Exp.Message, Exp.StackTrace); } } Request[] DequedOriginalRequests; List <Request> OriginalRequests = new List <Request>(); lock (ProxyOriginalRequestQ) { DequedOriginalRequests = ProxyOriginalRequestQ.ToArray(); ProxyOriginalRequestQ.Clear(); } foreach (Request Req in DequedOriginalRequests) { try { if (Req == null) { IronException.Report("Null Request DeQed from Proxy Original Request Q", "Null Request DeQed from Proxy Original Request Q"); continue; } Req.StoredFile = Req.File; Req.StoredParameters = Req.GetParametersString(); Req.StoredHeadersString = Req.GetHeadersAsString(); if (Req.IsBinary) { Req.StoredBinaryBodyString = Req.BinaryBodyString; } Urls.Add(GetUrlForList(Req)); OriginalRequests.Add(Req); } catch (Exception Exp) { IronException.Report("Error preparing Original Request for UI & DB Update", Exp.Message, Exp.StackTrace); } } Request[] DequedEditedRequests; List <Request> EditedRequests = new List <Request>(); lock (ProxyEditedRequestQ) { DequedEditedRequests = ProxyEditedRequestQ.ToArray(); ProxyEditedRequestQ.Clear(); } foreach (Request Req in DequedEditedRequests) { try { if (Req == null) { IronException.Report("Null Request DeQed from Proxy Edited Request Q", "Null Request DeQed from Proxy Edited Request Q"); continue; } Req.StoredFile = Req.File; Req.StoredParameters = Req.GetParametersString(); Req.StoredHeadersString = Req.GetHeadersAsString(); if (Req.IsBinary) { Req.StoredBinaryBodyString = Req.BinaryBodyString; } Urls.Add(GetUrlForList(Req)); EditedRequests.Add(Req); } catch (Exception Exp) { IronException.Report("Error preparing Edited Request for UI & DB Update", Exp.Message, Exp.StackTrace); } } List <Session> IronSessions = new List <Session>(); if (Requests.Count > 0 || Responses.Count > 0 || OriginalRequests.Count > 0 || OriginalResponses.Count > 0 || EditedRequests.Count > 0 || EditedResponses.Count > 0) { IronDB.LogProxyMessages(IronSessions, Requests, Responses, OriginalRequests, OriginalResponses, EditedRequests, EditedResponses); } if (Requests.Count > 0 | Responses.Count > 0) { IronUI.UpdateProxyLogGrid(Requests, Responses); } Response[][] DequedResponseArrs; lock (ProxyResponseListQ) { DequedResponseArrs = ProxyResponseListQ.ToArray(); ProxyResponseListQ.Clear(); } List <Response[]> ResponseArrs = new List <Response[]>(); foreach (Response[] ResArr in DequedResponseArrs) { try { if (ResArr.Length == 2) { if (ResArr[1] == null) { IronException.Report("Null Response DeQed from Proxy Response Q", "Null Response DeQed from Proxy Response Q"); continue; } if (ResArr[0] != null) { ResArr[0].StoredHeadersString = ResArr[0].GetHeadersAsString(); if (ResArr[0].IsBinary) { ResArr[0].StoredBinaryBodyString = ResArr[0].BinaryBodyString; } } ResArr[1].StoredHeadersString = ResArr[1].GetHeadersAsString(); if (ResArr[1].IsBinary) { ResArr[1].StoredBinaryBodyString = ResArr[1].BinaryBodyString; } ResponseArrs.Add(ResArr); } } catch (Exception Exp) { IronException.Report("Error preparing Response for UI & DB Update", Exp.Message, Exp.StackTrace); } } Request[][] DequedRequestArrs; List <Request[]> RequestArrs = new List <Request[]>(); lock (ProxyRequestListQ) { DequedRequestArrs = ProxyRequestListQ.ToArray(); ProxyRequestListQ.Clear(); } foreach (Request[] ReqArr in DequedRequestArrs) { try { if (ReqArr.Length == 2) { if (ReqArr[1] == null) { IronException.Report("Null Request DeQed from Proxy Request Q", "Null Request DeQed from Proxy Request Q"); continue; } if (ReqArr[0] != null) { ReqArr[0].StoredFile = ReqArr[0].File; ReqArr[0].StoredParameters = ReqArr[0].GetParametersString(); ReqArr[0].StoredHeadersString = ReqArr[0].GetHeadersAsString(); if (ReqArr[0].IsBinary) { ReqArr[0].StoredBinaryBodyString = ReqArr[0].BinaryBodyString; } Urls.Add(GetUrlForList(ReqArr[0])); } ReqArr[1].StoredFile = ReqArr[1].File; ReqArr[1].StoredParameters = ReqArr[1].GetParametersString(); ReqArr[1].StoredHeadersString = ReqArr[1].GetHeadersAsString(); if (ReqArr[1].IsBinary) { ReqArr[1].StoredBinaryBodyString = ReqArr[1].BinaryBodyString; } Urls.Add(GetUrlForList(ReqArr[1])); RequestArrs.Add(ReqArr); } } catch (Exception Exp) { IronException.Report("Error preparing Proxy Request for UI & DB Update", Exp.Message, Exp.StackTrace); } } if (RequestArrs.Count > 0 || ResponseArrs.Count > 0) { IronDB.LogProxyMessages(RequestArrs, ResponseArrs); IronUI.UpdateProxyLogGridWithArrs(RequestArrs, ResponseArrs); } }
static void UpdateProbeLogAndGrid() { Response[] DequedResponses; lock (ProbeResponseQ) { DequedResponses = ProbeResponseQ.ToArray(); ProbeResponseQ.Clear(); } List <Response> Responses = new List <Response>(); foreach (Response Res in DequedResponses) { try { if (Res == null) { IronException.Report("Null Response DeQed from Probe Response Q", "Null Response DeQed from Probe Response Q"); continue; } Res.StoredHeadersString = Res.GetHeadersAsString(); if (Res.IsBinary) { Res.StoredBinaryBodyString = Res.BinaryBodyString; } Responses.Add(Res); } catch (Exception Exp) { IronException.Report("Error preparing Probe Response for UI & DB Update", Exp.Message, Exp.StackTrace); } } Request[] DequedRequests; lock (ProbeRequestQ) { DequedRequests = ProbeRequestQ.ToArray(); ProbeRequestQ.Clear(); } List <Request> Requests = new List <Request>(); foreach (Request Req in DequedRequests) { try { if (Req == null) { IronException.Report("Null Request DeQed from Probe Request Q", "Null Request DeQed from Probe Request Q"); continue; } Req.StoredFile = Req.File; Req.StoredParameters = Req.GetParametersString(); Req.StoredHeadersString = Req.GetHeadersAsString(); if (Req.IsBinary) { Req.StoredBinaryBodyString = Req.BinaryBodyString; } Requests.Add(Req); } catch (Exception Exp) { IronException.Report("Error preparing Probe Request for UI & DB Update", Exp.Message, Exp.StackTrace); } } List <Session> IronSessions = new List <Session>(); if (Requests.Count > 0 || Responses.Count > 0) { IronDB.LogProbeMessages(IronSessions, Requests, Responses); IronUI.UpdateProbeLogGrid(Requests, Responses); } }
public void ConnectToClient(ClientInfo CI) { Req R = new Req(LocalClientInfo.ID, CI.ID); SendMessageTCP(R); if (OnResultsUpdate != null) OnResultsUpdate.Invoke(this, "Sent Connection Request To: " + CI.ToString()); Thread Connect = new Thread(new ThreadStart(delegate { IPEndPoint ResponsiveEP = FindReachableEndpoint(CI); if (ResponsiveEP != null) { if (OnResultsUpdate != null) OnResultsUpdate.Invoke(this, "Connection Successfull to: " + ResponsiveEP.ToString()); if (OnClientConnection != null) OnClientConnection.Invoke(CI, ResponsiveEP); } })); Connect.IsBackground = true; Connect.Start(); }