34 lines
1.3 KiB
C#
34 lines
1.3 KiB
C#
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;
|
||
var section = _configuration.GetSection("QDocSettings");
|
||
|
||
var IntegrationServiceUrl = section.GetValue<string>("Url");
|
||
var Login = section.GetValue<string>("Login");
|
||
var Password = section.GetValue<string>("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; }
|
||
}
|
||
}
|