Skip to content

Commit

Permalink
Параметры запроса при создании структуры новых параметров. #120
Browse files Browse the repository at this point in the history
  • Loading branch information
vbondarevsky committed Mar 2, 2023
1 parent d801095 commit f0d37ae
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 17 deletions.
32 changes: 16 additions & 16 deletions src/ru/CommonModules/КоннекторHTTP/Ext/Module.bsl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Коннектор: удобный HTTP-клиент для 1С:Предприятие 8
//
// Copyright 2017-2021 Vladimir Bondarevskiy
// Copyright 2017-2023 Vladimir Bondarevskiy
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand All @@ -17,7 +17,7 @@
//
// URL: https://github.com/vbondarevsky/Connector
// e-mail: vbondarevsky@gmail.com
// Версия: 2.4.7
// Версия: 2.4.8
//
// Требования: платформа 1С версии 8.3.10 и выше

Expand Down Expand Up @@ -46,8 +46,8 @@
ТекущаяСессия = ТекущаяСессия(Сессия);

Параметры = НовыеПараметры();
Дополнить(Параметры, ПараметрыИзАргументов(ПараметрыЗапроса, Неопределено, Неопределено));
Дополнить(Параметры, ДополнительныеПараметры);
Дополнить(Параметры, ПараметрыИзАргументов(ПараметрыЗапроса, Неопределено, Неопределено));

Возврат ВызватьHTTPМетод(ТекущаяСессия, "GET", URL, Параметры);

Expand All @@ -68,8 +68,8 @@
ТекущаяСессия = ТекущаяСессия(Сессия);

Параметры = НовыеПараметры();
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Неопределено));
Дополнить(Параметры, ДополнительныеПараметры);
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Неопределено));

Возврат ВызватьHTTPМетод(ТекущаяСессия, "OPTIONS", URL, Параметры);

Expand All @@ -90,8 +90,8 @@
ТекущаяСессия = ТекущаяСессия(Сессия);

Параметры = НовыеПараметры();
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Неопределено));
Дополнить(Параметры, ДополнительныеПараметры);
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Неопределено));

Возврат ВызватьHTTPМетод(ТекущаяСессия, "HEAD", URL, Параметры);

Expand All @@ -113,8 +113,8 @@
ТекущаяСессия = ТекущаяСессия(Сессия);

Параметры = НовыеПараметры();
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено));
Дополнить(Параметры, ДополнительныеПараметры);
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено));

Возврат ВызватьHTTPМетод(ТекущаяСессия, "POST", URL, Параметры);

Expand All @@ -136,8 +136,8 @@
ТекущаяСессия = ТекущаяСессия(Сессия);

Параметры = НовыеПараметры();
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено));
Дополнить(Параметры, ДополнительныеПараметры);
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено));

Возврат ВызватьHTTPМетод(ТекущаяСессия, "PUT", URL, Параметры);

Expand All @@ -159,8 +159,8 @@
ТекущаяСессия = ТекущаяСессия(Сессия);

Параметры = НовыеПараметры();
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено));
Дополнить(Параметры, ДополнительныеПараметры);
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено));

Возврат ВызватьHTTPМетод(ТекущаяСессия, "PATCH", URL, Параметры);

Expand All @@ -182,8 +182,8 @@
ТекущаяСессия = ТекущаяСессия(Сессия);

Параметры = НовыеПараметры();
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено));
Дополнить(Параметры, ДополнительныеПараметры);
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено));

Возврат ВызватьHTTPМетод(ТекущаяСессия, "DELETE", URL, Параметры);

Expand Down Expand Up @@ -246,8 +246,8 @@
ТекущаяСессия = ТекущаяСессия(Сессия);

Параметры = НовыеПараметры();
Дополнить(Параметры, ПараметрыИзАргументов(ПараметрыЗапроса, Неопределено, Неопределено));
Дополнить(Параметры, ДополнительныеПараметры);
Дополнить(Параметры, ПараметрыИзАргументов(ПараметрыЗапроса, Неопределено, Неопределено));

ПараметрыПреобразованияJSON =
ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено);
Expand All @@ -273,8 +273,8 @@
ТекущаяСессия = ТекущаяСессия(Сессия);

Параметры = НовыеПараметры();
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json));
Дополнить(Параметры, ДополнительныеПараметры);
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json));

ПараметрыПреобразованияJSON =
ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено);
Expand All @@ -300,8 +300,8 @@
ТекущаяСессия = ТекущаяСессия(Сессия);

Параметры = НовыеПараметры();
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json));
Дополнить(Параметры, ДополнительныеПараметры);
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json));

ПараметрыПреобразованияJSON =
ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено);
Expand All @@ -326,8 +326,8 @@
ТекущаяСессия = ТекущаяСессия(Сессия);

Параметры = НовыеПараметры();
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json));
Дополнить(Параметры, ДополнительныеПараметры);
Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json));

ПараметрыПреобразованияJSON =
ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено);
Expand Down Expand Up @@ -3311,14 +3311,14 @@
ПараметрНайден = Ложь;

Если ТипЗнч(Приемник) = Тип("Соответствие") Тогда
ПараметрНайден = Приемник.Получить(ЭлементИсточника) <> Неопределено;
ПараметрНайден = Приемник.Получить(ЭлементИсточника.Ключ) <> Неопределено;
КонецЕсли;

Если ТипЗнч(Приемник) = Тип("Структура") Тогда
ПараметрНайден = Приемник.Свойство(ЭлементИсточника);
ПараметрНайден = Приемник.Свойство(ЭлементИсточника.Ключ);
КонецЕсли;

Если Не ПараметрНайден Тогда
Если Не ПараметрНайден ИЛИ ПараметрНайден И ЭлементИсточника.Значение <> Неопределено Тогда
Приемник.Вставить(ЭлементИсточника.Ключ, ЭлементИсточника.Значение);
КонецЕсли;
КонецЦикла;
Expand Down
18 changes: 17 additions & 1 deletion src/ru/DataProcessors/Тесты/Ext/ObjectModule.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@

Тесты.Добавить("Тест_ОтправкаЗапросаПортитПереданныеНастройки_GitHub_Issue_33");

Тесты.Добавить("Тест_ПараметрыЗапросаВОтдельномПараметреПрименяютсяСПриоритетомНадДополнительнымиПараметрами");

Возврат Тесты;

КонецФункции
Expand Down Expand Up @@ -655,7 +657,7 @@
УтверждениеВерно(Ответ.КодСостояния, 200);

Ответ = КоннекторHTTP.Post("https://connectorhttp.ru/redirect-to?url=https%3A%2F%2Fya.ru&status_code=301");
УтверждениеВерно(Ответ.КодСостояния, 403);
УтверждениеВерно(Ответ.КодСостояния, 200);

КонецПроцедуры

Expand Down Expand Up @@ -1309,6 +1311,20 @@

КонецПроцедуры

Процедура Тест_ПараметрыЗапросаВОтдельномПараметреПрименяютсяСПриоритетомНадДополнительнымиПараметрами() Экспорт

ПараметрыЗапроса = Новый Структура("param1", "value1");
ДополнительныеПараметры = КоннекторHTTP.НовыеПараметры();
ДополнительныеПараметры.Заголовки.Вставить("X-My-Header", "my_header");

Ответ = КоннекторHTTP.Get("https://connectorhttp.ru/get", ПараметрыЗапроса, ДополнительныеПараметры);
Результат = КоннекторHTTP.КакJson(Ответ);

УтверждениеВерно(Результат["args"]["param1"], "value1");
УтверждениеВерно(Результат["headers"]["X-My-Header"], "my_header");

КонецПроцедуры

#КонецОбласти

Функция ИзвлечьExecution(Ответ)
Expand Down

0 comments on commit f0d37ae

Please sign in to comment.