diff --git a/Volo.Abp.sln b/Volo.Abp.sln index d6e55fe8f7..4c62a97e82 100644 --- a/Volo.Abp.sln +++ b/Volo.Abp.sln @@ -128,9 +128,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.MemoryDb.Tests", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.TestApp.Tests", "test\Volo.Abp.TestApp.Tests\Volo.Abp.TestApp.Tests.csproj", "{4C2F7B03-C598-4432-A43A-B065D9D0712F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Http", "src\Volo.Abp.Http\Volo.Abp.Http.csproj", "{01A70034-D353-4BF9-821D-F2B6F7641532}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Http", "src\Volo.Abp.Http\Volo.Abp.Http.csproj", "{01A70034-D353-4BF9-821D-F2B6F7641532}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Http.Tests", "test\Volo.Abp.Http.Tests\Volo.Abp.Http.Tests.csproj", "{5B86E837-0C89-4058-A84B-0B51F2F573D4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Http.Client", "src\Volo.Abp.Http.Client\Volo.Abp.Http.Client.csproj", "{D5E2FB37-0194-480A-B952-5FFECC1200EB}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Http.Client.Tests", "test\Volo.Abp.Http.Client.Tests\Volo.Abp.Http.Client.Tests.csproj", "{703BD43C-02B9-413F-854C-9CBA0C963196}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -326,10 +328,14 @@ Global {01A70034-D353-4BF9-821D-F2B6F7641532}.Debug|Any CPU.Build.0 = Debug|Any CPU {01A70034-D353-4BF9-821D-F2B6F7641532}.Release|Any CPU.ActiveCfg = Release|Any CPU {01A70034-D353-4BF9-821D-F2B6F7641532}.Release|Any CPU.Build.0 = Release|Any CPU - {5B86E837-0C89-4058-A84B-0B51F2F573D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5B86E837-0C89-4058-A84B-0B51F2F573D4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5B86E837-0C89-4058-A84B-0B51F2F573D4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5B86E837-0C89-4058-A84B-0B51F2F573D4}.Release|Any CPU.Build.0 = Release|Any CPU + {D5E2FB37-0194-480A-B952-5FFECC1200EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D5E2FB37-0194-480A-B952-5FFECC1200EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D5E2FB37-0194-480A-B952-5FFECC1200EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D5E2FB37-0194-480A-B952-5FFECC1200EB}.Release|Any CPU.Build.0 = Release|Any CPU + {703BD43C-02B9-413F-854C-9CBA0C963196}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {703BD43C-02B9-413F-854C-9CBA0C963196}.Debug|Any CPU.Build.0 = Debug|Any CPU + {703BD43C-02B9-413F-854C-9CBA0C963196}.Release|Any CPU.ActiveCfg = Release|Any CPU + {703BD43C-02B9-413F-854C-9CBA0C963196}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -391,7 +397,8 @@ Global {D0279C94-E9A3-4A1B-968B-D3BBF3E06FD8} = {37087D1B-3693-4E96-983D-A69F210BDE53} {4C2F7B03-C598-4432-A43A-B065D9D0712F} = {37087D1B-3693-4E96-983D-A69F210BDE53} {01A70034-D353-4BF9-821D-F2B6F7641532} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8} - {5B86E837-0C89-4058-A84B-0B51F2F573D4} = {37087D1B-3693-4E96-983D-A69F210BDE53} + {D5E2FB37-0194-480A-B952-5FFECC1200EB} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8} + {703BD43C-02B9-413F-854C-9CBA0C963196} = {37087D1B-3693-4E96-983D-A69F210BDE53} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5} diff --git a/src/Volo.Abp.AspNetCore.TestBase/Volo.Abp.AspNetCore.TestBase.csproj b/src/Volo.Abp.AspNetCore.TestBase/Volo.Abp.AspNetCore.TestBase.csproj index 49b7547607..7090e4bf39 100644 --- a/src/Volo.Abp.AspNetCore.TestBase/Volo.Abp.AspNetCore.TestBase.csproj +++ b/src/Volo.Abp.AspNetCore.TestBase/Volo.Abp.AspNetCore.TestBase.csproj @@ -13,7 +13,7 @@ - + diff --git a/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/AbpAspNetCoreTestBaseModule.cs b/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/AbpAspNetCoreTestBaseModule.cs index ddd6324780..c6828feea5 100644 --- a/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/AbpAspNetCoreTestBaseModule.cs +++ b/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/AbpAspNetCoreTestBaseModule.cs @@ -1,10 +1,10 @@ using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.Http; +using Volo.Abp.Http.Client; using Volo.Abp.Modularity; namespace Volo.Abp.AspNetCore.TestBase { - [DependsOn(typeof(AbpHttpModule))] + [DependsOn(typeof(AbpHttpClientModule))] [DependsOn(typeof(AbpAspNetCoreModule))] public class AbpAspNetCoreTestBaseModule : AbpModule { diff --git a/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/DynamicProxying/AspNetCoreTestDynamicProxyHttpClientFactory.cs b/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/DynamicProxying/AspNetCoreTestDynamicProxyHttpClientFactory.cs index 8830c34c20..e0253f8f8b 100644 --- a/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/DynamicProxying/AspNetCoreTestDynamicProxyHttpClientFactory.cs +++ b/src/Volo.Abp.AspNetCore.TestBase/Volo/Abp/AspNetCore/TestBase/DynamicProxying/AspNetCoreTestDynamicProxyHttpClientFactory.cs @@ -1,6 +1,6 @@ using System.Net.Http; using Volo.Abp.DependencyInjection; -using Volo.Abp.Http.DynamicProxying; +using Volo.Abp.Http.Client.DynamicProxying; namespace Volo.Abp.AspNetCore.TestBase.DynamicProxying { diff --git a/src/Volo.Abp.Http/Microsoft/Extensions/DependencyInjection/ServiceCollectionDynamicHttpClientProxyExtensions.cs b/src/Volo.Abp.Http.Client/Microsoft/Extensions/DependencyInjection/ServiceCollectionDynamicHttpClientProxyExtensions.cs similarity index 91% rename from src/Volo.Abp.Http/Microsoft/Extensions/DependencyInjection/ServiceCollectionDynamicHttpClientProxyExtensions.cs rename to src/Volo.Abp.Http.Client/Microsoft/Extensions/DependencyInjection/ServiceCollectionDynamicHttpClientProxyExtensions.cs index 91ac82c21a..fa77c9584d 100644 --- a/src/Volo.Abp.Http/Microsoft/Extensions/DependencyInjection/ServiceCollectionDynamicHttpClientProxyExtensions.cs +++ b/src/Volo.Abp.Http.Client/Microsoft/Extensions/DependencyInjection/ServiceCollectionDynamicHttpClientProxyExtensions.cs @@ -2,7 +2,8 @@ using Castle.DynamicProxy; using Volo.Abp.Castle.DynamicProxy; using Volo.Abp.Http; -using Volo.Abp.Http.DynamicProxying; +using Volo.Abp.Http.Client; +using Volo.Abp.Http.Client.DynamicProxying; namespace Microsoft.Extensions.DependencyInjection { @@ -19,7 +20,7 @@ namespace Microsoft.Extensions.DependencyInjection public static IServiceCollection AddHttpClientProxy(this IServiceCollection services, Type type, string baseUrl) { - services.Configure(options => + services.Configure(options => { options.HttpClientProxies[type] = new DynamicHttpClientProxyConfig(type, baseUrl); }); diff --git a/src/Volo.Abp.Http.Client/Volo.Abp.Http.Client.csproj b/src/Volo.Abp.Http.Client/Volo.Abp.Http.Client.csproj new file mode 100644 index 0000000000..ff4dd91623 --- /dev/null +++ b/src/Volo.Abp.Http.Client/Volo.Abp.Http.Client.csproj @@ -0,0 +1,19 @@ + + + + netstandard2.0 + Volo.Abp.Http.Client + Volo.Abp.Http.Client + $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + false + false + false + + + + + + + + + \ No newline at end of file diff --git a/src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpOptions.cs b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpClientOptions.cs similarity index 63% rename from src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpOptions.cs rename to src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpClientOptions.cs index 692702c405..5adcd7525f 100644 --- a/src/Volo.Abp.Http/Volo/Abp/Http/AbpHttpOptions.cs +++ b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpClientOptions.cs @@ -1,14 +1,14 @@ using System; using System.Collections.Generic; -using Volo.Abp.Http.DynamicProxying; +using Volo.Abp.Http.Client.DynamicProxying; -namespace Volo.Abp.Http +namespace Volo.Abp.Http.Client { - public class AbpHttpOptions + public class AbpHttpClientOptions { public Dictionary HttpClientProxies { get; set; } - public AbpHttpOptions() + public AbpHttpClientOptions() { HttpClientProxies = new Dictionary(); } diff --git a/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpModule.cs b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpModule.cs new file mode 100644 index 0000000000..37ddfe2755 --- /dev/null +++ b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpModule.cs @@ -0,0 +1,14 @@ +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Modularity; + +namespace Volo.Abp.Http.Client +{ + [DependsOn(typeof(AbpHttpModule))] + public class AbpHttpClientModule : AbpModule + { + public override void ConfigureServices(IServiceCollection services) + { + services.AddAssemblyOf(); + } + } +} diff --git a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/ApplicationApiDescriptionModelManager.cs b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApplicationApiDescriptionModelManager.cs similarity index 95% rename from src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/ApplicationApiDescriptionModelManager.cs rename to src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApplicationApiDescriptionModelManager.cs index cca45ab21d..79cac746e5 100644 --- a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/ApplicationApiDescriptionModelManager.cs +++ b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApplicationApiDescriptionModelManager.cs @@ -7,10 +7,8 @@ using Nito.AsyncEx; using Volo.Abp.DependencyInjection; using Volo.Abp.Http.Modeling; -namespace Volo.Abp.Http.DynamicProxying +namespace Volo.Abp.Http.Client.DynamicProxying { - //TODO: Move DynamicProxying to Volo.Abp.Http.Client module - public class ApplicationApiDescriptionModelManager : IApplicationApiDescriptionModelManager, ISingletonDependency { private readonly IDynamicProxyHttpClientFactory _httpClientFactory; diff --git a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/DefaultDynamicProxyHttpClientFactory.cs b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DefaultDynamicProxyHttpClientFactory.cs similarity index 85% rename from src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/DefaultDynamicProxyHttpClientFactory.cs rename to src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DefaultDynamicProxyHttpClientFactory.cs index ccdafae17e..6c827f5237 100644 --- a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/DefaultDynamicProxyHttpClientFactory.cs +++ b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DefaultDynamicProxyHttpClientFactory.cs @@ -1,7 +1,7 @@ using System.Net.Http; using Volo.Abp.DependencyInjection; -namespace Volo.Abp.Http.DynamicProxying +namespace Volo.Abp.Http.Client.DynamicProxying { public class DefaultDynamicProxyHttpClientFactory : IDynamicProxyHttpClientFactory, ITransientDependency { diff --git a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/DynamicHttpClientProxyConfig.cs b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpClientProxyConfig.cs similarity index 86% rename from src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/DynamicHttpClientProxyConfig.cs rename to src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpClientProxyConfig.cs index e818d46f0c..1286db09cc 100644 --- a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/DynamicHttpClientProxyConfig.cs +++ b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpClientProxyConfig.cs @@ -1,6 +1,6 @@ using System; -namespace Volo.Abp.Http.DynamicProxying +namespace Volo.Abp.Http.Client.DynamicProxying { public class DynamicHttpClientProxyConfig { diff --git a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/DynamicHttpProxyInterceptor.cs b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs similarity index 57% rename from src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/DynamicHttpProxyInterceptor.cs rename to src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs index 37a64f3643..e27b6007cb 100644 --- a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/DynamicHttpProxyInterceptor.cs +++ b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/DynamicHttpProxyInterceptor.cs @@ -1,7 +1,5 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; -using System.Net.Http; using System.Reflection; using System.Threading.Tasks; using Microsoft.Extensions.Options; @@ -9,9 +7,10 @@ using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using Volo.Abp.DependencyInjection; using Volo.Abp.DynamicProxy; +using Volo.Abp.Http.Modeling; using Volo.Abp.Threading; -namespace Volo.Abp.Http.DynamicProxying +namespace Volo.Abp.Http.Client.DynamicProxying { public class DynamicHttpProxyInterceptor : AbpInterceptor, ITransientDependency { @@ -19,7 +18,7 @@ namespace Volo.Abp.Http.DynamicProxying private readonly IDynamicProxyHttpClientFactory _httpClientFactory; private readonly IApplicationApiDescriptionModelManager _discoverManager; - private readonly AbpHttpOptions _options; + private readonly AbpHttpClientOptions _options; static DynamicHttpProxyInterceptor() { @@ -29,8 +28,8 @@ namespace Volo.Abp.Http.DynamicProxying } public DynamicHttpProxyInterceptor( - IDynamicProxyHttpClientFactory httpClientFactory, - IOptions options, + IDynamicProxyHttpClientFactory httpClientFactory, + IOptions options, IApplicationApiDescriptionModelManager discoverManager) { _httpClientFactory = httpClientFactory; @@ -47,7 +46,7 @@ namespace Volo.Abp.Http.DynamicProxying { invocation.ReturnValue = GenericInterceptAsyncMethod .MakeGenericMethod(invocation.Method.ReturnType.GenericTypeArguments[0]) - .Invoke(this, new object[]{ invocation }); + .Invoke(this, new object[] { invocation }); return Task.CompletedTask; } @@ -62,10 +61,11 @@ namespace Volo.Abp.Http.DynamicProxying var apiDescriptionModel = await _discoverManager.GetAsync(config.BaseUrl); - + var action = FindAction(apiDescriptionModel, invocation.Method); + using (var client = _httpClientFactory.Create()) { - var response = await client.GetAsync("/api/app/people"); + var response = await client.GetAsync(config.BaseUrl + action.Url); if (!response.IsSuccessStatusCode) { throw new AbpException("Remote service returns error!"); @@ -84,5 +84,44 @@ namespace Volo.Abp.Http.DynamicProxying return (T)result; } } + + private ActionApiDescriptionModel FindAction(ApplicationApiDescriptionModel apiDescriptionModel, MethodInfo method) + { + var methodParameters = method.GetParameters().ToArray(); + + foreach (var module in apiDescriptionModel.Modules.Values) + { + //TODO: Check module type too + + foreach (var controller in module.Controllers.Values) + { + //TODO: Check controller type too + + foreach (var action in controller.Actions.Values) + { + if (action.NameOnClass == method.Name && action.Parameters.Count == methodParameters.Length) + { + var found = true; + + for (int i = 0; i < methodParameters.Length; i++) + { + if (action.Parameters[i].TypeAsString != methodParameters[i].ParameterType.FullName) + { + found = false; + break; + } + } + + if (found) + { + return action; + } + } + } + } + } + + throw new AbpException("Could not found remote action for method: " + method); + } } } \ No newline at end of file diff --git a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/IApplicationApiDescriptionModelManager.cs b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/IApplicationApiDescriptionModelManager.cs similarity index 86% rename from src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/IApplicationApiDescriptionModelManager.cs rename to src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/IApplicationApiDescriptionModelManager.cs index 0adff97a3e..bdc7f3d6af 100644 --- a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/IApplicationApiDescriptionModelManager.cs +++ b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/IApplicationApiDescriptionModelManager.cs @@ -2,7 +2,7 @@ using System.Threading.Tasks; using Volo.Abp.Http.Modeling; -namespace Volo.Abp.Http.DynamicProxying +namespace Volo.Abp.Http.Client.DynamicProxying { public interface IApplicationApiDescriptionModelManager { diff --git a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/IDynamicProxyHttpClientFactory.cs b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/IDynamicProxyHttpClientFactory.cs similarity index 71% rename from src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/IDynamicProxyHttpClientFactory.cs rename to src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/IDynamicProxyHttpClientFactory.cs index 99691ccc2f..aaf821d0f9 100644 --- a/src/Volo.Abp.Http/Volo/Abp/Http/DynamicProxying/IDynamicProxyHttpClientFactory.cs +++ b/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/IDynamicProxyHttpClientFactory.cs @@ -1,6 +1,6 @@ using System.Net.Http; -namespace Volo.Abp.Http.DynamicProxying +namespace Volo.Abp.Http.Client.DynamicProxying { public interface IDynamicProxyHttpClientFactory { diff --git a/test/Volo.Abp.Http.Tests/Volo.Abp.Http.Tests.csproj b/test/Volo.Abp.Http.Client.Tests/Volo.Abp.Http.Client.Tests.csproj similarity index 84% rename from test/Volo.Abp.Http.Tests/Volo.Abp.Http.Tests.csproj rename to test/Volo.Abp.Http.Client.Tests/Volo.Abp.Http.Client.Tests.csproj index fd4ae111e2..6593fa5d39 100644 --- a/test/Volo.Abp.Http.Tests/Volo.Abp.Http.Tests.csproj +++ b/test/Volo.Abp.Http.Client.Tests/Volo.Abp.Http.Client.Tests.csproj @@ -3,7 +3,7 @@ netcoreapp2.0 Volo.Abp.Http.Tests - Volo.Abp.Http.Tests + Volo.Abp.Http.Client.Tests true false false @@ -12,7 +12,7 @@ - + diff --git a/test/Volo.Abp.Http.Tests/Volo/Abp/Http/AbpHttpTestBase.cs b/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestBase.cs similarity index 100% rename from test/Volo.Abp.Http.Tests/Volo/Abp/Http/AbpHttpTestBase.cs rename to test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestBase.cs diff --git a/test/Volo.Abp.Http.Tests/Volo/Abp/Http/AbpHttpTestModule.cs b/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestModule.cs similarity index 78% rename from test/Volo.Abp.Http.Tests/Volo/Abp/Http/AbpHttpTestModule.cs rename to test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestModule.cs index 8348e729a5..4a150a2c19 100644 --- a/test/Volo.Abp.Http.Tests/Volo/Abp/Http/AbpHttpTestModule.cs +++ b/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/AbpHttpTestModule.cs @@ -1,13 +1,12 @@ -using Castle.DynamicProxy; -using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.App; -using Volo.Abp.Castle.DynamicProxy; +using Volo.Abp.Http.Client; using Volo.Abp.Modularity; using Volo.Abp.TestApp.Application; namespace Volo.Abp.Http { - [DependsOn(typeof(AbpAspNetCoreMvcTestModule), typeof(AbpHttpModule))] + [DependsOn(typeof(AbpAspNetCoreMvcTestModule), typeof(AbpHttpClientModule))] public class AbpHttpTestModule : AbpModule { public override void ConfigureServices(IServiceCollection services) diff --git a/test/Volo.Abp.Http.Tests/Volo/Abp/Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs b/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs similarity index 100% rename from test/Volo.Abp.Http.Tests/Volo/Abp/Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs rename to test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/PersonAppServiceClientProxy_Tests.cs diff --git a/test/Volo.Abp.Http.Tests/Volo/Abp/Http/Startup.cs b/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Startup.cs similarity index 100% rename from test/Volo.Abp.Http.Tests/Volo/Abp/Http/Startup.cs rename to test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Startup.cs