Ejemplo n.º 1
0
        public HttpStressTestRunner CreateInstance(TestContext ctx)
        {
            var provider = ctx.GetParameter <ConnectionTestProvider> ();

            var parameters = ctx.GetParameter <HttpStressTestParameters> ();

            ProtocolVersions protocolVersion;

            if (ctx.TryGetParameter <ProtocolVersions> (out protocolVersion))
            {
                parameters.ProtocolVersion = protocolVersion;
            }

            IPortableEndPoint serverEndPoint;

            if (parameters.ListenAddress != null)
            {
                serverEndPoint = parameters.ListenAddress;
            }
            else if (parameters.EndPoint != null)
            {
                serverEndPoint = parameters.EndPoint;
            }
            else
            {
                serverEndPoint = ConnectionTestHelper.GetEndPoint();
            }

            if (parameters.EndPoint == null)
            {
                parameters.EndPoint = serverEndPoint;
            }
            if (parameters.ListenAddress == null)
            {
                parameters.ListenAddress = serverEndPoint;
            }

            var flags = ServerFlags | HttpServerFlags.SSL;

            bool reuseConnection;

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

            Uri uri;

            if (parameters.TargetHost == null)
            {
                parameters.TargetHost = parameters.EndPoint.HostName;
                uri = new Uri(string.Format("https://{0}:{1}/", parameters.EndPoint.Address, parameters.EndPoint.Port));
            }
            else
            {
                uri = new Uri(string.Format("https://{0}/", parameters.TargetHost));
            }

            return(new HttpStressTestRunner(parameters.EndPoint, parameters, provider, uri, flags));
        }
Ejemplo n.º 2
0
        public HttpServer CreateInstance(TestContext ctx)
        {
            var endpoint = ConnectionTestHelper.GetEndPoint();

            ConnectionParameters parameters;
            ISslStreamProvider   sslStreamProvider = null;

            var flags = GetServerFlags(ctx);

            if (GetParameters(ctx, flags, out parameters))
            {
                sslStreamProvider = GetSslStreamProvider(ctx, flags);
            }

            return(new BuiltinHttpServer(endpoint, endpoint, flags, parameters, sslStreamProvider));
        }
Ejemplo n.º 3
0
        public InstrumentationTestRunner(HttpServerProvider provider, string identifier)
        {
            Provider    = provider;
            ServerFlags = provider.ServerFlags | HttpServerFlags.InstrumentationListener;
            ME          = $"{GetType ().Name}({identifier})";

            var endPoint = ConnectionTestHelper.GetEndPoint();

            var proto = (ServerFlags & HttpServerFlags.NoSSL) != 0 ? "http" : "https";

            Uri = new Uri($"{proto}://{endPoint.Address}:{endPoint.Port}/");

            var parameters = GetParameters(identifier);

            Server = new BuiltinHttpServer(
                Uri, endPoint, ServerFlags, parameters,
                provider.SslStreamProvider);
        }