diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/DocReceiverElementService.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/DocReceiverElementService.cs index 8b3f01f0..991efecf 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/DocReceiverElementService.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/DocReceiverElementService.cs @@ -4,13 +4,15 @@ using EnvelopeGenerator.Server.Client.Models; namespace EnvelopeGenerator.Server.Client.Services; -public class DocReceiverElementService(HttpClient http) +public class DocReceiverElementService(IHttpClientFactory clientFactory) { private static readonly JsonSerializerOptions _jsonOptions = new(JsonSerializerDefaults.Web); public async Task> GetAsync(string envelopeKey, CancellationToken cancel = default) { var url = $"/api/DocReceiverElement/{Uri.EscapeDataString(envelopeKey)}"; + + var http = clientFactory.CreateClient("EnvelopeGenerator.Server"); var response = await http.GetAsync(url, cancel); if (!response.IsSuccessStatusCode) diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/EnvelopeService.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/EnvelopeService.cs index f459a5e3..69b9f78e 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/EnvelopeService.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/EnvelopeService.cs @@ -1,14 +1,15 @@ -using System.Net.Http.Json; -using System.Text.Json; using EnvelopeGenerator.Application.Common.Dto; using Microsoft.AspNetCore.WebUtilities; +using System.Net.Http; +using System.Net.Http.Json; +using System.Text.Json; namespace EnvelopeGenerator.Server.Client.Services; /// /// Retrieves s from the API. /// -public class EnvelopeService(HttpClient http) +public class EnvelopeService(IHttpClientFactory clientFactory) { private static readonly JsonSerializerOptions _jsonOptions = new(JsonSerializerDefaults.Web); @@ -45,7 +46,8 @@ public class EnvelopeService(HttpClient http) var url = QueryHelpers.AddQueryString(baseUrl, queryParams); - var response = await http.GetAsync(url, cancel); + var httpClient = clientFactory.CreateClient("EnvelopeGenerator.Server"); + var response = await httpClient.GetAsync(url, cancel); if (!response.IsSuccessStatusCode) { diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Program.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Program.cs index 36c952a2..d5bb91fb 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Program.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server/Program.cs @@ -10,6 +10,7 @@ using EnvelopeGenerator.Domain.Constants; using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Localization; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Options; using System.Globalization; using Scalar.AspNetCore; using Microsoft.OpenApi.Models; @@ -318,6 +319,12 @@ try builder.Services.AddScoped(); builder.Services.AddSingleton(); + // EnvelopeService with HttpClient factory (for SSR scenarios) + builder.Services.AddScoped(); + + // DocReceiverElementService (SignatureService alternative) + builder.Services.AddScoped(); + // SSR Authentication Service (for Envelope Receiver pages) builder.Services.AddScoped();