Browse Source

Refactored.

pull/113/head
Halil İbrahim Kalkan 9 years ago
parent
commit
c7f67bbc4a
  1. 9
      src/Volo.Abp.Http.Client/Microsoft/Extensions/DependencyInjection/ServiceCollectionDynamicHttpClientProxyExtensions.cs
  2. 17
      src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/RemoteServiceConfiguration.cs
  3. 15
      src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/RemoteServiceConfigurationDictionary.cs
  4. 36
      src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/RemoteServiceOptions.cs
  5. 1
      src/Volo.Abp.Identity.HttpApi/Volo/Abp/Identity/AbpIdentityHttpApiModule.cs
  6. 4
      test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestModule.cs

9
src/Volo.Abp.Http.Client/Microsoft/Extensions/DependencyInjection/ServiceCollectionDynamicHttpClientProxyExtensions.cs

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

17
src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/RemoteServiceConfiguration.cs

@ -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;
}
}
}

15
src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/RemoteServiceConfigurationDictionary.cs

@ -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; }
}
}
}

36
src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/RemoteServiceOptions.cs

@ -1,42 +1,12 @@
using System; namespace Volo.Abp.Http.Client
using System.Collections.Generic;
using System.Text;
namespace Volo.Abp.Http.Client
{ {
public class RemoteServiceOptions public class RemoteServiceOptions
{ {
public RemoteServiceDictionary RemoteServices { get; set; } public RemoteServiceConfigurationDictionary RemoteServices { get; set; }
public RemoteServiceOptions() public RemoteServiceOptions()
{ {
RemoteServices = new RemoteServiceDictionary(); RemoteServices = new RemoteServiceConfigurationDictionary();
}
}
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;
} }
} }
} }

1
src/Volo.Abp.Identity.HttpApi/Volo/Abp/Identity/AbpIdentityHttpApiModule.cs

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

4
test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestModule.cs

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

Loading…
Cancel
Save