Skip to content

Commit ec2a1f1

Browse files
authored
Merge pull request #5 from konak/beta
Merge beta into dev branch
2 parents d7a7e2a + 1ed5079 commit ec2a1f1

File tree

4 files changed

+40
-6
lines changed

4 files changed

+40
-6
lines changed

src/am.kon.packages.services.web-client-service/WebClientServiceBase.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Net.Http;
3+
using System.Net.Http.Headers;
34
using System.Text;
45
using System.Threading;
56
using System.Threading.Tasks;
@@ -65,7 +66,7 @@ public Task Stop()
6566
/// <param name="dataToSend">data to be send in request</param>
6667
/// <param name="httpClientName">Name of the configured client to be used for http request invocation</param>
6768
/// <returns>Object describing invocation result</returns>
68-
public async Task<RequestInvocationResult<TData>> InvokeRequest(Uri requestUri, HttpMethod httpMethod = null, string dataToSend = null, string metiaType = HttpContentMediaTypes.ApplicationJson, string bearerToken = null, string httpClientName = HttpClientNames.Default, Encoding encoding = null)
69+
public async Task<RequestInvocationResult<TData>> InvokeRequest(Uri requestUri, HttpMethod httpMethod = null, string dataToSend = null, string metiaType = HttpContentMediaTypes.ApplicationJson, string bearerToken = null, string httpClientName = HttpClientNames.Default, Encoding encoding = null, string[] acceptEncodings = null)
6970
{
7071
if (httpMethod == null)
7172
httpMethod = HttpMethod.Get;
@@ -84,6 +85,10 @@ public async Task<RequestInvocationResult<TData>> InvokeRequest(Uri requestUri,
8485
if (bearerToken != null)
8586
requestMessage.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(HttpAuthenticationScheme.Bearer, bearerToken);
8687

88+
if (acceptEncodings != null)
89+
foreach (string acceptEncoding in acceptEncodings)
90+
requestMessage.Headers.AcceptEncoding.Add(new StringWithQualityHeaderValue(acceptEncoding));
91+
8792
using (HttpClient client = _clientFactory.CreateClient(httpClientName))
8893
{
8994
using (HttpResponseMessage resp = await client.SendAsync(requestMessage, _cancellationToken))
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using System;
2+
using System.IO;
3+
using Microsoft.Extensions.Configuration;
4+
using Microsoft.Extensions.Logging;
5+
using System.Net.Http;
6+
using System.Threading.Tasks;
7+
8+
namespace am.kon.packages.services.WebClientService
9+
{
10+
/// <summary>
11+
/// Service to be used for requests to web endpoints returning stream data
12+
/// </summary>
13+
public class WebClientStreamDataService : WebClientServiceBase<Stream>
14+
{
15+
public WebClientStreamDataService(
16+
ILogger<WebClientStreamDataService> logger,
17+
IConfiguration configuration,
18+
IHttpClientFactory clientFactory
19+
) : base(logger, configuration, clientFactory)
20+
{
21+
}
22+
23+
protected override Task<Stream> ReadDataAsync(HttpContent content)
24+
{
25+
return content.ReadAsStreamAsync();
26+
}
27+
}
28+
}
29+

src/am.kon.packages.services.web-client-service/WebClientService.cs renamed to src/am.kon.packages.services.web-client-service/WebClientStringDataService.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
namespace am.kon.packages.services.WebClientService
99
{
1010
/// <summary>
11-
/// Service to be used for requests to web endpoints
11+
/// Service to be used for requests to web endpoints returning string data (HTML pages, Json objects, XML documents, etc.)
1212
/// </summary>
13-
public class WebClientService : WebClientServiceBase<string>
13+
public class WebClientStringDataService : WebClientServiceBase<string>
1414
{
15-
public WebClientService(
16-
ILogger<WebClientService> logger,
15+
public WebClientStringDataService(
16+
ILogger<WebClientStringDataService> logger,
1717
IConfiguration configuration,
1818
IHttpClientFactory clientFactory
1919
) : base(logger, configuration, clientFactory)

src/am.kon.packages.services.web-client-service/am.kon.packages.services.web-client-service.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<RootNamespace>am.kon.packages.services.WebClientService</RootNamespace>
66
<Nullable>disable</Nullable>
77
<PackageId>am.kon.packages.services.web-client-service</PackageId>
8-
<PackageVersion>0.1.0-beta4</PackageVersion>
8+
<PackageVersion>0.1.1.0</PackageVersion>
99
<Authors>konakov sergey</Authors>
1010
<Description>Web client component to be used as a service with dependency injection in .net core applications implementing functionality to interact with web services. Based on IHttpClientFactory.</Description>
1111
<RepositoryUrl>https://dev.azure.com/1662nd/Staking%20Infrastructure/_git/flow.packages.services.api-client-service</RepositoryUrl>

0 commit comments

Comments
 (0)