Skip to content

Commit

Permalink
Merge pull request #148 from Stivo182/feature/connector-http
Browse files Browse the repository at this point in the history
Добавление поддержки опций -F, --form, --form-string для коннектора
  • Loading branch information
Stivo182 authored Jan 20, 2025
2 parents 4e88a02 + b28e03c commit 935e19d
Show file tree
Hide file tree
Showing 11 changed files with 1,020 additions and 137 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,10 @@

Процедура ДобавитьЧтениеФайлов()

Если ОписаниеЗапроса.ОтправлятьКакMultipartFormData Тогда
Возврат;
КонецЕсли;

ТребуетсяЧтениеФайловТелаЗапроса = Не МетодУстановкиТелаЗапроса = "ИзФайла";

ФайлыДляЧтения = Новый Массив();
Expand Down Expand Up @@ -197,6 +201,10 @@

Процедура ДобавитьДанныеЗапроса()

Если ОписаниеЗапроса.ОтправлятьКакMultipartFormData Тогда
Возврат;
КонецЕсли;

ТелоЗапросаСтрока = "";
ТелоЗапроса = КоллекцияПрограммногоКода.СборкаДанныхЗапросаВСтроку(
НазначенияПередаваемыхДанных.ТелоЗапроса,
Expand Down Expand Up @@ -344,6 +352,10 @@

Процедура ДобавитьПоследовательнуюОтправкуФайлов(ОписаниеРесурса)

Если ОписаниеЗапроса.ОтправлятьКакMultipartFormData Тогда
Возврат;
КонецЕсли;

ДлинаИмениФайлаВКомментарии = 100;

ВсеФайлы = Новый Массив();
Expand All @@ -368,22 +380,22 @@
НомерФайла = НомерФайла + 1;

Если КоличествоФайлов > 1 Тогда
ИмяФайла = Лев(ПередаваемыйФайл.ИмяФайла, ДлинаИмениФайлаВКомментарии);
ИмяФайла = Лев(ПередаваемыйФайл.ПолноеИмяФайла, ДлинаИмениФайлаВКомментарии);
Конструктор
.ДобавитьПустуюСтроку()
.ДобавитьКомментарий("Передача файла %1. %2", НомерФайла, ИмяФайла);
КонецЕсли;

СтруктураURL = Новый ПарсерURL(ОписаниеРесурса.URL);
Если ПередаваемыйФайл.ДобавлятьИмяФайлаКURL Тогда
СтруктураURL.Путь = ОбщегоНазначения.ДополнитьИменемФайлаПутьURL(ПередаваемыйФайл.ИмяФайла, СтруктураURL.Путь);
СтруктураURL.Путь = ОбщегоНазначения.ДополнитьИменемФайлаПутьURL(ПередаваемыйФайл.ПолноеИмяФайла, СтруктураURL.Путь);
КонецЕсли;

ДобавитьHTTPЗапрос(СтруктураURL);

Конструктор.ДобавитьСтроку("%1.УстановитьИмяФайлаТела(%2);",
ИмяПараметраHTTPЗапрос,
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ИмяФайла));
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла));

ДобавитьВызовHTTPМетода(ОписаниеРесурса);

Expand Down Expand Up @@ -503,7 +515,7 @@
Конструктор.ДобавитьСтроку("%1%2.УстановитьИмяФайлаТела(%3);",
?(ЭтоПервыйФайл, "", "// "),
ИмяПараметраHTTPЗапрос,
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ИмяФайла));
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла));

ЭтоПервыйФайл = Ложь;

Expand Down Expand Up @@ -589,13 +601,13 @@
КонецЕсли;

Если ПередаваемыйФайл.ДобавлятьИмяФайлаКURL Тогда
АдресРесурса = ОбщегоНазначения.ДополнитьИменемФайлаПутьURL(ПередаваемыйФайл.ИмяФайла, СтруктураURL.Путь);
АдресРесурса = ОбщегоНазначения.ДополнитьИменемФайлаПутьURL(ПередаваемыйФайл.ПолноеИмяФайла, СтруктураURL.Путь);
Иначе
АдресРесурса = СтруктураURL.Путь;
КонецЕсли;

ПараметрыФункции = Новый Массив;
ПараметрыФункции.Добавить(Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ИмяФайла));
ПараметрыФункции.Добавить(Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла));
ПараметрыФункции.Добавить(Конструктор.ПараметрВСтроку(АдресРесурса));

Конструктор.ДобавитьСтроку("%1.Записать(%2);",
Expand Down Expand Up @@ -667,8 +679,10 @@
Прервать;
КонецЕсли;
КонецЦикла;

Если КоличествоФайлов > 1 Или ЕстьТекстовоеТелоЗапроса Тогда

Если ОписаниеЗапроса.ОтправлятьКакMultipartFormData Тогда
МетодУстановкиТелаЗапроса = "";
ИначеЕсли КоличествоФайлов > 1 Или ЕстьТекстовоеТелоЗапроса Тогда
МетодУстановкиТелаЗапроса = "ИзСтроки";
ИначеЕсли КоличествоФайлов = 1 И Не ЕстьТекстовоеТелоЗапроса Тогда
МетодУстановкиТелаЗапроса = "ИзФайла";
Expand Down
Loading

0 comments on commit 935e19d

Please sign in to comment.