/// <inheritdoc/> protected override void ParseUriString(string uri) { var validatedUri = ValidateSourceUri(uri); SetRoot(validatedUri); var queryParams = new Helpers.QueryParameterCollection(validatedUri); var grouped = queryParams.GroupBy(pair => pair.Key); foreach (var group in grouped) { // adds the group to the base with ',' separating each item within a group Add(group.Key, string.Join(",", group.Select(item => item.Value))); } }
/// <summary> /// Parses the URI string in to components. /// </summary> /// <param name="uri">The URI.</param> protected virtual void ParseUriString(string uri) { Uri validatedUri = ValidateSourceUri(uri); SetRoot(validatedUri); var queryParams = new Helpers.QueryParameterCollection(validatedUri); foreach (var queryStringParam in queryParams) { try { Add(queryStringParam.Key, queryStringParam.Value); } catch (ArgumentException aex) { throw new ArgumentException("If you wish to use the same key name to add an array of values, try using CollectionFormingDeepLinkParser", aex); } } }