Browse Source

Move interface to `Http.Client`.

pull/10220/head
maliming 4 years ago
parent
commit
4551acda13
  1. 2
      framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/IObjectToFormData.cs
  2. 2
      framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/IObjectToQueryString.cs
  3. 31
      framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/TestObjectToFormData.cs
  4. 31
      framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/TestObjectToQueryString.cs
  5. 48
      framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/Dto/GetParamsInput.cs

2
framework/src/Volo.Abp.Core/Volo/Abp/Http/IObjectToFormData.cs → framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/IObjectToFormData.cs

@ -2,7 +2,7 @@
using System.Net.Http;
using System.Threading.Tasks;
namespace Volo.Abp.Http
namespace Volo.Abp.Http.Client.ClientProxying
{
public interface IObjectToFormData<in TValue>
{

2
framework/src/Volo.Abp.Core/Volo/Abp/Http/IObjectToQueryString.cs → framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/IObjectToQueryString.cs

@ -1,6 +1,6 @@
using System.Threading.Tasks;
namespace Volo.Abp.Http
namespace Volo.Abp.Http.Client.ClientProxying
{
public interface IObjectToQueryString<in TValue>
{

31
framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/TestObjectToFormData.cs

@ -0,0 +1,31 @@
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Http.Client.ClientProxying;
using Volo.Abp.TestApp.Application.Dto;
namespace Volo.Abp.Http.DynamicProxying
{
[ExposeServices(typeof(IObjectToFormData<List<GetParamsNameValue>>))]
public class TestObjectToFormData : IObjectToFormData<List<GetParamsNameValue>>, ITransientDependency
{
public Task<List<KeyValuePair<string, HttpContent>>> ConvertAsync(List<GetParamsNameValue> values)
{
if (values.IsNullOrEmpty())
{
return null;
}
var formDataContents = new List<KeyValuePair<string, HttpContent>>();
for (var i = 0; i < values.Count; i++)
{
formDataContents.Add(new KeyValuePair<string, HttpContent>($"NameValues[{i}].Name", new StringContent(values[i].Name, Encoding.UTF8)));
formDataContents.Add(new KeyValuePair<string, HttpContent>($"NameValues[{i}].Value", new StringContent(values[i].Value, Encoding.UTF8)));
}
return Task.FromResult(formDataContents);
}
}
}

31
framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/DynamicProxying/TestObjectToQueryString.cs

@ -0,0 +1,31 @@
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Http.Client.ClientProxying;
using Volo.Abp.TestApp.Application.Dto;
namespace Volo.Abp.Http.DynamicProxying
{
[ExposeServices(typeof(IObjectToQueryString<List<GetParamsNameValue>>))]
public class TestObjectToQueryString : IObjectToQueryString<List<GetParamsNameValue>>, ITransientDependency
{
public Task<string> ConvertAsync(List<GetParamsNameValue> values)
{
if (values.IsNullOrEmpty())
{
return null;
}
var sb = new StringBuilder();
for (var i = 0; i < values.Count; i++)
{
sb.Append($"NameValues[{i}].Name={values[i].Name}&NameValues[{i}].Value={values[i].Value}&");
}
sb.Remove(sb.Length - 1, 1);
return Task.FromResult(sb.ToString());
}
}
}

48
framework/test/Volo.Abp.TestApp/Volo/Abp/TestApp/Application/Dto/GetParamsInput.cs

@ -1,9 +1,4 @@
using System.Collections.Generic;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Http;
namespace Volo.Abp.TestApp.Application.Dto
{
@ -20,47 +15,4 @@ namespace Volo.Abp.TestApp.Application.Dto
public string Value { get; set; }
}
[ExposeServices(typeof(IObjectToQueryString<List<GetParamsNameValue>>))]
public class TestObjectToQueryString : IObjectToQueryString<List<GetParamsNameValue>>, ITransientDependency
{
public Task<string> ConvertAsync(List<GetParamsNameValue> values)
{
if (values.IsNullOrEmpty())
{
return null;
}
var sb = new StringBuilder();
for (var i = 0; i < values.Count; i++)
{
sb.Append($"NameValues[{i}].Name={values[i].Name}&NameValues[{i}].Value={values[i].Value}&");
}
sb.Remove(sb.Length - 1, 1);
return Task.FromResult(sb.ToString());
}
}
[ExposeServices(typeof(IObjectToFormData<List<GetParamsNameValue>>))]
public class TestObjectToFormData : IObjectToFormData<List<GetParamsNameValue>>, ITransientDependency
{
public Task<List<KeyValuePair<string, HttpContent>>> ConvertAsync(List<GetParamsNameValue> values)
{
if (values.IsNullOrEmpty())
{
return null;
}
var formDataContents = new List<KeyValuePair<string, HttpContent>>();
for (var i = 0; i < values.Count; i++)
{
formDataContents.Add(new KeyValuePair<string, HttpContent>($"NameValues[{i}].Name", new StringContent(values[i].Name, Encoding.UTF8)));
formDataContents.Add(new KeyValuePair<string, HttpContent>($"NameValues[{i}].Value", new StringContent(values[i].Value, Encoding.UTF8)));
}
return Task.FromResult(formDataContents);
}
}
}

Loading…
Cancel
Save