1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-27 02:43:54 +02:00

Оптимизация http и фастфикс работы с бакетом S3

This commit is contained in:
Anton Titovets 2024-11-13 11:35:14 +03:00
parent 01fd68e5a4
commit c725421b24
11 changed files with 5677 additions and 5608 deletions

File diff suppressed because it is too large Load Diff

View File

@ -81,7 +81,7 @@
Адрес = СтруктураURL["Адрес"];
Запрос = OPI_Инструменты.СоздатьЗапрос(Адрес, , ТипДанных);
Соединение = OPI_Инструменты.СоздатьСоединение(Сервер, КлючПриложения, СекретПриложения);
Соединение = OPI_Инструменты.СоздатьСоединение(Сервер, Истина, КлючПриложения, СекретПриложения);
СтрокаПараметров = OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
Данные = Прав(СтрокаПараметров, СтрДлина(СтрокаПараметров) - 1);

View File

@ -88,9 +88,10 @@
СтруктураURL = OPI_Инструменты.РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
Запрос = OPI_Инструменты.СоздатьЗапрос(Адрес);
Соединение = OPI_Инструменты.СоздатьСоединение(Сервер);
Соединение = OPI_Инструменты.СоздатьСоединение(Сервер, Защищенное);
ЗаголовокАвторизации = СоздатьЗаголовокАвторизации(ОсновныеДанные, Запрос, Соединение, Метод);
Запрос.Заголовки.Вставить("Authorization", ЗаголовокАвторизации);
@ -176,11 +177,11 @@
Функция ПолучитьКлючПодписи(Знач СекретныйКлюч, Знач Регион, Знач Сервис, Знач ТекущаяДата)
СекретныйКлюч = ПолучитьДвоичныеДанныеИзСтроки("AWS4" + СекретныйКлюч);
СекретныйКлюч = ПолучитьДвоичныеДанныеИзСтроки("AWS4" + СекретныйКлюч);
ДанныеДата = ПолучитьДвоичныеДанныеИзСтроки(Формат(ТекущаяДата, "ДФ=yyyyMMdd;"));
Регион = ПолучитьДвоичныеДанныеИзСтроки(Регион);
Сервис = ПолучитьДвоичныеДанныеИзСтроки(Сервис);
AWSЗапрос = ПолучитьДвоичныеДанныеИзСтроки("aws4_request");
Регион = ПолучитьДвоичныеДанныеИзСтроки(Регион);
Сервис = ПолучитьДвоичныеДанныеИзСтроки(Сервис);
AWSЗапрос = ПолучитьДвоичныеДанныеИзСтроки("aws4_request");
КлючДанных = OPI_Криптография.HMACSHA256(СекретныйКлюч, ДанныеДата);
КлючРегиона = OPI_Криптография.HMACSHA256(КлючДанных, Регион);
@ -361,6 +362,8 @@
Функция ПолучитьURLСервиса(Знач Авторизация)
URL = Авторизация["URL"];
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
URL = URL + "/";
@ -387,14 +390,21 @@
#Область Прочее
Функция УправлениеБакетом(Знач Имя, Знач Авторизация, Знач Метод)
Функция УправлениеБакетом(Знач Имя, Знач ОсновныеДанные, Знач Метод)
OPI_ПреобразованиеТипов.ПолучитьСтроку(Имя);
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОсновныеДанные);
Если ТипЗнч(ОсновныеДанные) = Тип("Массив") Тогда
ВызватьИсключение "Ошибка получения авторизационных данных из структуры";
КонецЕсли;
URL = ПолучитьURLСервиса(Авторизация);
URL = ПолучитьURLСервиса(ОсновныеДанные);
URL = URL + Имя;
Ответ = ОтправитьЗапросБезТела(Метод, Авторизация);
ОсновныеДанные.Вставить("URL", URL);
Ответ = ОтправитьЗапросБезТела(Метод, ОсновныеДанные);
Возврат Ответ;

View File

@ -14615,7 +14615,7 @@
SecretKey = ПараметрыФункции["S3_SecretKey"];
Region = "BTC";
Авторизация = OPI_S3.ПолучитьСтруктуруАвторизации(URL, AccessKey, SecretKey, Region);
Авторизация = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
Имя = "newbucket2";
@ -14635,7 +14635,7 @@
SecretKey = ПараметрыФункции["S3_SecretKey"];
Region = "BTC";
Авторизация = OPI_S3.ПолучитьСтруктуруАвторизации(URL, AccessKey, SecretKey, Region);
Авторизация = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
Имя = "newbucket2";

View File

@ -391,29 +391,6 @@
КонецФункции
Функция ЭтоOneScript() Экспорт
Попытка
Ответ = Ложь;
// BSLLS:UnusedLocalVariable-off
//@skip-check module-unused-local-variable
Проверка = Новый ЗащищенноеСоединениеOpenSSL();
// BSLLS:UnusedLocalVariable-on
Исключение
Ответ = Истина;
КонецПопытки;
Возврат Ответ;
КонецФункции
Процедура ПараметрВКоллекцию(Параметр, Коллекция) Экспорт
Значение = ПолучитьПараметр(Параметр);
@ -2013,9 +1990,9 @@
КонецФункции
Функция ПолучитьОбщийМодуль(Знач Имя)
Модуль = Вычислить(Имя);
Возврат Модуль;
КонецФункции
@ -2199,7 +2176,7 @@
Процедура ЗаписатьВызовCLI(Знач Библиотека, Знач Метод, Знач Опции)
Если Не ЭтоOneScript() Тогда
Если Не OPI_Инструменты.ЭтоOneScript() Тогда
Возврат;
КонецЕсли;

View File

@ -210,14 +210,24 @@
КонецФункции
Функция СоздатьСоединение(Знач Сервер, Знач Пользователь = "", Знач Пароль = "") Экспорт
Функция СоздатьСоединение(Знач Сервер, Знач Защищенное = Истина, Знач Пользователь = "", Знач Пароль = "") Экспорт
Попытка
SSL = Новый ЗащищенноеСоединениеOpenSSL;
Возврат Новый HTTPСоединение(Сервер, 443, Пользователь, Пароль, , 3000, SSL);
Исключение
Возврат Новый HTTPСоединение(Сервер, 443, Пользователь, Пароль, , 3000);
КонецПопытки;
Если Защищенное Тогда
Если ЭтоOneScript() Тогда
Соединение = Новый HTTPСоединение(Сервер, 443, Пользователь, Пароль, , 3000);
Иначе
SSL = Новый ЗащищенноеСоединениеOpenSSL;
Соединение = Новый HTTPСоединение(Сервер, 443, Пользователь, Пароль, , 3000, SSL);
КонецЕсли;
Иначе
Соединение = Новый HTTPСоединение(Сервер, 80, Пользователь, Пароль, , 3000, SSL);
КонецЕсли;
Возврат Соединение;
КонецФункции
@ -233,11 +243,12 @@
URL = Ответ.Заголовки["Location"];
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Запрос.АдресРесурса = Адрес;
Ответ = ВыполнитьЗапрос(Запрос, Соединение, Вид, ФайлОтвета, ПолныйОтвет);
@ -369,22 +380,28 @@
Функция РазбитьURL(Знач URL) Экспорт
ЗащищенноеСоединение = Не СтрНачинаетсяС(URL, "http://");
URL = СтрЗаменить(URL, "https://", "");
URL = СтрЗаменить(URL, "http://" , "");
URL = СтрЗаменить(URL, ":443" , "");
Адрес = Прав(URL, СтрДлина(URL) - СтрНайти(URL, "/", НаправлениеПоиска.СНачала) + 1);
Сервер = Лев(URL, СтрНайти(URL, "/", НаправлениеПоиска.СНачала) - 1);
Если СтрНайти(URL, "/") = 0 Тогда
Адрес = "";
Сервер = URL;
Иначе
Адрес = Прав(URL, СтрДлина(URL) - СтрНайти(URL, "/", НаправлениеПоиска.СНачала) + 1);
Сервер = Лев(URL, СтрНайти(URL, "/", НаправлениеПоиска.СНачала) - 1);
КонецЕсли;
Попытка
SSL = Новый ЗащищенноеСоединениеOpenSSL;
Исключение
Если ЭтоOneScript() И ЗащищенноеСоединение Тогда
Сервер = "https://" + Сервер;
КонецПопытки;
КонецЕсли;
СтруктураВозврата = Новый Структура;
СтруктураВозврата.Вставить("Сервер", Сервер);
СтруктураВозврата.Вставить("Адрес" , Адрес);
СтруктураВозврата.Вставить("Сервер" , Сервер);
СтруктураВозврата.Вставить("Адрес" , Адрес);
СтруктураВозврата.Вставить("Защищенное" , ЗащищенноеСоединение);
Возврат СтруктураВозврата;
@ -644,6 +661,29 @@
КонецФункции
Функция ЭтоOneScript() Экспорт
Попытка
Ответ = Ложь;
// BSLLS:UnusedLocalVariable-off
//@skip-check module-unused-local-variable
Проверка = Новый ЗащищенноеСоединениеOpenSSL();
// BSLLS:UnusedLocalVariable-on
Исключение
Ответ = Истина;
КонецПопытки;
Возврат Ответ;
КонецФункции
Процедура ЗначениеВМассив(Значение) Экспорт
Значение_ = Новый Массив;
@ -794,9 +834,10 @@
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
Запрос = СоздатьЗапросСТелом(Адрес, Параметры, ДопЗаголовки, JSON);
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Ответ = ВыполнитьЗапрос(Запрос, Соединение, Вид, ФайлОтвета, ПолныйОтвет);
Возврат Ответ;
@ -813,9 +854,10 @@
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, ТипДанных);
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Если Не Данные.Размер() = 0 Тогда
Запрос.УстановитьТелоИзДвоичныхДанных(Данные);
@ -837,12 +879,13 @@
Параметры = Новый Структура;
КонецЕсли;
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"] + ПараметрыЗапросаВСтроку(Параметры);
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"] + ПараметрыЗапросаВСтроку(Параметры);
Защищенное = СтруктураURL["Защищенное"];
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки);
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Ответ = ВыполнитьЗапрос(Запрос, Соединение, Вид, ФайлОтвета);
@ -869,10 +912,12 @@
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
ТелоЗапроса = ПолучитьИмяВременногоФайла();
Запрос = СоздатьЗапросМультипарт(Адрес, Параметры, Файлы, ДопЗаголовки, ТелоЗапроса, ТипКонтента);
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Ответ = ВыполнитьЗапрос(Запрос, Соединение, Вид, ФайлОтвета);
Запрос = Неопределено;
@ -893,10 +938,12 @@
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
ТелоЗапроса = ПолучитьИмяВременногоФайла();
Запрос = СоздатьЗапросМультипартРелэйтед(Адрес, Файлы, JSON, ДопЗаголовки, ТелоЗапроса);
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Ответ = ВыполнитьЗапрос(Запрос, Соединение, Вид, ФайлОтвета);

View File

@ -81,7 +81,7 @@
Адрес = СтруктураURL["Адрес"];
Запрос = OPI_Инструменты.СоздатьЗапрос(Адрес, , ТипДанных);
Соединение = OPI_Инструменты.СоздатьСоединение(Сервер, КлючПриложения, СекретПриложения);
Соединение = OPI_Инструменты.СоздатьСоединение(Сервер, Истина, КлючПриложения, СекретПриложения);
СтрокаПараметров = OPI_Инструменты.ПараметрыЗапросаВСтроку(Параметры);
Данные = Прав(СтрокаПараметров, СтрДлина(СтрокаПараметров) - 1);

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_S3.os
// OneScript: ./OInt/core/Modules/OPI_S3.os
// Lib: S3
// CLI: s3
@ -88,9 +88,10 @@
СтруктураURL = OPI_Инструменты.РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
Запрос = OPI_Инструменты.СоздатьЗапрос(Адрес);
Соединение = OPI_Инструменты.СоздатьСоединение(Сервер);
Соединение = OPI_Инструменты.СоздатьСоединение(Сервер, Защищенное);
ЗаголовокАвторизации = СоздатьЗаголовокАвторизации(ОсновныеДанные, Запрос, Соединение, Метод);
Запрос.Заголовки.Вставить("Authorization", ЗаголовокАвторизации);
@ -176,11 +177,11 @@
Функция ПолучитьКлючПодписи(Знач СекретныйКлюч, Знач Регион, Знач Сервис, Знач ТекущаяДата)
СекретныйКлюч = ПолучитьДвоичныеДанныеИзСтроки("AWS4" + СекретныйКлюч);
СекретныйКлюч = ПолучитьДвоичныеДанныеИзСтроки("AWS4" + СекретныйКлюч);
ДанныеДата = ПолучитьДвоичныеДанныеИзСтроки(Формат(ТекущаяДата, "ДФ=yyyyMMdd;"));
Регион = ПолучитьДвоичныеДанныеИзСтроки(Регион);
Сервис = ПолучитьДвоичныеДанныеИзСтроки(Сервис);
AWSЗапрос = ПолучитьДвоичныеДанныеИзСтроки("aws4_request");
Регион = ПолучитьДвоичныеДанныеИзСтроки(Регион);
Сервис = ПолучитьДвоичныеДанныеИзСтроки(Сервис);
AWSЗапрос = ПолучитьДвоичныеДанныеИзСтроки("aws4_request");
КлючДанных = OPI_Криптография.HMACSHA256(СекретныйКлюч, ДанныеДата);
КлючРегиона = OPI_Криптография.HMACSHA256(КлючДанных, Регион);
@ -361,6 +362,8 @@
Функция ПолучитьURLСервиса(Знач Авторизация)
URL = Авторизация["URL"];
OPI_ПреобразованиеТипов.ПолучитьСтроку(URL);
Если Не СтрЗаканчиваетсяНа(URL, "/") Тогда
URL = URL + "/";
@ -387,14 +390,21 @@
#Область Прочее
Функция УправлениеБакетом(Знач Имя, Знач Авторизация, Знач Метод)
Функция УправлениеБакетом(Знач Имя, Знач ОсновныеДанные, Знач Метод)
OPI_ПреобразованиеТипов.ПолучитьСтроку(Имя);
OPI_ПреобразованиеТипов.ПолучитьКоллекцию(ОсновныеДанные);
Если ТипЗнч(ОсновныеДанные) = Тип("Массив") Тогда
ВызватьИсключение "Ошибка получения авторизационных данных из структуры";
КонецЕсли;
URL = ПолучитьURLСервиса(Авторизация);
URL = ПолучитьURLСервиса(ОсновныеДанные);
URL = URL + Имя;
Ответ = ОтправитьЗапросБезТела(Метод, Авторизация);
ОсновныеДанные.Вставить("URL", URL);
Ответ = ОтправитьЗапросБезТела(Метод, ОсновныеДанные);
Возврат Ответ;

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
// MIT License
@ -210,14 +210,24 @@
КонецФункции
Функция СоздатьСоединение(Знач Сервер, Знач Пользователь = "", Знач Пароль = "") Экспорт
Функция СоздатьСоединение(Знач Сервер, Знач Защищенное = Истина, Знач Пользователь = "", Знач Пароль = "") Экспорт
Попытка
SSL = Новый ЗащищенноеСоединениеOpenSSL;
Возврат Новый HTTPСоединение(Сервер, 443, Пользователь, Пароль, , 3000, SSL);
Исключение
Возврат Новый HTTPСоединение(Сервер, 443, Пользователь, Пароль, , 3000);
КонецПопытки;
Если Защищенное Тогда
Если ЭтоOneScript() Тогда
Соединение = Новый HTTPСоединение(Сервер, 443, Пользователь, Пароль, , 3000);
Иначе
SSL = Новый ЗащищенноеСоединениеOpenSSL;
Соединение = Новый HTTPСоединение(Сервер, 443, Пользователь, Пароль, , 3000, SSL);
КонецЕсли;
Иначе
Соединение = Новый HTTPСоединение(Сервер, 80, Пользователь, Пароль, , 3000, SSL);
КонецЕсли;
Возврат Соединение;
КонецФункции
@ -233,11 +243,12 @@
URL = Ответ.Заголовки["Location"];
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Запрос.АдресРесурса = Адрес;
Ответ = ВыполнитьЗапрос(Запрос, Соединение, Вид, ФайлОтвета, ПолныйОтвет);
@ -369,22 +380,28 @@
Функция РазбитьURL(Знач URL) Экспорт
ЗащищенноеСоединение = Не СтрНачинаетсяС(URL, "http://");
URL = СтрЗаменить(URL, "https://", "");
URL = СтрЗаменить(URL, "http://" , "");
URL = СтрЗаменить(URL, ":443" , "");
Адрес = Прав(URL, СтрДлина(URL) - СтрНайти(URL, "/", НаправлениеПоиска.СНачала) + 1);
Сервер = Лев(URL, СтрНайти(URL, "/", НаправлениеПоиска.СНачала) - 1);
Если СтрНайти(URL, "/") = 0 Тогда
Адрес = "";
Сервер = URL;
Иначе
Адрес = Прав(URL, СтрДлина(URL) - СтрНайти(URL, "/", НаправлениеПоиска.СНачала) + 1);
Сервер = Лев(URL, СтрНайти(URL, "/", НаправлениеПоиска.СНачала) - 1);
КонецЕсли;
Попытка
SSL = Новый ЗащищенноеСоединениеOpenSSL;
Исключение
Если ЭтоOneScript() И ЗащищенноеСоединение Тогда
Сервер = "https://" + Сервер;
КонецПопытки;
КонецЕсли;
СтруктураВозврата = Новый Структура;
СтруктураВозврата.Вставить("Сервер", Сервер);
СтруктураВозврата.Вставить("Адрес" , Адрес);
СтруктураВозврата.Вставить("Сервер" , Сервер);
СтруктураВозврата.Вставить("Адрес" , Адрес);
СтруктураВозврата.Вставить("Защищенное" , ЗащищенноеСоединение);
Возврат СтруктураВозврата;
@ -644,6 +661,29 @@
КонецФункции
Функция ЭтоOneScript() Экспорт
Попытка
Ответ = Ложь;
// BSLLS:UnusedLocalVariable-off
//@skip-check module-unused-local-variable
Проверка = Новый ЗащищенноеСоединениеOpenSSL();
// BSLLS:UnusedLocalVariable-on
Исключение
Ответ = Истина;
КонецПопытки;
Возврат Ответ;
КонецФункции
Процедура ЗначениеВМассив(Значение) Экспорт
Значение_ = Новый Массив;
@ -794,9 +834,10 @@
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
Запрос = СоздатьЗапросСТелом(Адрес, Параметры, ДопЗаголовки, JSON);
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Ответ = ВыполнитьЗапрос(Запрос, Соединение, Вид, ФайлОтвета, ПолныйОтвет);
Возврат Ответ;
@ -813,9 +854,10 @@
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки, ТипДанных);
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Если Не Данные.Размер() = 0 Тогда
Запрос.УстановитьТелоИзДвоичныхДанных(Данные);
@ -837,12 +879,13 @@
Параметры = Новый Структура;
КонецЕсли;
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"] + ПараметрыЗапросаВСтроку(Параметры);
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"] + ПараметрыЗапросаВСтроку(Параметры);
Защищенное = СтруктураURL["Защищенное"];
Запрос = СоздатьЗапрос(Адрес, ДопЗаголовки);
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Ответ = ВыполнитьЗапрос(Запрос, Соединение, Вид, ФайлОтвета);
@ -869,10 +912,12 @@
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
ТелоЗапроса = ПолучитьИмяВременногоФайла();
Запрос = СоздатьЗапросМультипарт(Адрес, Параметры, Файлы, ДопЗаголовки, ТелоЗапроса, ТипКонтента);
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Ответ = ВыполнитьЗапрос(Запрос, Соединение, Вид, ФайлОтвета);
Запрос = Неопределено;
@ -893,10 +938,12 @@
СтруктураURL = РазбитьURL(URL);
Сервер = СтруктураURL["Сервер"];
Адрес = СтруктураURL["Адрес"];
Защищенное = СтруктураURL["Защищенное"];
ТелоЗапроса = ПолучитьИмяВременногоФайла();
Запрос = СоздатьЗапросМультипартРелэйтед(Адрес, Файлы, JSON, ДопЗаголовки, ТелоЗапроса);
Соединение = СоздатьСоединение(Сервер);
Соединение = СоздатьСоединение(Сервер, Защищенное);
Ответ = ВыполнитьЗапрос(Запрос, Соединение, Вид, ФайлОтвета);

View File

@ -391,29 +391,6 @@
КонецФункции
Функция ЭтоOneScript() Экспорт
Попытка
Ответ = Ложь;
// BSLLS:UnusedLocalVariable-off
//@skip-check module-unused-local-variable
Проверка = Новый ЗащищенноеСоединениеOpenSSL();
// BSLLS:UnusedLocalVariable-on
Исключение
Ответ = Истина;
КонецПопытки;
Возврат Ответ;
КонецФункции
Процедура ПараметрВКоллекцию(Параметр, Коллекция) Экспорт
Значение = ПолучитьПараметр(Параметр);
@ -2199,7 +2176,7 @@
Процедура ЗаписатьВызовCLI(Знач Библиотека, Знач Метод, Знач Опции)
Если Не ЭтоOneScript() Тогда
Если Не OPI_Инструменты.ЭтоOneScript() Тогда
Возврат;
КонецЕсли;

View File

@ -14615,7 +14615,7 @@
SecretKey = ПараметрыФункции["S3_SecretKey"];
Region = "BTC";
Авторизация = OPI_S3.ПолучитьСтруктуруАвторизации(URL, AccessKey, SecretKey, Region);
Авторизация = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
Имя = "newbucket2";
@ -14635,7 +14635,7 @@
SecretKey = ПараметрыФункции["S3_SecretKey"];
Region = "BTC";
Авторизация = OPI_S3.ПолучитьСтруктуруАвторизации(URL, AccessKey, SecretKey, Region);
Авторизация = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);
Имя = "newbucket2";