/// <summary>
 /// Adds a delegate that uses the http client for the named OData proxy.
 /// </summary>
 /// <param name="builder">The <see cref="IServiceCollection"/>.</param>
 /// <param name="httpClient">The http client to be used for communication.</param>
 /// <returns>An <see cref="IODataClientBuilder"/> that can be used to further configure the odata client.</returns>
 /// <remarks>
 /// This could be used for in memory testing.
 /// </remarks>
 public static IODataClientBuilder AddHttpClient(this IODataClientBuilder builder, HttpClient httpClient)
 {
     return(builder.ConfigureODataClient(context =>
     {
         context.Configurations.RequestPipeline.OnMessageCreating = (args) => new HttpClientRequestMessage(httpClient, args, context.Configurations);
     }));
 }
        /// <summary>
        /// Adds an additional property and value to be shared with other OData or Http handlers.
        /// </summary>
        /// <param name="builder">The <see cref="IODataClientBuilder"/>.</param>
        /// <returns>An <see cref="IODataClientBuilder"/> that can be used to configure the client.</returns>
        public static IODataClientBuilder AddProperty(this IODataClientBuilder builder, string propertyName, object propertyValue)
        {
            builder.ConfigureODataClient(dsc => dsc.Configurations.Properties[propertyName] = propertyValue);

            return(builder);
        }