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Метод(Вид, Запрос); + КонецЕсли; + ЭтоПереадресация = Ответ.КодСостояния >= Переадресация И Ответ.КодСостояния < Ошибка; Если ЭтоПереадресация Тогда