From 20b13647def08281db54a033e331be0e0f1ce971 Mon Sep 17 00:00:00 2001 From: claude Date: Mon, 8 Jun 2026 17:51:51 +0300 Subject: [PATCH] Move PageFetcherSettings to Settings/ folder, consistent with email-api pattern Settings classes belong in Settings/ with namespace PageFetcherApi.Settings, not Services/. Matches the SmtpSettings placement in email-api. Co-Authored-By: Claude Sonnet 4.6 --- Apis/page-fetcher-api/Program.cs | 1 + .../Services/PageFetcherService.cs | 1 + .../Settings/PageFetcherSettings.cs | 17 +++++++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 Apis/page-fetcher-api/Settings/PageFetcherSettings.cs diff --git a/Apis/page-fetcher-api/Program.cs b/Apis/page-fetcher-api/Program.cs index 2a97344..9ff8f48 100644 --- a/Apis/page-fetcher-api/Program.cs +++ b/Apis/page-fetcher-api/Program.cs @@ -2,6 +2,7 @@ using System.Reflection; using Microsoft.EntityFrameworkCore; using PageFetcher.Data; using PageFetcherApi.Services; +using PageFetcherApi.Settings; using Serilog; using StartupHelpers; diff --git a/Apis/page-fetcher-api/Services/PageFetcherService.cs b/Apis/page-fetcher-api/Services/PageFetcherService.cs index 7dae58b..fe452e4 100644 --- a/Apis/page-fetcher-api/Services/PageFetcherService.cs +++ b/Apis/page-fetcher-api/Services/PageFetcherService.cs @@ -6,6 +6,7 @@ using Microsoft.Playwright; using PageFetcher.Data; using PageFetcher.Data.Entities; using PageFetcher.Models; +using PageFetcherApi.Settings; namespace PageFetcherApi.Services; diff --git a/Apis/page-fetcher-api/Settings/PageFetcherSettings.cs b/Apis/page-fetcher-api/Settings/PageFetcherSettings.cs new file mode 100644 index 0000000..5b180fa --- /dev/null +++ b/Apis/page-fetcher-api/Settings/PageFetcherSettings.cs @@ -0,0 +1,17 @@ +namespace PageFetcherApi.Settings; + +/// +/// Runtime settings for the page-fetcher service. +/// Bound from the PageFetcher configuration section. +/// +public sealed class PageFetcherSettings +{ + /// Default Playwright wait condition (networkidle, load, domcontentloaded). + public string DefaultWaitFor { get; set; } = "networkidle"; + + /// Page navigation timeout in seconds. + public int TimeoutSeconds { get; set; } = 30; + + /// Maximum characters stored/returned in the extracted text field. + public int MaxTextChars { get; set; } = 60_000; +}