From e2095f4565e60afd7a6227d57e9a2ac28f7dec72 Mon Sep 17 00:00:00 2001 From: Vitaly the Alpaca Date: Tue, 16 Apr 2024 18:03:44 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B5=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20OPI=20->=20OInt=20?= =?UTF-8?q?(workflow)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../internal/Modules/OPI_Инструменты.os | 47 +++++++++++++------ 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os b/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os index 99659b1d9..92281f64a 100644 --- a/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os +++ b/OInt/tools/Modules/internal/Modules/OPI_Инструменты.os @@ -38,11 +38,11 @@ #Область ЗапросыБезТела Функция Get(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач ФайлОтвета = Неопределено) Экспорт - Возврат ВыполнитьЗапросБезТела(URL, "GET", Параметры, ДопЗаголовки); + Возврат ВыполнитьЗапросБезТела(URL, "GET", Параметры, ДопЗаголовки, ФайлОтвета); КонецФункции Функция Delete(Знач URL, Знач Параметры = "", Знач ДопЗаголовки = "", Знач ФайлОтвета = Неопределено) Экспорт - Возврат ВыполнитьЗапросБезТела(URL, "DELETE", Параметры, ДопЗаголовки); + Возврат ВыполнитьЗапросБезТела(URL, "DELETE", Параметры, ДопЗаголовки, ФайлОтвета); КонецФункции #КонецОбласти @@ -56,7 +56,7 @@ , Знач ПолныйОтвет = Ложь , Знач ФайлОтвета = Неопределено) Экспорт - Возврат ВыполнитьЗапросСТелом(URL, "POST", Параметры, ДопЗаголовки, JSON, ПолныйОтвет); + Возврат ВыполнитьЗапросСТелом(URL, "POST", Параметры, ДопЗаголовки, JSON, ПолныйОтвет, ФайлОтвета); КонецФункции @@ -67,7 +67,7 @@ , Знач ПолныйОтвет = Ложь , Знач ФайлОтвета = Неопределено) Экспорт - Возврат ВыполнитьЗапросСТелом(URL, "PATCH", Параметры, ДопЗаголовки, JSON, ПолныйОтвет); + Возврат ВыполнитьЗапросСТелом(URL, "PATCH", Параметры, ДопЗаголовки, JSON, ПолныйОтвет, ФайлОтвета); КонецФункции @@ -78,7 +78,7 @@ , Знач ПолныйОтвет = Ложь , Знач ФайлОтвета = Неопределено) Экспорт - Возврат ВыполнитьЗапросСТелом(URL, "PUT", Параметры, ДопЗаголовки, JSON, ПолныйОтвет); + Возврат ВыполнитьЗапросСТелом(URL, "PUT", Параметры, ДопЗаголовки, JSON, ПолныйОтвет, ФайлОтвета); КонецФункции @@ -93,7 +93,7 @@ , Знач ДопЗаголовки = "" , Знач ФайлОтвета = Неопределено) Экспорт - Возврат ВыполнитьЗапросМультипарт(URL, "POST", Параметры, Файлы, ТипКонтента, ДопЗаголовки); + Возврат ВыполнитьЗапросМультипарт(URL, "POST", Параметры, Файлы, ТипКонтента, ДопЗаголовки, ФайлОтвета); КонецФункции @@ -104,7 +104,7 @@ , Знач ДопЗаголовки = "" , Знач ФайлОтвета = Неопределено) Экспорт - Возврат ВыполнитьЗапросМультипарт(URL, "PUT", Параметры, Файлы, ТипКонтента, ДопЗаголовки); + Возврат ВыполнитьЗапросМультипарт(URL, "PUT", Параметры, Файлы, ТипКонтента, ДопЗаголовки, ФайлОтвета); КонецФункции @@ -114,7 +114,7 @@ , Знач ДопЗаголовки = "" , Знач ФайлОтвета = Неопределено) Экспорт - Возврат ВыполнитьЗапросМультипартРелэйтед(URL, "POST", JSON, Файлы, ДопЗаголовки); + Возврат ВыполнитьЗапросМультипартРелэйтед(URL, "POST", JSON, Файлы, ДопЗаголовки, ФайлОтвета); КонецФункции @@ -124,7 +124,7 @@ , Знач ДопЗаголовки = "" , Знач ФайлОтвета = Неопределено) Экспорт - Возврат ВыполнитьЗапросМультипартРелэйтед(URL, "PATCH", JSON, Файлы, ДопЗаголовки); + Возврат ВыполнитьЗапросМультипартРелэйтед(URL, "PATCH", JSON, Файлы, ДопЗаголовки, ФайлОтвета); КонецФункции @@ -398,7 +398,11 @@ УстановитьТелоЗапроса(Запрос, Параметры, JSON); - Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета); + Если ЗначениеЗаполнено(ФайлОтвета) Тогда + Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета); + Иначе + Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос); + КонецЕсли; Если ЭтоПереадресация(Ответ) Тогда Ответ = ВыполнитьЗапросСТелом(Ответ.Заголовки["Location"] @@ -431,8 +435,13 @@ Адрес = СтруктураURL["Адрес"] + ПараметрыЗапросаВСтроку(Параметры); Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки); - Соединение = СоздатьСоединение(Сервер); - Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета); + Соединение = СоздатьСоединение(Сервер); + + Если ЗначениеЗаполнено(ФайлОтвета) Тогда + Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета); + Иначе + Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос); + КонецЕсли; Если ЭтоПереадресация(Ответ) Тогда Ответ = ВыполнитьЗапросБезТела(Ответ.Заголовки["Location"], Вид, Параметры, ДопЗаголовки, ФайлОтвета); @@ -489,7 +498,12 @@ Запрос.УстановитьИмяФайлаТела(ТелоЗапроса); - Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета); + Если ЗначениеЗаполнено(ФайлОтвета) Тогда + Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета); + Иначе + Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос); + КонецЕсли; + ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка; Если ЭтоПереадресация Тогда @@ -550,7 +564,12 @@ Запрос.УстановитьИмяФайлаТела(ТелоЗапроса); - Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета); + Если ЗначениеЗаполнено(ФайлОтвета) Тогда + Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос, ФайлОтвета); + Иначе + Ответ = Соединение.ВызватьHTTPМетод(Вид, Запрос); + КонецЕсли; + ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка; Если ЭтоПереадресация Тогда