chore(moysklad): базовый URL MoySklad — из конфигурации (MoySklad:BaseUrl)
MoySkladClient.BaseUrl был константой api.moysklad.ru, из-за чего импорт нельзя было протестировать без боевого токена. Регистрация HttpClient теперь берёт BaseAddress из MoySklad:BaseUrl (дефолт — прежний боевой URL), так что e2e/интеграционные тесты наводят клиент на mock-сервер, не трогая прод. MoySkladClient не меняем — он уже делает BaseAddress ??= const. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
50ae8bd18b
commit
e78e921dd2
|
|
@ -157,7 +157,15 @@
|
||||||
builder.Services.AddSwaggerGen();
|
builder.Services.AddSwaggerGen();
|
||||||
|
|
||||||
// MoySklad import integration. Auto-decompress gzip responses from MoySklad's edge.
|
// MoySklad import integration. Auto-decompress gzip responses from MoySklad's edge.
|
||||||
builder.Services.AddHttpClient<foodmarket.Infrastructure.Integrations.MoySklad.MoySkladClient>()
|
// BaseAddress берётся из конфигурации (MoySklad:BaseUrl) с дефолтом на боевой
|
||||||
|
// api.moysklad.ru — так интеграцию можно навести на mock-сервер в e2e/интеграционных
|
||||||
|
// тестах, не трогая прод. Трейлинг-слэш обязателен (RFC 3986 §5.3, см. MoySkladClient).
|
||||||
|
builder.Services.AddHttpClient<foodmarket.Infrastructure.Integrations.MoySklad.MoySkladClient>(http =>
|
||||||
|
{
|
||||||
|
var baseUrl = builder.Configuration["MoySklad:BaseUrl"];
|
||||||
|
if (!string.IsNullOrWhiteSpace(baseUrl))
|
||||||
|
http.BaseAddress = new Uri(baseUrl);
|
||||||
|
})
|
||||||
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
|
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
|
||||||
{
|
{
|
||||||
AutomaticDecompression = System.Net.DecompressionMethods.GZip | System.Net.DecompressionMethods.Deflate,
|
AutomaticDecompression = System.Net.DecompressionMethods.GZip | System.Net.DecompressionMethods.Deflate,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue