From c43737bbeed8118cce46157c5c4263ebc91dd9d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BE=D0=BB=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9?= Date: Mon, 10 Nov 2025 17:57:54 +0700 Subject: [PATCH] =?UTF-8?q?=D0=B0=D0=B4=D1=80=D0=B5=D1=81=20=D1=81=D0=B5?= =?UTF-8?q?=D1=80=D0=B2=D0=B5=D1=80=D0=B0=20=D0=B2=D0=BE=D0=BB=D1=82=20?= =?UTF-8?q?=D1=81=D0=BE=20=D1=81=D0=BB=D0=B5=D1=88=D0=B5=D0=BC=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=86=D0=B5=20=D1=82=D0=B5=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D1=8C=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=B0=D1=82?= =?UTF-8?q?=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=BA=D0=BE=D1=80?= =?UTF-8?q?=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/README.md | 9 ++++++ ...5\321\202\321\200\320\276\320\262VAULT.os" | 6 +++- ...5\321\202\321\200\320\276\320\262VAULT.os" | 28 +++++++++++++++---- 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/docs/README.md b/docs/README.md index 6e8de36..cac5f06 100644 --- a/docs/README.md +++ b/docs/README.md @@ -148,6 +148,15 @@ // ``` + +#### ИспользоватьПровайдерVAULT +```bsl +// Добавляет и включает встроенный провайдер VAULT +// +// Параметры: +// Приоритет - Число - Числовой приоритет выполнения провайдеры (по умолчанию 0) +// + #### АвтоНастройка ```bsl diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262VAULT.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262VAULT.os" index 2bafcce..b7c8105 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262VAULT.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/internal/\320\232\320\273\320\260\321\201\321\201\321\213/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262VAULT.os" @@ -75,7 +75,7 @@ Настройки = Новый Соответствие; - URL = СтрШаблон("%1/%2", Адрес, Запрос); + URL = СтрШаблон("%1/%2", СтрУбратьСКонца(Адрес, "/"), Запрос); Заголовки = Новый Соответствие; Если ЗначениеЗаполнено(Токен) Тогда @@ -134,4 +134,8 @@ КонецПроцедуры +Функция СтрУбратьСКонца(Знач Стр, Знач СтрПоиска) + Возврат ?(СтрЗаканчиваетсяНа(Стр, СтрПоиска), Лев(Стр, СтрДлина(Стр) - СтрДлина(СтрПоиска)), Стр); +КонецФункции + Лог = Логирование.ПолучитьЛог("oscript.lib.configor.vault"); diff --git "a/tests/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262VAULT.os" "b/tests/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262VAULT.os" index 39a60d6..eede260 100644 --- "a/tests/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262VAULT.os" +++ "b/tests/\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\320\276\320\262VAULT.os" @@ -17,14 +17,30 @@ КонецПроцедуры &Тест -Процедура ПроверитьПолучениеПараметровИзVault() Экспорт +Процедура ПроверитьПолучениеПараметровИзVaultСНормальнымАдресом() Экспорт - // Дано НастройкиVault = Новый Структура; НастройкиVault.Вставить("Адрес", АдресВина); НастройкиVault.Вставить("Токен", "VAULT_TOKEN"); - НастройкиVault.Вставить("Запрос", "v1/my_secret_store/super_secret"); + НастройкиVault.Вставить("Запрос", "my_secret_store/super_secret"); + + ПроверитьПолучениеПараметровИзVault(НастройкиVault); +КонецПроцедуры + +&Тест +Процедура ПроверитьПолучениеПараметровИзVaultСАдресомСоСлешемНаКонце() Экспорт + + НастройкиVault = Новый Структура; + НастройкиVault.Вставить("Адрес", АдресВина + "/"); + НастройкиVault.Вставить("Токен", "VAULT_TOKEN"); + НастройкиVault.Вставить("Запрос", "my_secret_store/super_secret"); + + ПроверитьПолучениеПараметровИзVault(НастройкиVault); +КонецПроцедуры + +Процедура ПроверитьПолучениеПараметровИзVault(Знач НастройкиVault) Экспорт + // Дано МенеджерПараметров = Новый МенеджерПараметров(); МенеджерПараметров.ДобавитьПровайдерПараметров(Новый ПровайдерПараметровVAULT()); МенеджерПараметров.УстановитьНастройкиVault(НастройкиVault); @@ -66,7 +82,7 @@ Попытка Ответ = КоннекторHTTP.Get( - СтрШаблон("%1/v1/ping", АдресВина), , + СтрШаблон("%1/ping", АдресВина), , Новый Структура("Заголовки", Новый Соответствие) ).Текст(); @@ -85,7 +101,7 @@ Процедура УбитьТестовыйВолт() КоннекторHTTP.Get( - СтрШаблон("%1/v1/kill", АдресВина), , + СтрШаблон("%1/kill", АдресВина), , Новый Структура("Заголовки", Новый Соответствие) ); @@ -93,4 +109,4 @@ КонецПроцедуры -АдресВина = "http://localhost:3333"; +АдресВина = "http://localhost:3333/v1";