public async Task <Authorize3dResponse> Authorize3d( string currency, string amount, PaymentOption paymentOption, string relatedTransactionId, List <Item> items = null, string userTokenId = null, string clientUniqueId = null, string clientRequestId = null, int?isRebilling = null, AmountDetails amountDetails = null, DeviceDetails deviceDetails = null, CashierUserDetails userDetails = null, UserAddress shippingAddress = null, UserAddress billingAddress = null, DynamicDescriptor dynamicDescriptor = null, MerchantDetails merchantDetails = null, Addendums addendums = null, UrlDetails urlDetails = null, string customSiteName = null, string productId = null, string customData = null, string transactionType = null, bool autoPayment3D = default, string userId = null, string rebillingType = null, string authenticationTypeOnly = null, SubMerchant subMerchant = null) { var request = new Authorize3dRequest(merchantInfo, sessionToken, currency, amount, paymentOption, relatedTransactionId) { Items = items, UserTokenId = userTokenId, ClientRequestId = clientRequestId, ClientUniqueId = clientUniqueId, IsRebilling = isRebilling, AmountDetails = amountDetails, DeviceDetails = deviceDetails, UserDetails = userDetails, ShippingAddress = shippingAddress, BillingAddress = billingAddress, DynamicDescriptor = dynamicDescriptor, MerchantDetails = merchantDetails, Addendums = addendums, UrlDetails = urlDetails, CustomSiteName = customSiteName, ProductId = productId, CustomData = customData, TransactionType = transactionType, AutoPayment3D = autoPayment3D, UserId = userId, RebillingType = rebillingType, AuthenticationTypeOnly = authenticationTypeOnly, SubMerchant = subMerchant }; return(await safechargeRequestExecutor.Authorize3d(request)); }
public async Task GoToPage_Original(UrlDetails url) { if (_issue.Labels.Contains("SomeModifier")) { // Do something... } var originalBase = (url.LeftSide.ToLower().Contains("brandone.com")) ? origBaseUrlBrandOne : origBaseUrlBrandTwo; await GoToPage(String.Format("{0}{1}", originalBase, url.RightSide)); }
public void NavigateTo(UrlDetails url) { if (url == null) { throw new ArgumentNullException("url"); } LastNavigatedToUrl = CurrentLocation; CurrentLocation = url; RaiseCallbacks(url); }
public MockHistoryHandler(UrlDetails initialUrl) { if (initialUrl == null) { throw new ArgumentNullException("initialUrl"); } _navigatedCallbacks = NonNullList <Action <UrlDetails> > .Empty; CurrentLocation = initialUrl; LastNavigatedToUrl = null; }
private void OnRecNewSurfSite(JHSNetworkMessage netMsg) { UrlDetails packet = netMsg.ReadMessage <UrlDetails>(); if (packet != null) { MainCache.Credit += MainCache.AddCredit; MainCache.SurfedSites += 1; MainComponent.Core.SendNotification(SHOW_MAIN); MainComponent.Core.SendNotification(GOT_NEW_URL, packet); } }
private void RaiseCallbacks(UrlDetails url) { if (url == null) { throw new ArgumentNullException("url"); } foreach (var callback in _navigatedCallbacks) { callback(url); } }
public void Add_new_url_request_success() { var urlId = 99; var longUrl = "http://google.com"; var urlDetails = new UrlDetails(urlId); var url = new Url(longUrl); url.SetUrlDetails(urlDetails); url.AddNewUrlRequest(); Assert.NotNull(url); Assert.NotEmpty(url.UrlRequests); }
public async Task <SettleTransactionResponse> SettleTransaction( string currency, string amount, string relatedTransactionId, string clientUniqueId = null, string clientRequestId = null, string userId = null, Addendums addendums = null, string descriptorMerchantName = null, string descriptorMerchantPhone = null, DynamicDescriptor dynamicDescriptor = null, UrlDetails urlDetails = null, string authCode = null, string customData = null, string comment = null, string customSiteName = null, string productId = null, DeviceDetails deviceDetails = null, string rebillingType = null, string authenticationTypeOnly = null, SubMerchant subMerchant = null) { var request = new SettleTransactionRequest( merchantInfo, sessionToken, currency, amount, relatedTransactionId) { AuthCode = authCode, ClientUniqueId = clientUniqueId, ClientRequestId = clientRequestId, UserId = userId, Addendums = addendums, DescriptorMerchantName = dynamicDescriptor?.MerchantName ?? descriptorMerchantName, DescriptorMerchantPhone = dynamicDescriptor?.MerchantPhone ?? descriptorMerchantPhone, UrlDetails = urlDetails, CustomData = customData, Comment = comment, CustomSiteName = customSiteName, ProductId = productId, DeviceDetails = deviceDetails, RebillingType = rebillingType, AuthenticationTypeOnly = authenticationTypeOnly, SubMerchant = subMerchant }; return(await safechargeRequestExecutor.SettleTransaction(request)); }
public async Task <PayoutResponse> Payout( string userTokenId, string clientUniqueId, string amount, string currency, UserPaymentOption userPaymentOption, string comment = null, DynamicDescriptor dynamicDescriptor = null, MerchantDetails merchantDetails = null, UrlDetails urlDetails = null, DeviceDetails deviceDetails = null, CardData cardData = null, string userId = null, string rebillingType = null, string authenticationTypeOnly = null, SubMerchant subMerchant = null, Addendums addendums = null) { var request = new PayoutRequest( merchantInfo, sessionToken, userTokenId, clientUniqueId, amount, currency, userPaymentOption) { Comment = comment, DynamicDescriptor = dynamicDescriptor, MerchantDetails = merchantDetails, UrlDetails = urlDetails, DeviceDetails = deviceDetails, CardData = cardData, UserId = userId, RebillingType = rebillingType, AuthenticationTypeOnly = authenticationTypeOnly, SubMerchant = subMerchant, Addendums = addendums }; return(await safechargeRequestExecutor.Payout(request)); }
private void AddLinks(UrlDetails urlDetails, string url, int enabled) { using (SQLiteConnection db = new SQLiteConnection(App.DB_PATH)) { Links linkEntry = new Links() { Url = urlDetails.FinalUrl, OrigUrl = url, Name = urlDetails.Title, Offline = 0, Icon = urlDetails.Icon, Enabled = enabled }; db.Insert(linkEntry); if (enabled == 1) { AddArticles(urlDetails); } } }
public static async Task <CaptureResult> CaptureDiff(UrlDetails url, ITestCaseManager testCaseManager) { var result = new CaptureResult { URL = url.RightSide }; // Original Page await testCaseManager.GoToPage_Original(url); result.Original = await testCaseManager.Browser.TakeScreenshot(); // Updated Page await testCaseManager.GoToPage_Updated(url); result.Updated = await testCaseManager.Browser.TakeScreenshot(); // Compare Image var diff = ImageUtils.Compare(result.Original, result.Updated); result.Diff = diff.DiffImage; result.Difference = diff.Difference; return(result); }
// SAVE CLICKED - ADD CONTENT TO DB private async void _saveButton_Clicked(object sender, EventArgs e) { using (SQLiteConnection db = new SQLiteConnection(App.DB_PATH)) { db.CreateTable <Links>(); // Make sure database has been created db.CreateTable <SocialFeeds>(); // Make sure database has been created UrlDetails content = GetUrlAndContents(_linkEntry.Text); string[] lines = ReadLines(content.Contents); foreach (var line in lines) // Loop through all links in social feed { string link = line.Replace("\n", "").Replace("\r", "").Replace("\t", ""); Links linkExists = (from p in db.Table <Links>() where p.OrigUrl == line select p).FirstOrDefault(); if (linkExists == null) // If social feed doesn't exist in db { UrlDetails _validated = GetUrlAndContents(link); string _title = _validated.Title; if (_title != "") { var answer = await DisplayAlert("New Feed Detected", "A new feed has been found, would you like to add: " + _title, "Yes", "No"); if (answer) { AddLinks(_validated, line, 1); } else { AddLinks(_validated, line, 0); } } } } } await Navigation.PopAsync(); }
public async Task <InitPaymentResponse> InitPayment( string currency, string amount, InitPaymentPaymentOption paymentOption, string userTokenId = null, string clientUniqueId = null, string clientRequestId = null, DeviceDetails deviceDetails = null, UrlDetails urlDetails = null, string customData = null, UserAddress billingAddress = null, string userId = null, string rebillingType = null, string authenticationTypeOnly = null, SubMerchant subMerchant = null, Addendums addendums = null, string orderId = null) { var request = new InitPaymentRequest(merchantInfo, sessionToken, currency, amount, paymentOption) { UserTokenId = userTokenId, ClientRequestId = clientRequestId, ClientUniqueId = clientUniqueId, DeviceDetails = deviceDetails, UrlDetails = urlDetails, CustomData = customData, BillingAddress = billingAddress, UserId = userId, RebillingType = rebillingType, AuthenticationTypeOnly = authenticationTypeOnly, SubMerchant = subMerchant, Addendums = addendums, OrderId = orderId }; return(await safechargeRequestExecutor.InitPayment(request)); }
/// <summary> /// Initializes a new instance of the <see cref="RequestMessage"/> class. /// </summary> /// <param name="urlDetails">The original url details.</param> /// <param name="method">The HTTP method.</param> /// <param name="clientIP">The client IP Address.</param> /// <param name="bodyData">The BodyData.</param> /// <param name="headers">The headers.</param> /// <param name="cookies">The cookies.</param> public RequestMessage([NotNull] UrlDetails urlDetails, [NotNull] string method, [NotNull] string clientIP, [CanBeNull] BodyData bodyData = null, [CanBeNull] IDictionary <string, string[]> headers = null, [CanBeNull] IDictionary <string, string> cookies = null) { Check.NotNull(urlDetails, nameof(urlDetails)); Check.NotNull(method, nameof(method)); Check.NotNull(clientIP, nameof(clientIP)); AbsoluteUrl = urlDetails.AbsoluteUrl.ToString(); Url = urlDetails.Url.ToString(); Protocol = urlDetails.Url.Scheme; Host = urlDetails.Url.Host; Port = urlDetails.Url.Port; Origin = $"{Protocol}://{Host}:{Port}"; AbsolutePath = WebUtility.UrlDecode(urlDetails.AbsoluteUrl.AbsolutePath); Path = WebUtility.UrlDecode(urlDetails.Url.AbsolutePath); PathSegments = Path.Split('/').Skip(1).ToArray(); AbsolutePathSegments = AbsolutePath.Split('/').Skip(1).ToArray(); Method = method; ClientIP = clientIP; BodyData = bodyData; // Convenience getters for e.g. Handlebars Body = BodyData?.BodyAsString; BodyAsJson = BodyData?.BodyAsJson; BodyAsBytes = BodyData?.BodyAsBytes; DetectedBodyType = BodyData?.DetectedBodyType.ToString(); DetectedBodyTypeFromContentType = BodyData?.DetectedBodyTypeFromContentType.ToString(); DetectedCompression = BodyData?.DetectedCompression; Headers = headers?.ToDictionary(header => header.Key, header => new WireMockList <string>(header.Value)); Cookies = cookies; RawQuery = urlDetails.Url.Query; Query = QueryStringParser.Parse(RawQuery); }
public async Task <OpenOrderResponse> OpenOrder( string currency, string amount, List <Item> items = null, OpenOrderPaymentOption paymentOption = null, UserPaymentOption userPaymentOption = null, string paymentMethod = null, string userTokenId = null, string clientUniqueId = null, string clientRequestId = null, string userId = null, string authenticationTypeOnly = null, AmountDetails amountDetails = null, DeviceDetails deviceDetails = null, CashierUserDetails userDetails = null, UserAddress shippingAddress = null, UserAddress billingAddress = null, DynamicDescriptor dynamicDescriptor = null, MerchantDetails merchantDetails = null, Addendums addendums = null, UrlDetails urlDetails = null, string customSiteName = null, string productId = null, string customData = null, string transactionType = null, string isMoto = null, string isRebilling = null, string rebillingType = null, SubMerchant subMerchant = null) { var request = new OpenOrderRequest(merchantInfo, sessionToken, currency, amount) { Items = items, PaymentOption = paymentOption, UserPaymentOption = userPaymentOption, PaymentMethod = paymentMethod, UserTokenId = userTokenId, ClientRequestId = clientRequestId, ClientUniqueId = clientUniqueId, UserId = userId, AuthenticationTypeOnly = authenticationTypeOnly, AmountDetails = amountDetails, DeviceDetails = deviceDetails, UserDetails = userDetails, ShippingAddress = shippingAddress, BillingAddress = billingAddress, DynamicDescriptor = dynamicDescriptor, MerchantDetails = merchantDetails, Addendums = addendums, UrlDetails = urlDetails, CustomSiteName = customSiteName, ProductId = productId, CustomData = customData, TransactionType = transactionType, IsMoto = isMoto, IsRebilling = isRebilling, RebillingType = rebillingType, SubMerchant = subMerchant }; return(await safechargeRequestExecutor.OpenOrder(request)); }
private void Build() { #region Initial-Values TimestampUtc = DateTime.Now.ToUniversalTime(); Source = new SourceDetails(Common.IpFromIpPort(_IpPort), Common.PortFromIpPort(_IpPort)); ThreadId = Thread.CurrentThread.ManagedThreadId; #endregion #region Convert-to-String-List string[] headers = _RequestHeader.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries); #endregion #region Process-Each-Line for (int i = 0; i < headers.Length; i++) { if (i == 0) { #region First-Line string[] requestLine = headers[i].Trim().Trim('\0').Split(' '); if (requestLine.Length < 3) { throw new ArgumentException("Request line does not contain at least three parts (method, raw URL, protocol/version)."); } Method = (HttpMethod)Enum.Parse(typeof(HttpMethod), requestLine[0], true); Url = new UrlDetails(requestLine[1]); Query = new QueryDetails(requestLine[1]); ProtocolVersion = requestLine[2]; #endregion } else { #region Subsequent-Line string[] headerLine = headers[i].Split(':'); if (headerLine.Length == 2) { string key = headerLine[0].Trim(); string val = headerLine[1].Trim(); if (String.IsNullOrEmpty(key)) { continue; } string keyEval = key.ToLower(); if (keyEval.Equals("keep-alive")) { Keepalive = Convert.ToBoolean(val); } else if (keyEval.Equals("user-agent")) { Useragent = val; } else if (keyEval.Equals("content-length")) { ContentLength = Convert.ToInt32(val); } else if (keyEval.Equals("content-type")) { ContentType = val; } Headers = Common.AddToDict(key, val, Headers); } #endregion } } #endregion #region Payload _DataStream = _Stream; #endregion }
public async Task GoToPage_Updated(UrlDetails url) { await Browser.GoToPage(String.Format("{0}{1}", StageBaseUrl, url.RightSide)); }
public async Task GoToPage_Original(UrlDetails url) { await Browser.GoToPage(String.Format("{0}{1}", ProdBaseUrl, url.RightSide)); }
public static void Go() { QUnit.Module("QueryString Parsing"); QUnit.Test("Match ''", assert => { var rawQueryString = ""; var queryString = QueryString.Parse(rawQueryString); assert.Equal(queryString["x"].Count, 0); assert.Equal(queryString.ToString(), rawQueryString); }); QUnit.Test("Match 'x=1'", assert => { var rawQueryString = "x=1"; var queryString = QueryString.Parse(rawQueryString); assert.Equal(queryString["x"].Count, 1); assert.OptionalEqual(queryString["x"][0], "1"); assert.Equal(queryString.ToString(), rawQueryString); }); QUnit.Test("Match '?x=1'", assert => { assert.Throws(() => QueryString.Parse("?x=1"), "The QueryString should not include the leading '?' character"); }); QUnit.Test("Match 'x=1&x=2'", assert => { var rawQueryString = "x=1&x=2"; var queryString = QueryString.Parse(rawQueryString); assert.Equal(queryString["x"].Count, 2); assert.OptionalEqual(queryString["x"][0], "1"); assert.OptionalEqual(queryString["x"][1], "2"); assert.Equal(queryString.ToString(), rawQueryString); }); QUnit.Test("Match 'x=1&y=&z'", assert => { var rawQueryString = "x=1&y=&z"; var queryString = QueryString.Parse(rawQueryString); assert.Equal(queryString["x"].Count, 1); assert.OptionalEqual(queryString["x"][0], "1"); assert.Equal(queryString["y"].Count, 1); assert.OptionalEqual(queryString["y"][0], ""); assert.Equal(queryString["z"].Count, 1); assert.OptionalEqual(queryString["z"][0], Optional <string> .Missing); assert.Equal(queryString.ToString(), rawQueryString); }); QUnit.Test("Match 'x=test%20value'", assert => { var rawQueryString = "x=test%20value"; var queryString = QueryString.Parse(rawQueryString); assert.Equal(queryString["x"].Count, 1); assert.OptionalEqual(queryString["x"][0], "test value"); assert.Equal(queryString.ToString(), rawQueryString); }); QUnit.Test("Match '%20%20x=test%20value'", assert => { var rawQueryString = "%20%20x=test%20value"; var queryString = QueryString.Parse(rawQueryString); assert.Equal(queryString["x"].Count, 0); assert.Equal(queryString[" x"].Count, 1); assert.OptionalEqual(queryString[" x"][0], "test value"); assert.Equal(queryString.ToString(), rawQueryString); }); QUnit.Module("QueryString Manipulating"); QUnit.Test("Add 'x=2' to 'x=1'", assert => { var queryString = QueryString.Parse("x=1").Add("x", "2"); assert.Equal(queryString["x"].Count, 2); assert.OptionalEqual(queryString["x"][0], "1"); assert.OptionalEqual(queryString["x"][1], "2"); assert.Equal(queryString.ToString(), "x=1&x=2"); }); QUnit.Test("Remove 'x' from 'x=1&x=2'", assert => { var queryString = QueryString.Parse("x=1&x=2").RemoveIfPresent("x"); assert.Equal(queryString["x"].Count, 0); assert.Equal(queryString.ToString(), ""); }); // This tests a fix around AddToQueryIfDefined where NonBlankTrimmedString is used, since NonBlankTrimmedString became an [ObjectLiteral] QUnit.Test("Test ToString() after call AddToQueryIfDefined with NonBlankTrimmedString", assert => { var url = new UrlDetails(NonNullList.Of(new NonBlankTrimmedString("home"))).AddToQueryIfDefined("q", Optional.For(new NonBlankTrimmedString("test"))); assert.Equal(url.ToString(), "/home?q=test"); }); }
/// <summary> /// HTTP request. /// Instantiate the object using an HttpListenerContext. /// </summary> /// <param name="ctx">HttpListenerContext.</param> public HttpRequest(HttpListenerContext ctx) { if (ctx == null) { throw new ArgumentNullException(nameof(ctx)); } if (ctx.Request == null) { throw new ArgumentNullException(nameof(ctx.Request)); } ListenerContext = ctx; Keepalive = ctx.Request.KeepAlive; ContentLength = ctx.Request.ContentLength64; Useragent = ctx.Request.UserAgent; ContentType = ctx.Request.ContentType; _Uri = new Uri(ctx.Request.Url.ToString().Trim()); ThreadId = Thread.CurrentThread.ManagedThreadId; TimestampUtc = DateTime.Now.ToUniversalTime(); ProtocolVersion = "HTTP/" + ctx.Request.ProtocolVersion.ToString(); Source = new SourceDetails(ctx.Request.RemoteEndPoint.Address.ToString(), ctx.Request.RemoteEndPoint.Port); Destination = new DestinationDetails(ctx.Request.LocalEndPoint.Address.ToString(), ctx.Request.LocalEndPoint.Port, _Uri.Host); Method = (HttpMethod)Enum.Parse(typeof(HttpMethod), ctx.Request.HttpMethod, true); Url = new UrlDetails(ctx.Request.Url.ToString().Trim(), ctx.Request.RawUrl.ToString().Trim()); Query = new QueryDetails(Url.Full); Headers = new Dictionary <string, string>(); for (int i = 0; i < ctx.Request.Headers.Count; i++) { string key = ctx.Request.Headers.GetKey(i); string val = ctx.Request.Headers.Get(i); Headers = AddToDict(key, val, Headers); } foreach (KeyValuePair <string, string> curr in Headers) { if (String.IsNullOrEmpty(curr.Key)) { continue; } if (String.IsNullOrEmpty(curr.Value)) { continue; } if (curr.Key.ToLower().Equals("transfer-encoding")) { if (curr.Value.ToLower().Contains("chunked")) { ChunkedTransfer = true; } if (curr.Value.ToLower().Contains("gzip")) { Gzip = true; } if (curr.Value.ToLower().Contains("deflate")) { Deflate = true; } } } Data = ctx.Request.InputStream; }
public async Task GoToPage_Updated(UrlDetails url) { var updatedBase = (url.LeftSide.ToLower().Contains("brandone.com")) ? updatedBaseUrlBrandOne : updatedBaseUrlBrandTwo; await GoToPage(String.Format("{0}{1}", updatedBase, url.RightSide)); }