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();
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 =>
{

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;
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();
}
}
}

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

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

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

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