Beispiel #1
0
        public HttpClient CreateClient(HttpProtocols?httpProtocol = null, DelegatingHandler?messageHandler = null)
        {
            HttpClient client;

            if (messageHandler != null)
            {
                messageHandler.InnerHandler = new HttpClientHandler();
                client = new HttpClient(messageHandler);
            }
            else
            {
                client = new HttpClient();
            }

            switch (httpProtocol ?? HttpProtocols.Http2)
            {
            case HttpProtocols.Http1:
                client.BaseAddress = new Uri(_server.GetUrl(HttpProtocols.Http1));
                break;

            case HttpProtocols.Http2:
                client.DefaultRequestVersion = new Version(2, 0);
                client.BaseAddress           = new Uri(_server.GetUrl(HttpProtocols.Http2));
                break;

            default:
                throw new ArgumentException("Unexpected value.", nameof(httpProtocol));
            }

            return(client);
        }
Beispiel #2
0
        private (HttpClient client, HttpMessageHandler handler) CreateHttpCore(TestServerEndpointName?endpointName = null, DelegatingHandler?messageHandler = null)
        {
            endpointName ??= TestServerEndpointName.Http2;

            var httpClientHandler = new HttpClientHandler();

            httpClientHandler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;

            HttpClient         client;
            HttpMessageHandler handler;

            if (messageHandler != null)
            {
                messageHandler.InnerHandler = httpClientHandler;
                handler = messageHandler;
                client  = new HttpClient(messageHandler);
            }
            else
            {
                handler = httpClientHandler;
                client  = new HttpClient(httpClientHandler);
            }

            if (endpointName == TestServerEndpointName.Http2)
            {
                client.DefaultRequestVersion = new Version(2, 0);
#if NET5_0
                client.DefaultVersionPolicy = HttpVersionPolicy.RequestVersionOrHigher;
#endif
            }
            client.BaseAddress = new Uri(_server.GetUrl(endpointName.Value));

            return(client, handler);
        }
Beispiel #3
0
        private (HttpClient client, HttpMessageHandler handler) CreateHttpCore(TestServerEndpointName?endpointName = null, DelegatingHandler?messageHandler = null)
        {
            endpointName ??= TestServerEndpointName.Http2;

            var httpClientHandler = new HttpClientHandler();

            httpClientHandler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;

            HttpClient         client;
            HttpMessageHandler handler;

            if (messageHandler != null)
            {
                messageHandler.InnerHandler = httpClientHandler;
                handler = messageHandler;
                client  = new HttpClient(messageHandler);
            }
            else
            {
                handler = httpClientHandler;
                client  = new HttpClient(httpClientHandler);
            }

            switch (endpointName)
            {
            case TestServerEndpointName.Http1:
                client.BaseAddress = new Uri(_server.GetUrl(endpointName.Value));
                break;

            case TestServerEndpointName.Http2:
                client.DefaultRequestVersion = new Version(2, 0);
                client.BaseAddress           = new Uri(_server.GetUrl(endpointName.Value));
                break;

            case TestServerEndpointName.Http1WithTls:
                client.BaseAddress = new Uri(_server.GetUrl(endpointName.Value));
                break;

            default:
                throw new ArgumentException("Unexpected value: " + endpointName, nameof(endpointName));
            }

            return(client, handler);
        }