using System.Collections.Generic; namespace System.Net { public static class Extensions { public static Cookie GetCookieWithName(this CookieCollection cookieCollection, string cookieName) { foreach (Cookie cookie in cookieCollection) { if (cookie.Name == cookieName) { return cookie; } } return null; } /// /// https://github.com/aspnet/HttpAbstractions/issues/121 - Helpers implemented here until that. /// /// public static Dictionary ParseQueryString(this Uri uri) { var queryParameters = Uri.UnescapeDataString(uri.Query.TrimStart('?')).Split(new char[] { '&' }, StringSplitOptions.RemoveEmptyEntries); var queryItemCollection = new Dictionary(StringComparer.OrdinalIgnoreCase); if (queryParameters != null && queryParameters.Length > 0) { foreach (var queryParameter in queryParameters) { var queryParameterParts = queryParameter.Split(new char[] { '=' }, StringSplitOptions.RemoveEmptyEntries); var value = queryParameterParts.Length == 1 ? string.Empty : queryParameterParts[1]; queryItemCollection.Add(queryParameterParts[0], value); } } return queryItemCollection; } } }