private void Init( string httpMethod, Uri url, string applicationPath, IEnumerable <KeyValuePair <string, string[]> > formData, IEnumerable <KeyValuePair <string, string> > cookies, Func <byte[], byte[]> cookieDecryptor) { HttpMethod = httpMethod; Url = url; ApplicationUrl = new Uri(url, applicationPath); Form = new ReadOnlyDictionary <string, string>( (formData ?? Enumerable.Empty <KeyValuePair <string, string[]> >()) .ToDictionary(kv => kv.Key, kv => kv.Value.Single())); QueryString = QueryStringHelper.ParseQueryString(url.Query); var relayState = QueryString["RelayState"].SingleOrDefault(); if (relayState != null) { var cookieName = "Kentor." + relayState; if (cookies.Any(c => c.Key == cookieName)) { var cookieData = cookies.SingleOrDefault(c => c.Key == cookieName).Value; var unescapedBase64Data = cookieData .Replace('_', '/') .Replace('-', '+') .Replace('.', '='); CookieData = Encoding.UTF8.GetString(cookieDecryptor( Convert.FromBase64String(unescapedBase64Data))); } } }
private void InitFromDeepLinkingParams() { var action = Intent.Action; if (Intent.Data == null) { return; } var parsedOptions = QueryStringHelper.ParseQueryString(Intent.Data.Query, "==="); if (parsedOptions.ContainsKey(Constants.EMAIL_KEY)) { mEmail = parsedOptions[Constants.EMAIL_KEY]; } if (parsedOptions.ContainsKey(Constants.PASSWORD_KEY)) { mPassword = parsedOptions[Constants.PASSWORD_KEY]; } if (!string.IsNullOrWhiteSpace(mEmail)) { mEtEmail.Text = mEmail; } if (!string.IsNullOrWhiteSpace(mPassword)) { mEtPassword.Text = mPassword; } }
private void InitBasicFields(string httpMethod, Uri url, string applicationPath, IEnumerable <KeyValuePair <string, string[]> > formData) { HttpMethod = httpMethod; Url = url; ApplicationUrl = new Uri(url, applicationPath); Form = new ReadOnlyDictionary <string, string>( (formData ?? Enumerable.Empty <KeyValuePair <string, string[]> >()) .ToDictionary(kv => kv.Key, kv => kv.Value.Single())); QueryString = QueryStringHelper.ParseQueryString(url.Query); }
public void QueryStringHelper_ParseQueryString_HandlesEqualsSignAtTheEndOfParameter() { var subject = QueryStringHelper.ParseQueryString("?fname=john&lname=doe="); var expected = new[] { new { key = "fname", value = "john" }, new { key = "lname", value = "doe=" } }.ToLookup(x => x.key, x => x.value); subject.Should().BeEquivalentTo(expected); }
public void QueryStringHelper_ParseQueryString_HandlesKeyWithoutValue() { var subject = QueryStringHelper.ParseQueryString("?fname&lname=doe"); var expected = new[] { new { key = "fname", value = (string)null }, new { key = "lname", value = "doe" } }.ToLookup(x => x.key, x => x.value); subject.Should().BeEquivalentTo(expected); }
public void QueryStringHelper_ParseQueryString_ShouldRemoveQuestionmark() { var expected = new[] { new { key = "fname", value = "john" }, new { key = "lname", value = "doe" } }.ToLookup(x => x.key, y => y.value); var collection = QueryStringHelper.ParseQueryString("?fname=john&lname=doe"); collection.Should().BeEquivalentTo(expected); }
public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options) { var parsedOptions = QueryStringHelper.ParseQueryString(url.Query, "&"); if (parsedOptions.ContainsKey(Constants.EMAIL_KEY)) { Email = parsedOptions[Constants.EMAIL_KEY]; } if (parsedOptions.ContainsKey(Constants.PASSWORD_KEY)) { Password = parsedOptions[Constants.PASSWORD_KEY]; } OnOpenFromDeepLinking?.Invoke(); return(true); }
void WebSingleSignon_Navigating(object sender, NavigatingEventArgs e) { App.Model.PendingServiceCalls++; if (e.Uri.ToString().StartsWith(RedirectUrl)) { var queryParams = QueryStringHelper.ParseQueryString(e.Uri.Query); string grantToken; if (queryParams.TryGetValue("grant_token", out grantToken)) { e.Cancel = true; App.Model.PendingServiceCalls = 0; var settings = IsolatedStorageSettings.ApplicationSettings; //grantToken = HttpUtility.UrlDecode(grantToken); //grantToken = grantToken.Replace("%7", "|"); //var regex = new Regex("grant_token=([^&]*)"); settings["grantToken"] = grantToken; settings.Save(); this.NavigationService.Navigate(new Uri("/Views/SplashPage.xaml", UriKind.Relative)); } } }
public void QueryStringHelper_ParseQueryString_ShouldCreateEmptyOnEmptyString() { var collection = QueryStringHelper.ParseQueryString(""); collection.Should().BeEmpty(); }
public void QueryStringHelper_ParseQueryString_ThrowsOnNull() { Action a = () => QueryStringHelper.ParseQueryString(null); a.Should().Throw <ArgumentNullException>(); }