示例#1
0
        /// <summary>
        /// Creates a test client that communicates with the specified server.
        /// </summary>
        /// <param name="server">The server.</param>
        /// <returns>A newly-created <see cref="TestHttpClient"/>.</returns>
        /// <exception cref="ArgumentNullException"><paramref name="server"/> is <see langword="null"/>.</exception>
        /// <seealso cref="Create(string)"/>
        /// <seealso cref="Create(Uri)"/>
        public static TestHttpClient Create(ITestWebServer server)
        {
            Validate.NotNull(nameof(server), server);

#pragma warning disable CA2000 // Dispose handler before it goes out of scope - Ownership of handler is transferred to the TestHttpClient instance.
            var handler = new TestMessageHandler(server);
#pragma warning restore CA2000
            try
            {
                return(new TestHttpClient(handler, server.BaseUrl));
            }
            catch
            {
                handler.Dispose();
                throw;
            }
        }
示例#2
0
        /// <summary>
        /// Creates a test client that communicates with the specified server.
        /// </summary>
        /// <param name="server">The server.</param>
        /// <returns>A newly-created <see cref="TestHttpClient"/>.</returns>
        /// <seealso cref="Create(string)"/>
        public static TestHttpClient Create(ITestWebServer server)
        {
            var handler = new TestMessageHandler(Validate.NotNull(nameof(server), server));

            return(new TestHttpClient(handler, server.BaseUrl));
        }