Ejemplo n.º 1
0
        /// <summary>
        /// Creates a SolidHttpClient with a base address
        /// </summary>
        /// <param name="factory">The ISolidHttpClientFactory</param>
        /// <param name="baseAddress">The base address to use</param>
        /// <returns>SolidHttpClient</returns>
        public static SolidHttpClient CreateWithBaseAddress(this ISolidHttpClientFactory factory, Uri baseAddress)
        {
            var client = factory.Create();

            client.AddProperty("Client::BaseAddress", baseAddress);
            client.OnRequestCreated += OnRequestCreated;
            return(client);
        }
Ejemplo n.º 2
0
        public BaseAddressTests()
        {
            var services = new ServiceCollection();

            services.AddSolidHttpCore();
            var provider = services.BuildServiceProvider();

            _factory = provider.GetService <ISolidHttpClientFactory>();
        }
        /// <summary>
        /// Creates a SolidHttpClient with a base address
        /// </summary>
        /// <param name="factory">The ISolidHttpClientFactory</param>
        /// <param name="baseAddress">The base address to use</param>
        /// <returns>SolidHttpClient</returns>
        public static ISolidHttpClient CreateWithBaseAddress(this ISolidHttpClientFactory factory, Uri baseAddress)
        {
            var client = factory.Create();

            if (baseAddress == null)
            {
                throw new ArgumentNullException(nameof(baseAddress));
            }
            if (!string.IsNullOrEmpty(baseAddress.Query))
            {
                throw new ArgumentException("BaseAddresses with query parameters not supported.", nameof(baseAddress));
            }
            client.AddProperty("Client::BaseAddress", EnsureTrailingSlash(baseAddress));
            client.OnRequestCreated((services, request) => OnRequestCreated(services, request));
            return(client);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Creates a SolidHttpClient using a connection string
        /// </summary>
        /// <param name="factory">The ISolidHttpClientFactory</param>
        /// <param name="connectionStringName">The name of the connection string in the configuration file</param>
        /// <returns>SolidHttpClient</returns>
        public static ISolidHttpClient CreateUsingConnectionString(this ISolidHttpClientFactory factory, string connectionStringName)
        {
            var baseAddress = factory.Configuration.GetConnectionString(connectionStringName);

            return(factory.CreateWithBaseAddress(baseAddress));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Creates an <see cref="ISolidHttpClient" /> with a base address.
        /// </summary>
        /// <param name="factory">The <see cref="ISolidHttpClientFactory" /> being extended.</param>
        /// <param name="baseAddress">The base address to attach to the <see cref="ISolidHttpClient" />.</param>
        /// <returns>An <see cref="ISolidHttpClient" /> with a base address.</returns>
        public static ISolidHttpClient CreateWithBaseAddress(this ISolidHttpClientFactory factory, string baseAddress)
        {
            var url = new Uri(baseAddress, UriKind.Absolute);

            return(factory.CreateWithBaseAddress(url));
        }
Ejemplo n.º 6
0
 public ValuesController(ISolidHttpClientFactory factory)
 {
     _factory = factory;
 }
 /// <summary>
 /// Creates a SolidHttpClient with a base address
 /// </summary>
 /// <param name="factory">The ISolidHttpClientFactory</param>
 /// <param name="baseAddress">The base address to use</param>
 /// <returns>SolidHttpClient</returns>
 public static ISolidHttpClient CreateWithBaseAddress(this ISolidHttpClientFactory factory, string baseAddress)
 {
     return(factory.CreateWithBaseAddress(new Uri(baseAddress)));
 }