Initial Commit ...
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using xCommons.Extensions;
|
||||
using xCommons.Models;
|
||||
using xHttpService.Configurations;
|
||||
using xHttpService.Constants;
|
||||
using xHttpService.Interfaces;
|
||||
using xHttpService.Providers;
|
||||
|
||||
namespace xHttpService.DI {
|
||||
public static partial class XDIHelperExtension {
|
||||
/// <summary>
|
||||
/// Retrieve XHttpService Configuration from AppSettings
|
||||
/// </summary>
|
||||
/// <param name="configuration"></param>
|
||||
/// <returns></returns>
|
||||
public static XHttpServiceConfiguration GetXHttpServiceConfiguration (this IConfiguration configuration) {
|
||||
//
|
||||
var xHttpSection = configuration.GetSection (ConfigurationNodeNames.HTTP_SERVICE_NODE_NAME);
|
||||
return xHttpSection.Get<XHttpServiceConfiguration> ();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Register XHttpService Configuration
|
||||
/// </summary>
|
||||
/// <param name="services"></param>
|
||||
/// <param name="configuration"></param>
|
||||
public static void AddXHttpServiceConfiguration (
|
||||
this IServiceCollection services,
|
||||
IConfiguration configuration
|
||||
) {
|
||||
//
|
||||
var httpServiceConfiguration = configuration.GetXHttpServiceConfiguration ();
|
||||
services.AddXHttpServiceConfiguration(httpServiceConfiguration);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Register XHttpService Configuration
|
||||
/// </summary>
|
||||
/// <param name="services"></param>
|
||||
/// <param name="configuration"></param>
|
||||
public static void AddXHttpServiceConfiguration (
|
||||
this IServiceCollection services,
|
||||
XHttpServiceConfiguration configuration
|
||||
) {
|
||||
//
|
||||
if (configuration.IsNull ()) {
|
||||
Console.WriteLine($"xHttpService: there is no provided configurations, using default ...");
|
||||
configuration = new XHttpServiceConfiguration ();
|
||||
}
|
||||
|
||||
//
|
||||
services.AddSingleton<XHttpServiceConfiguration> (configuration);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Register XHttpService on DI ...
|
||||
/// </summary>
|
||||
/// <param name="services"></param>
|
||||
/// <param name="configuration"></param>
|
||||
public static void AddXHttpService (
|
||||
this IServiceCollection services,
|
||||
IConfiguration configuration
|
||||
) {
|
||||
//
|
||||
// Register Service Configuration ...
|
||||
if (services.GetRegisteredService<XHttpServiceConfiguration> ().IsNull ()) {
|
||||
services.AddXHttpServiceConfiguration (configuration);
|
||||
}
|
||||
|
||||
//
|
||||
// Register Service ...
|
||||
services.AddSingleton<IXHttpProvider, XHttpProvider> ();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Register XHttpService on DI ...
|
||||
/// </summary>
|
||||
/// <param name="services"></param>
|
||||
/// <param name="configuration"></param>
|
||||
public static void AddXHttpService (
|
||||
this IServiceCollection services,
|
||||
XHttpServiceConfiguration configuration
|
||||
) {
|
||||
//
|
||||
// Register Service Configuration ...
|
||||
if (services.GetRegisteredService<XHttpServiceConfiguration> ().IsNull ()) {
|
||||
services.AddXHttpServiceConfiguration (configuration);
|
||||
}
|
||||
|
||||
//
|
||||
// Register Service ...
|
||||
services.AddSingleton<IXHttpProvider, XHttpProvider> ();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user