#if !NET20

using System.Text;

namespace Apewer.WebSocket
{
    internal class FlashSocketPolicyRequestHandler
    {
        public static string PolicyResponse = 
"<?xml version=\"1.0\"?>\n" +
"<cross-domain-policy>\n" +
"   <allow-access-from domain=\"*\" to-ports=\"*\"/>\n" +
"   <site-control permitted-cross-domain-policies=\"all\"/>\n" +
"</cross-domain-policy>\n" +
"\0";

        public static ComposableHandler Create(HttpRequest request)
        {
            return new ComposableHandler
            {
                Handshake = sub => FlashSocketPolicyRequestHandler.Handshake(request, sub),
            };
        }
        
        public static byte[] Handshake(HttpRequest request, string subProtocol)
        {
            WebSocketLog.Debug("Building Flash Socket Policy Response");
            return Encoding.UTF8.GetBytes(PolicyResponse);
        }
    }
}

#endif