From f0d37ae34af6b30102eb417270785e1b3027f2d9 Mon Sep 17 00:00:00 2001 From: Vladimir Bondarevskiy Date: Fri, 3 Mar 2023 00:03:23 +0300 Subject: [PATCH] =?UTF-8?q?=20=D0=9F=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D1=8B=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B8=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80=D1=8B?= =?UTF-8?q?=20=D0=BD=D0=BE=D0=B2=D1=8B=D1=85=20=D0=BF=D0=B0=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2.=20#120?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Module.bsl" | 32 +++++++++---------- .../Ext/ObjectModule.bsl" | 18 ++++++++++- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git "a/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" "b/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" index ed6095d..9ea843b 100644 --- "a/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" +++ "b/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" @@ -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. @@ -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 и выше @@ -46,8 +46,8 @@ ТекущаяСессия = ТекущаяСессия(Сессия); Параметры = НовыеПараметры(); - Дополнить(Параметры, ПараметрыИзАргументов(ПараметрыЗапроса, Неопределено, Неопределено)); Дополнить(Параметры, ДополнительныеПараметры); + Дополнить(Параметры, ПараметрыИзАргументов(ПараметрыЗапроса, Неопределено, Неопределено)); Возврат ВызватьHTTPМетод(ТекущаяСессия, "GET", URL, Параметры); @@ -68,8 +68,8 @@ ТекущаяСессия = ТекущаяСессия(Сессия); Параметры = НовыеПараметры(); - Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Неопределено)); Дополнить(Параметры, ДополнительныеПараметры); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Неопределено)); Возврат ВызватьHTTPМетод(ТекущаяСессия, "OPTIONS", URL, Параметры); @@ -90,8 +90,8 @@ ТекущаяСессия = ТекущаяСессия(Сессия); Параметры = НовыеПараметры(); - Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Неопределено)); Дополнить(Параметры, ДополнительныеПараметры); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Неопределено)); Возврат ВызватьHTTPМетод(ТекущаяСессия, "HEAD", URL, Параметры); @@ -113,8 +113,8 @@ ТекущаяСессия = ТекущаяСессия(Сессия); Параметры = НовыеПараметры(); - Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); Дополнить(Параметры, ДополнительныеПараметры); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); Возврат ВызватьHTTPМетод(ТекущаяСессия, "POST", URL, Параметры); @@ -136,8 +136,8 @@ ТекущаяСессия = ТекущаяСессия(Сессия); Параметры = НовыеПараметры(); - Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); Дополнить(Параметры, ДополнительныеПараметры); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); Возврат ВызватьHTTPМетод(ТекущаяСессия, "PUT", URL, Параметры); @@ -159,8 +159,8 @@ ТекущаяСессия = ТекущаяСессия(Сессия); Параметры = НовыеПараметры(); - Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); Дополнить(Параметры, ДополнительныеПараметры); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); Возврат ВызватьHTTPМетод(ТекущаяСессия, "PATCH", URL, Параметры); @@ -182,8 +182,8 @@ ТекущаяСессия = ТекущаяСессия(Сессия); Параметры = НовыеПараметры(); - Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); Дополнить(Параметры, ДополнительныеПараметры); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Данные, Неопределено)); Возврат ВызватьHTTPМетод(ТекущаяСессия, "DELETE", URL, Параметры); @@ -246,8 +246,8 @@ ТекущаяСессия = ТекущаяСессия(Сессия); Параметры = НовыеПараметры(); - Дополнить(Параметры, ПараметрыИзАргументов(ПараметрыЗапроса, Неопределено, Неопределено)); Дополнить(Параметры, ДополнительныеПараметры); + Дополнить(Параметры, ПараметрыИзАргументов(ПараметрыЗапроса, Неопределено, Неопределено)); ПараметрыПреобразованияJSON = ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено); @@ -273,8 +273,8 @@ ТекущаяСессия = ТекущаяСессия(Сессия); Параметры = НовыеПараметры(); - Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json)); Дополнить(Параметры, ДополнительныеПараметры); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json)); ПараметрыПреобразованияJSON = ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено); @@ -300,8 +300,8 @@ ТекущаяСессия = ТекущаяСессия(Сессия); Параметры = НовыеПараметры(); - Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json)); Дополнить(Параметры, ДополнительныеПараметры); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json)); ПараметрыПреобразованияJSON = ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено); @@ -326,8 +326,8 @@ ТекущаяСессия = ТекущаяСессия(Сессия); Параметры = НовыеПараметры(); - Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json)); Дополнить(Параметры, ДополнительныеПараметры); + Дополнить(Параметры, ПараметрыИзАргументов(Неопределено, Неопределено, Json)); ПараметрыПреобразованияJSON = ВыбратьЗначение(Неопределено, Параметры, "ПараметрыПреобразованияJSON", Неопределено); @@ -3311,14 +3311,14 @@ ПараметрНайден = Ложь; Если ТипЗнч(Приемник) = Тип("Соответствие") Тогда - ПараметрНайден = Приемник.Получить(ЭлементИсточника) <> Неопределено; + ПараметрНайден = Приемник.Получить(ЭлементИсточника.Ключ) <> Неопределено; КонецЕсли; Если ТипЗнч(Приемник) = Тип("Структура") Тогда - ПараметрНайден = Приемник.Свойство(ЭлементИсточника); + ПараметрНайден = Приемник.Свойство(ЭлементИсточника.Ключ); КонецЕсли; - Если Не ПараметрНайден Тогда + Если Не ПараметрНайден ИЛИ ПараметрНайден И ЭлементИсточника.Значение <> Неопределено Тогда Приемник.Вставить(ЭлементИсточника.Ключ, ЭлементИсточника.Значение); КонецЕсли; КонецЦикла; diff --git "a/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" "b/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" index a365c3e..d1ee9ef 100644 --- "a/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" +++ "b/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" @@ -100,6 +100,8 @@ Тесты.Добавить("Тест_ОтправкаЗапросаПортитПереданныеНастройки_GitHub_Issue_33"); + Тесты.Добавить("Тест_ПараметрыЗапросаВОтдельномПараметреПрименяютсяСПриоритетомНадДополнительнымиПараметрами"); + Возврат Тесты; КонецФункции @@ -655,7 +657,7 @@ УтверждениеВерно(Ответ.КодСостояния, 200); Ответ = КоннекторHTTP.Post("https://connectorhttp.ru/redirect-to?url=https%3A%2F%2Fya.ru&status_code=301"); - УтверждениеВерно(Ответ.КодСостояния, 403); + УтверждениеВерно(Ответ.КодСостояния, 200); КонецПроцедуры @@ -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(Ответ)