using Microsoft.Extensions.Configuration; using Simple.OData.Client; using System.Text; namespace _1CDataBus.Structure { public class ODataAccess { private IConfiguration _configuration; public ODataAccess(IConfiguration configuration) { _configuration = configuration; #if DEBUG var section = _configuration.GetSection("QDocTestSettings"); #else var section = _configuration.GetSection("QDocSettings"); #endif var IntegrationServiceUrl = section.GetValue("Url"); var Login = section.GetValue("Login"); var Password = section.GetValue("Password"); // Настройки Simple OData Client: добавление ко всем запросам URL сервиса и // заголовка с данными аутентификации. var odataClientSettings = new ODataClientSettings(new Uri(IntegrationServiceUrl)); odataClientSettings.BeforeRequest += (HttpRequestMessage message) => { var authenticationHeaderValue = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{Login}:{Password}")); message.Headers.Add("Authorization", "Basic " + authenticationHeaderValue); }; Client = new ODataClient(odataClientSettings); } public ODataClient? Client { get; set; } } }