diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Layout/MainLayout.razor b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Layout/MainLayout.razor index 11582efb..433431d7 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Layout/MainLayout.razor +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Layout/MainLayout.razor @@ -15,13 +15,14 @@ @code { - [Inject] HttpClient Http { get; set; } + [Inject] IHttpClientFactory HttpClientFactory { get; set; } = default!; + List RequiredFonts = new() { "opensans.ttf" }; protected async override Task OnInitializedAsync() { - await FontLoader.LoadFonts(Http, RequiredFonts); + await FontLoader.LoadFonts(HttpClientFactory, RequiredFonts); await base.OnInitializedAsync(); } } \ No newline at end of file diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/AnnotationService.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/AnnotationService.cs index 693e4c6a..fd9e7556 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/AnnotationService.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/AnnotationService.cs @@ -2,21 +2,15 @@ using System.Net.Http; using System.Net.Http.Json; using System.Text.Json; using EnvelopeGenerator.Server.Client.Models; -using EnvelopeGenerator.Server.Client.Options; -using Microsoft.Extensions.Options; namespace EnvelopeGenerator.Server.Client.Services; /// /// Retrieves annotation positions from the API. -/// The URL is composed as {BaseUrl}/api/Annotation/{envelopeKey}. -/// During development, BaseUrl is empty so the request resolves to the -/// YARP-proxied route on the same origin, which currently serves -/// fake-data/annotations.json. To switch to real data, update the -/// YARP route in yarp.json — no code change required. +/// Uses relative paths (/api/Annotation/{envelopeKey}). /// [Obsolete("Use SignatureService.")] -public class AnnotationService(IHttpClientFactory httpClientFactory, IOptions apiOptions) +public class AnnotationService(IHttpClientFactory httpClientFactory) { private static readonly JsonSerializerOptions _jsonOptions = new(JsonSerializerDefaults.Web); diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/AuthService.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/AuthService.cs index ba23d283..12db705b 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/AuthService.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/AuthService.cs @@ -1,8 +1,6 @@ using System.Net; using System.Net.Http; using System.Net.Http.Json; -using EnvelopeGenerator.Server.Client.Options; -using Microsoft.Extensions.Options; namespace EnvelopeGenerator.Server.Client.Services; @@ -10,9 +8,8 @@ public enum EnvelopeLoginResult { Success, InvalidCode, NotFound, Error } public enum SenderLoginResult { Success, InvalidCredentials, Error } -public class AuthService(IHttpClientFactory httpClientFactory, IOptions apiOptions) +public class AuthService(IHttpClientFactory httpClientFactory) { - private readonly ApiOptions _api = apiOptions.Value; /// /// Checks whether the current user holds a valid receiver token for the given envelope key. diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/DocumentService.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/DocumentService.cs index f552033f..ff649c3c 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/DocumentService.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/DocumentService.cs @@ -1,13 +1,10 @@ using System.Net; using System.Net.Http; -using Microsoft.Extensions.Options; -using EnvelopeGenerator.Server.Client.Options; namespace EnvelopeGenerator.Server.Client.Services; -public class DocumentService(IHttpClientFactory httpClientFactory, IOptions apiOptions) +public class DocumentService(IHttpClientFactory httpClientFactory) { - private readonly ApiOptions _api = apiOptions.Value; /// /// Fetches the PDF bytes for the given envelope key from the API. diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/EnvelopeReceiverService.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/EnvelopeReceiverService.cs index 852fb877..89917286 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/EnvelopeReceiverService.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/EnvelopeReceiverService.cs @@ -3,16 +3,14 @@ using System.Net.Http; using System.Net.Http.Json; using System.Text.Json; using EnvelopeGenerator.Server.Client.Models; -using EnvelopeGenerator.Server.Client.Options; -using Microsoft.Extensions.Options; namespace EnvelopeGenerator.Server.Client.Services; /// /// Retrieves the for the authenticated receiver -/// from GET api/EnvelopeReceiver/{envelopeKey}. +/// from GET /api/EnvelopeReceiver/{envelopeKey}. /// -public class EnvelopeReceiverService(IHttpClientFactory httpClientFactory, IOptions apiOptions) +public class EnvelopeReceiverService(IHttpClientFactory httpClientFactory) { private static readonly JsonSerializerOptions _jsonOptions = new(JsonSerializerDefaults.Web); diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/FontLoader.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/FontLoader.cs index 8db77818..96f6ce60 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/FontLoader.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/FontLoader.cs @@ -2,10 +2,15 @@ namespace EnvelopeGenerator.Server.Client.Services; -public static class FontLoader { - public async static Task LoadFonts(HttpClient httpClient, List fontNames) { - foreach(var fontName in fontNames) { - var fontBytes = await httpClient.GetByteArrayAsync($"fonts/{fontName}"); +public static class FontLoader +{ + public static async Task LoadFonts(IHttpClientFactory httpClientFactory, List fontNames) + { + using var httpClient = httpClientFactory.CreateClient("EnvelopeGenerator.Server"); + + foreach (var fontName in fontNames) + { + var fontBytes = await httpClient.GetByteArrayAsync($"/fonts/{fontName}"); DXFontRepository.Instance.AddFont(fontBytes); } } diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/SignatureCacheService.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/SignatureCacheService.cs index 6243f3ef..5478a23d 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/SignatureCacheService.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/SignatureCacheService.cs @@ -1,7 +1,5 @@ using System.Net.Http; using System.Net.Http.Json; -using Microsoft.Extensions.Options; -using EnvelopeGenerator.Server.Client.Options; using EnvelopeGenerator.Server.Client.Models; namespace EnvelopeGenerator.Server.Client.Services; @@ -9,9 +7,8 @@ namespace EnvelopeGenerator.Server.Client.Services; /// /// Client service for managing cached signatures via API. /// -public class SignatureCacheService(IHttpClientFactory httpClientFactory, IOptions apiOptions) +public class SignatureCacheService(IHttpClientFactory httpClientFactory) { - private readonly ApiOptions _api = apiOptions.Value; public async Task SaveSignatureAsync( string envelopeKey, diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/SignatureService.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/SignatureService.cs index 9fd76a62..a8f76d22 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/SignatureService.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/SignatureService.cs @@ -2,12 +2,10 @@ using System.Net.Http; using System.Net.Http.Json; using System.Text.Json; using EnvelopeGenerator.Server.Client.Models; -using EnvelopeGenerator.Server.Client.Options; -using Microsoft.Extensions.Options; namespace EnvelopeGenerator.Server.Client.Services; -public class SignatureService(IHttpClientFactory httpClientFactory, IOptions apiOptions) +public class SignatureService(IHttpClientFactory httpClientFactory) { private static readonly JsonSerializerOptions _jsonOptions = new(JsonSerializerDefaults.Web);