示例#1
0
 public HttpsTestRunner(IPortableEndPoint endpoint, HttpsTestParameters parameters,
                        ConnectionTestProvider provider, Uri uri, ListenerFlags flags)
     : base(endpoint, parameters)
 {
     Provider      = provider;
     ListenerFlags = flags;
     Uri           = uri;
 }
示例#2
0
        ListenerFlags GetListenerFlags(TestContext ctx)
        {
            ListenerFlags flags = listenerFlags | ListenerFlags.SSL;

            bool reuseConnection;

            if (ctx.TryGetParameter <bool> (out reuseConnection, "ReuseConnection") && reuseConnection)
            {
                flags |= ListenerFlags.ReuseConnection;
            }

            return(flags);
        }
示例#3
0
        public HttpServer(Uri uri, IPortableEndPoint listenAddress, ListenerFlags flags, ConnectionParameters parameters, ISslStreamProvider sslStreamProvider = null)
        {
            this.uri               = uri;
            this.listenAddress     = listenAddress;
            this.flags             = flags | ListenerFlags.SSL;
            this.sslStreamProvider = sslStreamProvider;
            this.parameters        = parameters;

            if (this.sslStreamProvider == null)
            {
                var factory = DependencyInjector.Get <ConnectionProviderFactory> ();
                this.sslStreamProvider = factory.DefaultSslStreamProvider;
            }
        }
示例#4
0
        public Listener(IPortableEndPoint endpoint, ListenerFlags flags)
        {
            var ssl = (flags & ListenerFlags.SSL) != 0;

            if (ssl & (flags & ListenerFlags.Proxy) != 0)
            {
                throw new InvalidOperationException();
            }

            var address         = IPAddress.Parse(endpoint.Address);
            var networkEndpoint = new IPEndPoint(address, endpoint.Port);

            uri = new Uri(string.Format("http{0}://{1}:{2}/", ssl ? "s" : "", endpoint.Address, endpoint.Port));

            server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            server.Bind(networkEndpoint);
            server.Listen(1);
        }
示例#5
0
        public HttpServer(IPortableEndPoint clientEndPoint, IPortableEndPoint listenAddress, ListenerFlags flags, ConnectionParameters parameters = null, ISslStreamProvider sslStreamProvider = null)
        {
            this.listenAddress     = listenAddress;
            this.flags             = flags;
            this.sslStreamProvider = sslStreamProvider;
            this.parameters        = parameters;

            if (parameters != null)
            {
                flags |= ListenerFlags.SSL;
            }

            if ((flags & ListenerFlags.SSL) != 0)
            {
                if (this.sslStreamProvider == null)
                {
                    var factory = DependencyInjector.Get <ConnectionProviderFactory> ();
                    this.sslStreamProvider = factory.DefaultSslStreamProvider;
                }
            }

            uri = new Uri(string.Format("http{0}://{1}:{2}/", UseSSL ? "s" : "", clientEndPoint.Address, clientEndPoint.Port));
        }
示例#6
0
 public HttpsTestRunnerAttribute(ListenerFlags listenerFlags = ListenerFlags.None)
     : base(typeof(HttpsTestRunnerAttribute))
 {
     this.listenerFlags = listenerFlags;
 }
示例#7
0
 protected HttpServerAttribute(Type type, TestFlags flags  = TestFlags.None,
                               ListenerFlags listenerFlags = ListenerFlags.None)
     : base(type, flags)
 {
 }
示例#8
0
 public HttpServer CreateServer(IPortableEndPoint clientAndPoint, IPortableEndPoint listenAddress, ListenerFlags flags, ConnectionParameters parameters = null)
 {
     return(new HttpServer(this, clientAndPoint, listenAddress, flags, parameters));
 }
示例#9
0
		public HttpServer CreateServer (IPortableEndPoint clientAndPoint, IPortableEndPoint listenAddress, ListenerFlags flags, ConnectionParameters parameters = null)
		{
			return new HttpServer (this, clientAndPoint, listenAddress, flags, parameters);
		}
示例#10
0
		public HttpServer CreateServer (IPortableEndPoint endpoint, ListenerFlags flags, ServerParameters parameters = null)
		{
			return new HttpServer (this, endpoint, flags, parameters);
		}