Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 51 lines (43 sloc) 1.155 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
using System;
using System.Net;

namespace SignalR.Hosting.Self
{
    internal class CookieCollectionWrapper : IRequestCookieCollection
    {
        private CookieCollection _cookies;
        private readonly Func<CookieCollection> _clearer;

        public CookieCollectionWrapper(CookieCollection cookies)
            : this (cookies, null)
        {

        }

        public CookieCollectionWrapper(CookieCollection cookies, Func<CookieCollection> clearer)
        {
            _cookies = cookies;
            _clearer = clearer;
        }

        public Cookie this[string name]
        {
            get
            {
                return ToSignalRCookie(_cookies[name]);
            }
        }

        public int Count
        {
            get { return _cookies.Count; }
        }

        private static Cookie ToSignalRCookie(System.Net.Cookie source)
        {
            if (source == null)
            {
                return null;
            }

            return new Cookie(
                source.Name,
                source.Value,
                source.Domain,
                source.Path
            );
        }
    }
}
Something went wrong with that request. Please try again.