Skip to content

Commit 0cadaad

Browse files
author
Голованов Сергей
committed
добавил логирование ответа HTTP и ошибок от волта
1 parent db67ba5 commit 0cadaad

File tree

2 files changed

+34
-16
lines changed

2 files changed

+34
-16
lines changed

src/Классы/internal/Классы/ПровайдерПараметровVAULT.os

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,21 +75,33 @@
7575

7676
Настройки = Новый Соответствие;
7777

78+
URL = СтрШаблон("%1/%2", Адрес, Запрос);
79+
Заголовки = Новый Соответствие;
80+
81+
Если ЗначениеЗаполнено(Токен) Тогда
82+
Заголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
83+
КонецЕсли;
84+
85+
ДопПараметры = Новый Структура("Заголовки", Заголовки);
86+
7887
Попытка
7988

80-
URL = СтрШаблон("%1/%2", Адрес, Запрос);
81-
82-
Заголовки = Новый Соответствие;
83-
84-
Если ЗначениеЗаполнено(Токен) Тогда
85-
Заголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Токен));
89+
Ответ = КоннекторHTTP.Get(URL, , ДопПараметры);
90+
ВолтОтветил = ВолтОтветил(Ответ);
91+
Если Не ВолтОтветил Тогда
92+
Лог.Отладка("Ошибка получения данных из vault:
93+
|%1", КодыСостоянияHTTP.Представление(Ответ.КодСостояния));
8694
КонецЕсли;
8795

88-
ДопПараметры = Новый Структура("Заголовки", Заголовки);
89-
90-
Ответ = КоннекторHTTP.Get(URL, , ДопПараметры);
9196
ДесериализованныйОтвет = Ответ.Json();
92-
Настройки = ДесериализованныйОтвет["data"];
97+
Ошибки = ДесериализованныйОтвет.Получить("errors");
98+
Если Не Ошибки = Неопределено Тогда
99+
Для Каждого Ошибка Из Ошибки Цикл
100+
Лог.Отладка(Ошибка["message"]);
101+
КонецЦикла;
102+
КонецЕсли;
103+
104+
Настройки = ?(ВолтОтветил, ДесериализованныйОтвет["data"], Новый Соответствие);
93105

94106
Лог.Отладка("Итоговые параметры:");
95107
ПоказатьПараметрыВРежимеОтладки(Настройки);
@@ -104,7 +116,15 @@
104116
КонецПопытки;
105117

106118
Возврат Настройки;
119+
КонецФункции
120+
121+
Функция ВолтОтветил(Знач Ответ)
122+
123+
ХорошиеКоды = Новый Массив;
124+
ХорошиеКоды.Добавить(200);
125+
ХорошиеКоды.Добавить(204);
107126

127+
Возврат Не ХорошиеКоды.Найти(Ответ.КодСостояния) = Неопределено;
108128
КонецФункции
109129

110130
Процедура ПоказатьПараметрыВРежимеОтладки(ЗначенияПараметров)

tests/ПровайдерПараметровVAULT.os

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77
Процедура ПроверитьПолучениеПараметровИзVault() Экспорт
88

99
ЗапуститьТестовыйВолт();
10-
10+
Приостановить(5000); // чтобы вино успело стартануть
11+
1112
// Дано
1213

1314
НастройкиVault = Новый Структура;
1415
НастройкиVault.Вставить("Адрес", "http://localhost:3333");
1516
НастройкиVault.Вставить("Токен", "VAULT_TOKEN");
16-
НастройкиVault.Вставить("Запрос", "v1/my_secret_store/super_secret");
17+
НастройкиVault.Вставить("Запрос", "v1/my_secret_store/super_secrett");
1718

1819
МенеджерПараметров = Новый МенеджерПараметров();
1920
МенеджерПараметров.ДобавитьПровайдерПараметров(Новый ПровайдерПараметровVAULT());
@@ -51,10 +52,7 @@
5152
ЗапускВина.УстановитьСтрокуЗапуска("oscript main.os");
5253
ЗапускВина.УстановитьРабочийКаталог(Путь);
5354

54-
Процесс = ЗапускВина.ЗапуститьПроцесс();
55-
Приостановить(5000); // чтобы вино успело стартануть
56-
57-
Возврат Процесс;
55+
Возврат ЗапускВина.ЗапуститьПроцесс();
5856
КонецФункции
5957

6058
Функция УбитьТестовыйВолт(Знач Адрес)

0 commit comments

Comments
 (0)