Skip to content

Commit

Permalink
Add HttpClient extension for custom User-Agent header
Browse files Browse the repository at this point in the history
Introduced HttpClientExtension class with AddMajorsilenceReportingUserAgent method to set a custom User-Agent header. Updated various methods to use this extension, ensuring consistent User-Agent headers across HTTP requests. Added necessary using directives for RdlEngine.Utility namespace.
  • Loading branch information
majorsilence committed Jan 12, 2025
1 parent 96be402 commit 3c0a5b6
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 0 deletions.
20 changes: 20 additions & 0 deletions DataProviders/HttpClientExtension.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace fyiReporting.Data
{
internal static class HttpClientExtension
{
public static void AddMajorsilenceReportingUserAgent(this HttpClient client)
{
if (client.DefaultRequestHeaders.UserAgent.Count == 0)
{
client.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3 MajorsilenceReporting/1.0");
}
}
}
}
1 change: 1 addition & 0 deletions DataProviders/MultipleStreamReader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ async Task<StreamReader> GetStream()
fname.StartsWith("file:") ||
fname.StartsWith("https:"))
{
_httpClient.AddMajorsilenceReportingUserAgent();
HttpResponseMessage response = await _httpClient.GetAsync(fname);
response.EnsureSuccessStatusCode();
strm = await response.Content.ReadAsStreamAsync();
Expand Down
1 change: 1 addition & 0 deletions DataProviders/TxtDataReader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ async Task<StreamReader> GetStream()
{
using (HttpClient client = new HttpClient())
{
client.AddMajorsilenceReportingUserAgent();
HttpResponseMessage response = await client.GetAsync(fname);
response.EnsureSuccessStatusCode();
strm = await response.Content.ReadAsStreamAsync();
Expand Down
1 change: 1 addition & 0 deletions DataProviders/WebServiceWsdl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ async Task<Stream> GetStream()
{
using (HttpClient client = new HttpClient())
{
client.AddMajorsilenceReportingUserAgent();
HttpResponseMessage response = await client.GetAsync(fname);
if (response.IsSuccessStatusCode)
{
Expand Down
2 changes: 2 additions & 0 deletions RdlEngine/Definition/Image.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ the website www.fyiReporting.com.
using System.Net;
using System.Threading.Tasks;
using System.Net.Http;
using RdlEngine.Utility;


namespace fyiReporting.RDL
Expand Down Expand Up @@ -318,6 +319,7 @@ override internal async Task RunPage(Pages pgs, Row row)
{
using (HttpClient client = new HttpClient())
{
client.AddMajorsilenceReportingUserAgent();
HttpResponseMessage response = await client.GetAsync(fname);
response.EnsureSuccessStatusCode();
strm = await response.Content.ReadAsStreamAsync();
Expand Down
2 changes: 2 additions & 0 deletions RdlEngine/Definition/StyleBackgroundImage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ the website www.fyiReporting.com.
using System.Net;
using System.Threading.Tasks;
using System.Net.Http;
using RdlEngine.Utility;


namespace fyiReporting.RDL
Expand Down Expand Up @@ -275,6 +276,7 @@ internal async Task<PageImage> GetPageImage(Report rpt, Row row)
{
using (HttpClient client = new HttpClient())
{
client.AddMajorsilenceReportingUserAgent();
HttpResponseMessage response = await client.GetAsync(fname);
if (response.IsSuccessStatusCode)
{
Expand Down
2 changes: 2 additions & 0 deletions RdlEngine/Render/MhtConverter/MhtWebClientLocal.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
*/


using RdlEngine.Utility;
using System;
using System.IO;
using System.Net;
Expand Down Expand Up @@ -219,6 +220,7 @@ public async Task GetUrlData(string url)

using (HttpClient client = new HttpClient())
{
client.AddMajorsilenceReportingUserAgent();
HttpResponseMessage response = await client.GetAsync(url);
if (!response.IsSuccessStatusCode)
{
Expand Down
2 changes: 2 additions & 0 deletions RdlEngine/Runtime/PageTextHtml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ the website www.fyiReporting.com.
using RdlEngine.Resources;
using System.Net.Http;
using System.Threading.Tasks;
using RdlEngine.Utility;

namespace fyiReporting.RDL
{
Expand Down Expand Up @@ -461,6 +462,7 @@ private async Task<PageImage> BuildImage(Drawing.Graphics g, string token, Style
{
using (HttpClient client = new HttpClient())
{
client.AddMajorsilenceReportingUserAgent();
strm = await client.GetStreamAsync(src);
}
}
Expand Down
20 changes: 20 additions & 0 deletions RdlEngine/Utility/HttpClientExtension.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

namespace RdlEngine.Utility
{
internal static class HttpClientExtension
{
public static void AddMajorsilenceReportingUserAgent(this HttpClient client)
{
if (client.DefaultRequestHeaders.UserAgent.Count == 0)
{
client.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3 MajorsilenceReporting/1.0");
}
}
}
}

0 comments on commit 3c0a5b6

Please sign in to comment.