Refactored.

pull/112/head
Halil İbrahim Kalkan 8 years ago
parent b2c0fad53a
commit c7f67bbc4a

@ -13,10 +13,7 @@ namespace Microsoft.Extensions.DependencyInjection
{
private static readonly ProxyGenerator ProxyGeneratorInstance = new ProxyGenerator();
public static IServiceCollection AddHttpClientProxies(
this IServiceCollection services,
Assembly assembly,
string remoteServiceName)
public static IServiceCollection AddHttpClientProxies(this IServiceCollection services, Assembly assembly, string remoteServiceName = RemoteServiceConfigurationDictionary.DefaultName)
{
//TODO: Add option to change type filter
@ -32,12 +29,12 @@ namespace Microsoft.Extensions.DependencyInjection
return services;
}
public static IServiceCollection AddHttpClientProxy<T>(this IServiceCollection services, string remoteServiceName)
public static IServiceCollection AddHttpClientProxy<T>(this IServiceCollection services, string remoteServiceName = RemoteServiceConfigurationDictionary.DefaultName)
{
return services.AddHttpClientProxy(typeof(T), remoteServiceName);
}
public static IServiceCollection AddHttpClientProxy(this IServiceCollection services, Type type, string remoteServiceName)
public static IServiceCollection AddHttpClientProxy(this IServiceCollection services, Type type, string remoteServiceName = RemoteServiceConfigurationDictionary.DefaultName)
{
services.Configure<AbpHttpClientOptions>(options =>
{

@ -0,0 +1,17 @@
namespace Volo.Abp.Http.Client
{
public class RemoteServiceConfiguration
{
public string BaseUrl { get; set; }
public RemoteServiceConfiguration()
{
}
public RemoteServiceConfiguration(string baseUrl)
{
BaseUrl = baseUrl;
}
}
}

@ -0,0 +1,15 @@
using System.Collections.Generic;
namespace Volo.Abp.Http.Client
{
public class RemoteServiceConfigurationDictionary : Dictionary<string, RemoteServiceConfiguration>
{
public const string DefaultName = "Default";
public RemoteServiceConfiguration Default
{
get { return this.GetOrDefault(DefaultName); }
set { this[DefaultName] = value; }
}
}
}

@ -1,42 +1,12 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Volo.Abp.Http.Client
namespace Volo.Abp.Http.Client
{
public class RemoteServiceOptions
{
public RemoteServiceDictionary RemoteServices { get; set; }
public RemoteServiceConfigurationDictionary RemoteServices { get; set; }
public RemoteServiceOptions()
{
RemoteServices = new RemoteServiceDictionary();
}
}
public class RemoteServiceDictionary : Dictionary<string, RemoteServiceConfiguration>
{
public const string DefaultName = "Default";
public RemoteServiceConfiguration Default
{
get { return this.GetOrDefault(DefaultName); }
set { this[DefaultName] = value; }
}
}
public class RemoteServiceConfiguration
{
public string BaseUrl { get; set; }
public RemoteServiceConfiguration()
{
}
public RemoteServiceConfiguration(string baseUrl)
{
BaseUrl = baseUrl;
RemoteServices = new RemoteServiceConfigurationDictionary();
}
}
}

@ -13,7 +13,6 @@ namespace Volo.Abp.Identity
services.Configure<AbpAspNetCoreMvcOptions>(options =>
{
//TODO: We can move this call to services.AddAppServicesAsControllers(typeof(AbpIdentityApplicationContractsModule).Assembly, "identity");
options.AppServiceControllers.CreateFor(typeof(AbpIdentityApplicationModule).Assembly, "identity");
});
}

@ -14,8 +14,8 @@ namespace Volo.Abp.Http
{
services.AddAssemblyOf<AbpHttpTestModule>();
services.AddHttpClientProxies(typeof(TestAppModule).Assembly, "Default");
services.AddHttpClientProxy<IRegularTestController>("Default");
services.AddHttpClientProxies(typeof(TestAppModule).Assembly);
services.AddHttpClientProxy<IRegularTestController>();
services.Configure<RemoteServiceOptions>(options =>
{

Loading…
Cancel
Save