System.Net.Http.HttpRequestHeadersExtensions.GetCookies C# (CSharp) Method

GetCookies() public static method

Gets any cookie headers present in the request. Each Cookie header is represented as one CookieHeaderValue instance. A CookieHeaderValue contains information about the domain, path, and other cookie information as well as one or more CookieState instances. Each CookieState instance contains a cookie name and whatever cookie state is associate with that name. The state is in the form of a System.Collections.Specialized.NameValueCollection which on the wire is encoded as HTML Form URL-encoded data. This representation allows for multiple related "cookies" to be carried within the same Cookie header while still providing separation between each cookie state. A sample Cookie header is shown below. In this example, there are two CookieState with names state1 and state2 respectively. Further, each cookie state contains two name/value pairs (name1/value1 and name2/value2) and (name3/value3 and name4/value4). Cookie: state1:name1=value1&name2=value2; state2:name3=value3&name4=value4; domain=domain1; path=path1;
public static GetCookies ( this headers ) : Collection
headers this The request headers
return Collection
        public static Collection<CookieHeaderValue> GetCookies(this HttpRequestHeaders headers)
        {
            if (headers == null)
            {
                throw new ArgumentNullException("headers");
            }

            Collection<CookieHeaderValue> result = new Collection<CookieHeaderValue>();
            IEnumerable<string> cookieHeaders;
            if (headers.TryGetValues(Cookie, out cookieHeaders))
            {
                foreach (string cookieHeader in cookieHeaders)
                {
                    CookieHeaderValue cookieHeaderValue;
                    if (CookieHeaderValue.TryParse(cookieHeader, out cookieHeaderValue))
                    {
                        result.Add(cookieHeaderValue);
                    }
                }
            }
            return result;
        }

Usage Example

 public void GetCookies_ThrowsOnNull()
 {
     Assert.ThrowsArgumentNull(
         () => HttpRequestHeadersExtensions.GetCookies(null),
         "headers"
         );
 }
All Usage Examples Of System.Net.Http.HttpRequestHeadersExtensions::GetCookies
HttpRequestHeadersExtensions