mirror of
https://github.com/alei1180/curlone.git
synced 2026-06-21 01:30:38 +02:00
Рефакторинг (#206)
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
РезультатКонвертации = КонвертерКомандыCURL.Конвертировать(ПодготовленныеАргументы, Генератор, Ошибки);
|
||||
Исключение
|
||||
РезультатКонвертации = "";
|
||||
Ошибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
|
||||
Ошибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
|
||||
КонецПопытки;
|
||||
|
||||
Для Каждого Ошибка Из Ошибки Цикл
|
||||
@@ -35,11 +35,13 @@
|
||||
КонецЦикла;
|
||||
|
||||
Если ЗначениеЗаполнено(РезультатКонвертации) Тогда
|
||||
|
||||
Если Ошибки.Количество() Тогда
|
||||
Консоль.Вывести(Символы.ПС);
|
||||
КонецЕсли;
|
||||
|
||||
Консоль.Вывести(РезультатКонвертации);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -68,7 +70,7 @@
|
||||
Функция ПодготовитьАргументы()
|
||||
|
||||
ПодготовленныеАргументы = Новый Массив();
|
||||
ОбщегоНазначения.ДополнитьМассив(ПодготовленныеАргументы, ВходящиеАргументы);
|
||||
ОбщийНаборИнструментов.ДополнитьМассив(ПодготовленныеАргументы, ВходящиеАргументы);
|
||||
|
||||
ПодготовленныеАргументы[0] = "curl";
|
||||
|
||||
@@ -105,11 +107,15 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьГенераторПоАргументу(Аргумент)
|
||||
|
||||
Если Аргумент = "connector" Тогда
|
||||
Возврат Новый ГенераторПрограммногоКодаКоннекторHTTP();
|
||||
ИначеЕсли Аргумент = "1c" Тогда
|
||||
Возврат Новый ГенераторПрограммногоКода1С();
|
||||
Иначе
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ГенераторПоУмолчанию()
|
||||
|
||||
@@ -55,7 +55,8 @@
|
||||
|
||||
ПакетРесурсов = МенеджерРесурсовЛокализации.ПолучитьПакеты(
|
||||
"Общий, КлючевыеСловаЯзыка, ГенераторПрограммногоКода1С",
|
||||
КодЛокализации);
|
||||
КодЛокализации
|
||||
);
|
||||
|
||||
ОпределитьМетодУстановкиТелаЗапроса();
|
||||
ДобавитьЧтениеФайлов();
|
||||
@@ -162,12 +163,15 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПоддерживаемыеПротоколы() Экспорт
|
||||
|
||||
Протоколы = Новый Массив();
|
||||
Протоколы.Добавить(ПротоколыURL.HTTP);
|
||||
Протоколы.Добавить(ПротоколыURL.HTTPS);
|
||||
Протоколы.Добавить(ПротоколыURL.FTP);
|
||||
Протоколы.Добавить(ПротоколыURL.FTPS);
|
||||
|
||||
Возврат Протоколы;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -202,8 +206,9 @@
|
||||
Конструктор
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьСтроку(
|
||||
"%1 = СтрЗаменить(Новый УникальныйИдентификатор, ""-"", """");",
|
||||
ИмяПараметраРазделительДанныхMultipart);
|
||||
"%1 = СтрЗаменить(Новый УникальныйИдентификатор, ""-"", """");",
|
||||
ИмяПараметраРазделительДанныхMultipart
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -214,6 +219,7 @@
|
||||
ЛокальныйКонструктор = Новый КонструкторПрограммногоКода();
|
||||
|
||||
Для Каждого Заголовок Из ОписаниеЗапроса.Заголовки Цикл
|
||||
|
||||
ПараметрыФункции = Новый Массив();
|
||||
ПараметрыФункции.Добавить(Конструктор.ПараметрВСтроку(Заголовок.Ключ));
|
||||
ПараметрыФункции.Добавить(Конструктор.ПараметрВСтроку(Заголовок.Значение));
|
||||
@@ -221,19 +227,24 @@
|
||||
ЛокальныйКонструктор.ДобавитьСтроку(
|
||||
"%1.Вставить(%2);",
|
||||
ИмяПараметраЗаголовки,
|
||||
ЛокальныйКонструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
ЛокальныйКонструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ДобавитьЗаголовокAuthorization(ЛокальныйКонструктор);
|
||||
ДобавитьЗаголовокContentTypeMultipart(ЛокальныйКонструктор);
|
||||
|
||||
Если Не ЛокальныйКонструктор.Пустой() Тогда
|
||||
|
||||
Конструктор
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьСтроку("%1 = Новый Соответствие();", ИмяПараметраЗаголовки)
|
||||
.ДобавитьСтроку(ЛокальныйКонструктор.ПолучитьРезультат());
|
||||
.ДобавитьСтроку(ЛокальныйКонструктор.ПолучитьРезультат()
|
||||
);
|
||||
|
||||
ИнициализированыЗаголовки = Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -241,10 +252,13 @@
|
||||
Процедура ДобавитьЗаголовокAuthorization(Конструктор)
|
||||
|
||||
Если ОписаниеЗапроса.ТипАутентификации = ТипыАутентификации.Bearer Тогда
|
||||
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1.Вставить(""Authorization"", %2);",
|
||||
ИмяПараметраЗаголовки,
|
||||
Конструктор.ПараметрВСтроку("Bearer " + ОписаниеЗапроса.ТокенBearer));
|
||||
Конструктор.ПараметрВСтроку("Bearer " + ОписаниеЗапроса.ТокенBearer)
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -258,7 +272,8 @@
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1.Вставить(""Content-Type"", ""multipart/form-data; boundary="" + %2);",
|
||||
ИмяПараметраЗаголовки,
|
||||
ИмяПараметраРазделительДанныхMultipart);
|
||||
ИмяПараметраРазделительДанныхMultipart
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -283,7 +298,7 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Код = КоллекцияПрограммногоКода.ЧтениеТекстовыхФайлов(ФайлыДляЧтения, ПрочитанныеФайлы);
|
||||
Код = ЛокальныйГенераторКода.ЧтениеТекстовыхФайлов(ФайлыДляЧтения, ПрочитанныеФайлы);
|
||||
|
||||
Если Не ПустаяСтрока(Код) Тогда
|
||||
Конструктор
|
||||
@@ -300,12 +315,14 @@
|
||||
КонецЕсли;
|
||||
|
||||
ТелоЗапросаСтрока = "";
|
||||
ТелоЗапроса = КоллекцияПрограммногоКода.СборкаДанныхЗапросаВСтроку(
|
||||
ТелоЗапроса = ЛокальныйГенераторКода.ДанныеЗапроса(
|
||||
НазначенияПередаваемыхДанных.ТелоЗапроса,
|
||||
ОписаниеЗапроса.ОтправляемыеТекстовыеДанные,
|
||||
ПрочитанныеФайлы);
|
||||
ПрочитанныеФайлы
|
||||
);
|
||||
|
||||
Если ЗначениеЗаполнено(ТелоЗапроса) Тогда
|
||||
|
||||
Если СтрЧислоСтрок(ТелоЗапроса) = 1 Тогда
|
||||
ТелоЗапросаСтрока = ТелоЗапроса;
|
||||
Иначе
|
||||
@@ -313,6 +330,7 @@
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьСтроку("%1 = %2;", ИмяПараметраТелоЗапросаСтрока, ТелоЗапроса);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -321,12 +339,15 @@
|
||||
|
||||
ИспользуетсяЗащищенноеСоединение = Ложь;
|
||||
|
||||
Для Каждого ОписаниеРесурса Из ОписаниеЗапроса.АдресаРесурсов Цикл
|
||||
Для Каждого ОписаниеРесурса Из ОписаниеЗапроса.АдресаРесурсов Цикл
|
||||
|
||||
СтруктураURL = Новый ПарсерURL(ОписаниеРесурса.URL);
|
||||
ИспользуетсяЗащищенноеСоединение = ИспользуетсяЗащищенноеСоединение(СтруктураURL);
|
||||
|
||||
Если ИспользуетсяЗащищенноеСоединение Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Не ИспользуетсяЗащищенноеСоединение Тогда
|
||||
@@ -338,28 +359,42 @@
|
||||
// Сертификат клиента
|
||||
ИмяПараметраСертификатаКлиента = "";
|
||||
Если ЗначениеЗаполнено(ОписаниеЗапроса.ИмяФайлаСертификатаКлиента) Тогда
|
||||
|
||||
ИмяПараметраСертификатаКлиента = "СертификатКлиента";
|
||||
|
||||
ПараметрыФункции = Новый Массив;
|
||||
ПараметрыФункции.Добавить(Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ИмяФайлаСертификатаКлиента));
|
||||
ПараметрыФункции.Добавить(Конструктор.НеобязательныйПараметрВСтроку(ОписаниеЗапроса.ПарольСертификатаКлиента));
|
||||
|
||||
Конструктор.ДобавитьСтроку("%1 = Новый СертификатКлиентаФайл(%2);",
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1 = Новый СертификатКлиентаФайл(%2);",
|
||||
ИмяПараметраСертификатаКлиента,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
// Сертификаты УЦ
|
||||
ИмяПараметраСертификатыУдостоверяющихЦентров = "СертификатыУдостоверяющихЦентров";
|
||||
Если ОписаниеЗапроса.ИспользоватьСертификатыУЦИзХранилищаОС Тогда
|
||||
Конструктор.ДобавитьСтроку("%1 = Новый СертификатыУдостоверяющихЦентровОС();",
|
||||
ИмяПараметраСертификатыУдостоверяющихЦентров);
|
||||
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1 = Новый СертификатыУдостоверяющихЦентровОС();",
|
||||
ИмяПараметраСертификатыУдостоверяющихЦентров
|
||||
);
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(ОписаниеЗапроса.ИмяФайлаСертификатовУЦ) Тогда
|
||||
Конструктор.ДобавитьСтроку("%1 = Новый СертификатыУдостоверяющихЦентровФайл(%2);",
|
||||
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1 = Новый СертификатыУдостоверяющихЦентровФайл(%2);",
|
||||
ИмяПараметраСертификатыУдостоверяющихЦентров,
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ИмяФайлаСертификатовУЦ));
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ИмяФайлаСертификатовУЦ)
|
||||
);
|
||||
|
||||
Иначе
|
||||
|
||||
ИмяПараметраСертификатыУдостоверяющихЦентров = "";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
// Защищенное соединение
|
||||
@@ -370,7 +405,8 @@
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1 = Новый ЗащищенноеСоединениеOpenSSL(%2);",
|
||||
ИмяПараметраЗащищенноеСоединение,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -380,15 +416,15 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбщегоНазначения.ПротоколПроксиПоддерживатся(ОписаниеЗапроса.ПроксиПротокол) Тогда
|
||||
Если Не ОбщийНаборИнструментов.ПротоколПроксиПоддерживатся(ОписаниеЗапроса.ПроксиПротокол) Тогда
|
||||
ТекстОшибки = СтрШаблон("Прокси протокол %1 не поддерживается", ОписаниеЗапроса.ПроксиПротокол);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Конструктор
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьСтроку(КоллекцияПрограммногоКода.СозданиеИнтернетПрокси(ОписаниеЗапроса, ИмяПараметраПрокси));
|
||||
.ДобавитьСтроку(ЛокальныйГенераторКода.ИнтернетПрокси(ОписаниеЗапроса, ИмяПараметраПрокси));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -411,10 +447,11 @@
|
||||
Конструктор.ДобавитьКомментарий(
|
||||
"{t(Текст.Запрос)} %1. %2",
|
||||
НомерЗапроса,
|
||||
Лев(ОписаниеРесурса.URL, МаксимальнаяДлинаАдресаВКомментарии));
|
||||
Лев(ОписаниеРесурса.URL, МаксимальнаяДлинаАдресаВКомментарии)
|
||||
);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ЭтоHTTP(СтруктураURL.Схема) Тогда
|
||||
Если ОбщийНаборИнструментов.ЭтоHTTP(СтруктураURL.Схема) Тогда
|
||||
|
||||
ДобавитьHTTPСоединение(СтруктураURL);
|
||||
ДобавитьПоследовательнуюОтправкуФайлов(ОписаниеРесурса);
|
||||
@@ -426,7 +463,7 @@
|
||||
ДобавитьЧтениеОтветаJSON();
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли ОбщегоНазначения.ЭтоFTP(СтруктураURL.Схема) Тогда
|
||||
ИначеЕсли ОбщийНаборИнструментов.ЭтоFTP(СтруктураURL.Схема) Тогда
|
||||
|
||||
ДобавитьFTPСоединение(СтруктураURL);
|
||||
ДобавитьВызовFTPМетода(ОписаниеРесурса, СтруктураURL);
|
||||
@@ -434,11 +471,11 @@
|
||||
Иначе
|
||||
|
||||
ТекстОшибки = СтрШаблон("Протокол ""%1"" не поддерживается", СтруктураURL.Схема);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Если ОбщийНаборИнструментов.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Конструктор.Очистить();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -455,20 +492,7 @@
|
||||
|
||||
ДлинаИмениФайлаВКомментарии = 100;
|
||||
|
||||
ВсеФайлы = Новый Массив();
|
||||
ОбщегоНазначения.ДополнитьМассив(ВсеФайлы, ОписаниеЗапроса.Файлы);
|
||||
ОбщегоНазначения.ДополнитьМассив(ВсеФайлы, ОписаниеРесурса.Файлы);
|
||||
|
||||
ПередаваемыеФайлы = Новый Массив();
|
||||
Для Каждого ПередаваемыйФайл Из ВсеФайлы Цикл
|
||||
|
||||
Если ПередаваемыйФайл.ОтправлятьОтдельно
|
||||
И Не ПередаваемыйФайл.ПрочитатьСодержимое
|
||||
И ПередаваемыйФайл.Назначение = НазначенияПередаваемыхДанных.ТелоЗапроса Тогда
|
||||
ПередаваемыеФайлы.Добавить(ПередаваемыйФайл);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
ПередаваемыеФайлы = ОписаниеЗапроса.ФайлыОтправляемыеОтдельно(ОписаниеРесурса);
|
||||
|
||||
КоличествоФайлов = ПередаваемыеФайлы.Количество();
|
||||
НомерФайла = 0;
|
||||
@@ -482,12 +506,13 @@
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьКомментарий("{t(Текст.ПередачаФайла)} %1. %2",
|
||||
НомерФайла,
|
||||
ИмяФайла);
|
||||
ИмяФайла
|
||||
);
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураURL = Новый ПарсерURL(ОписаниеРесурса.URL);
|
||||
Если ПередаваемыйФайл.ДобавлятьИмяФайлаКURL Тогда
|
||||
СтруктураURL.Путь = ОбщегоНазначения.ДополнитьИменемФайлаПутьURL(ПередаваемыйФайл.ПолноеИмяФайла, СтруктураURL.Путь);
|
||||
СтруктураURL.Путь = ОбщийНаборИнструментов.ДополнитьИменемФайлаПутьURL(ПередаваемыйФайл.ПолноеИмяФайла, СтруктураURL.Путь);
|
||||
КонецЕсли;
|
||||
|
||||
ДобавитьHTTPЗапрос(СтруктураURL);
|
||||
@@ -495,7 +520,8 @@
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1.УстановитьИмяФайлаТела(%2);",
|
||||
ИмяПараметраHTTPЗапрос,
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла));
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла)
|
||||
);
|
||||
|
||||
ДобавитьВызовHTTPМетода(ОписаниеРесурса);
|
||||
|
||||
@@ -527,7 +553,8 @@
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1 = Новый HTTPСоединение(%2);",
|
||||
ИмяПараметраСоединение,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -535,19 +562,28 @@
|
||||
|
||||
ПараметрыФункции = Новый Массив;
|
||||
|
||||
АдресРесурсаКод = КоллекцияПрограммногоКода.СборкаАдресаРесурса(СтруктураURL,
|
||||
АдресРесурсаКод = ЛокальныйГенераторКода.АдресРесурса(
|
||||
СтруктураURL,
|
||||
ОписаниеЗапроса.ОтправляемыеТекстовыеДанные,
|
||||
ПрочитанныеФайлы);
|
||||
ПрочитанныеФайлы
|
||||
);
|
||||
|
||||
Если ПустаяСтрока(АдресРесурсаКод) Тогда
|
||||
|
||||
ПараметрыФункции.Добавить(Конструктор.ПараметрВСтроку("/"));
|
||||
|
||||
ИначеЕсли СтрЧислоСтрок(АдресРесурсаКод) > 1 Тогда
|
||||
|
||||
Конструктор
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьСтроку("АдресРесурса = %1;", АдресРесурсаКод);
|
||||
|
||||
ПараметрыФункции.Добавить("АдресРесурса");
|
||||
|
||||
Иначе
|
||||
|
||||
ПараметрыФункции.Добавить(АдресРесурсаКод);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ИнициализированыЗаголовки Тогда
|
||||
@@ -557,7 +593,8 @@
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1 = Новый HTTPЗапрос(%2);",
|
||||
ИмяПараметраHTTPЗапрос,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -572,10 +609,12 @@
|
||||
|
||||
Конструктор
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьСтроку("%1 = %2.ВызватьHTTPМетод(%3);",
|
||||
.ДобавитьСтроку(
|
||||
"%1 = %2.ВызватьHTTPМетод(%3);",
|
||||
ИмяПараметраHTTPОтвет,
|
||||
ИмяПараметраСоединение,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
ВызванМетодПоТекущемуURL = Истина;
|
||||
|
||||
@@ -588,9 +627,10 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Каталог = ОбщегоНазначения.КаталогФайла(ОписаниеРесурса.ИмяВыходногоФайла);
|
||||
Каталог = ОбщийНаборИнструментов.КаталогФайла(ОписаниеРесурса.ИмяВыходногоФайла);
|
||||
|
||||
Если Не ПустаяСтрока(Каталог) Тогда
|
||||
|
||||
КодСозданияКаталога = "// {t(Создание каталога по необходимости)}
|
||||
|Каталог = Новый Файл(""%1"");
|
||||
|Если Не Каталог.Существует() Тогда
|
||||
@@ -600,6 +640,7 @@
|
||||
Конструктор
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьСтроку(КодСозданияКаталога, Каталог);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -621,7 +662,8 @@
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1.УстановитьТелоИзСтроки(%2);",
|
||||
ИмяПараметраHTTPЗапрос,
|
||||
?(ЗначениеЗаполнено(ТелоЗапросаСтрока), ТелоЗапросаСтрока, ИмяПараметраТелоЗапросаСтрока));
|
||||
?(ЗначениеЗаполнено(ТелоЗапросаСтрока), ТелоЗапросаСтрока, ИмяПараметраТелоЗапросаСтрока)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -632,8 +674,8 @@
|
||||
КонецЕсли;
|
||||
|
||||
Файлы = Новый Массив();
|
||||
ОбщегоНазначения.ДополнитьМассив(Файлы, ОписаниеЗапроса.Файлы);
|
||||
ОбщегоНазначения.ДополнитьМассив(Файлы, ОписаниеРесурса.Файлы);
|
||||
ОбщийНаборИнструментов.ДополнитьМассив(Файлы, ОписаниеЗапроса.Файлы);
|
||||
ОбщийНаборИнструментов.ДополнитьМассив(Файлы, ОписаниеРесурса.Файлы);
|
||||
|
||||
ЭтоПервыйФайл = Истина;
|
||||
Для Каждого ПередаваемыйФайл Из Файлы Цикл
|
||||
@@ -648,7 +690,8 @@
|
||||
"%1%2.УстановитьИмяФайлаТела(%3);",
|
||||
?(ЭтоПервыйФайл, "", "// "),
|
||||
ИмяПараметраHTTPЗапрос,
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла));
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла)
|
||||
);
|
||||
|
||||
ЭтоПервыйФайл = Ложь;
|
||||
|
||||
@@ -678,7 +721,10 @@
|
||||
.ДобавитьСтроку("РазделительСтрок = Символы.ВК + Символы.ПС;")
|
||||
.ДобавитьСтроку("ЗаписьДанных = Новый ЗаписьДанных(Поток, , , """", """");")
|
||||
.ДобавитьСтроку(КонструкторЗаписиДанных.ПолучитьРезультат())
|
||||
.ДобавитьСтроку("ЗаписьДанных.ЗаписатьСтроку(""--"" + %1 + ""--"" + РазделительСтрок);", ИмяПараметраРазделительДанныхMultipart)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""--"" + %1 + ""--"" + РазделительСтрок);",
|
||||
ИмяПараметраРазделительДанныхMultipart
|
||||
)
|
||||
.ДобавитьСтроку("ЗаписьДанных.Закрыть();");
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -693,38 +739,47 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ContentDisposition = ОбщегоНазначения.НайтиВСоответствииПоКлючуБезУчетаРегистра(
|
||||
ContentDisposition = ОбщийНаборИнструментов.НайтиВСоответствииПоКлючуБезУчетаРегистра(
|
||||
ПередаваемыйТекст.Заголовки,
|
||||
"Content-Disposition");
|
||||
ContentDisposition = ?(ContentDisposition = Неопределено, "form-data", ContentDisposition);
|
||||
|
||||
КонструкторЗаписиДанных
|
||||
.ДобавитьКомментарий(
|
||||
"{t(Текст.Начало)} %1", ПередаваемыйТекст.ИмяПоля)
|
||||
"{t(Текст.Начало)} %1",
|
||||
ПередаваемыйТекст.ИмяПоля
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""--"" + %1 + РазделительСтрок);", ИмяПараметраРазделитель)
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""--"" + %1 + РазделительСтрок);",
|
||||
ИмяПараметраРазделитель
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""Content-Disposition: %1; name=""%2"""" + РазделительСтрок);",
|
||||
ContentDisposition,
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйТекст.ИмяПоля));
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйТекст.ИмяПоля)
|
||||
);
|
||||
|
||||
Если ЗначениеЗаполнено(ПередаваемыйТекст.ТипMIME) Тогда
|
||||
КонструкторЗаписиДанных.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""Content-Type: %1"" + РазделительСтрок);",
|
||||
ПередаваемыйТекст.ТипMIME);
|
||||
ПередаваемыйТекст.ТипMIME
|
||||
);
|
||||
КонецЕсли;
|
||||
|
||||
ДобавитьЗаголовкиВЗаписьДанныхMultipart(КонструкторЗаписиДанных, ПередаваемыйТекст.Заголовки);
|
||||
|
||||
КонструкторЗаписиДанных
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);")
|
||||
"ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);"
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(%1 + РазделительСтрок);",
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйТекст.Значение))
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйТекст.Значение)
|
||||
)
|
||||
.ДобавитьКомментарий(
|
||||
"{t(Текст.Конец)} %1",
|
||||
ПередаваемыйТекст.ИмяПоля);
|
||||
ПередаваемыйТекст.ИмяПоля
|
||||
);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -742,36 +797,46 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ContentDisposition = ОбщегоНазначения.НайтиВСоответствииПоКлючуБезУчетаРегистра(
|
||||
ContentDisposition = ОбщийНаборИнструментов.НайтиВСоответствииПоКлючуБезУчетаРегистра(
|
||||
ПередаваемыйФайл.Заголовки,
|
||||
"Content-Disposition");
|
||||
ContentDisposition = ?(ContentDisposition = Неопределено, "form-data", ContentDisposition);
|
||||
|
||||
КонструкторЗаписиДанных
|
||||
.ДобавитьКомментарий(
|
||||
"{t(Текст.Начало)} %1", ПередаваемыйФайл.ИмяПоля)
|
||||
"{t(Текст.Начало)} %1", ПередаваемыйФайл.ИмяПоля
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""--"" + %1 + РазделительСтрок);", ИмяПараметраРазделитель)
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""--"" + %1 + РазделительСтрок);",
|
||||
ИмяПараметраРазделитель
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""Content-Disposition: %1; name=""""%2"""""" + РазделительСтрок);",
|
||||
ContentDisposition,
|
||||
ПередаваемыйФайл.ИмяПоля);
|
||||
ПередаваемыйФайл.ИмяПоля
|
||||
);
|
||||
|
||||
Если ЗначениеЗаполнено(ПередаваемыйФайл.ТипMIME) Тогда
|
||||
КонструкторЗаписиДанных.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""Content-Type: %1"" + РазделительСтрок);",
|
||||
ПередаваемыйФайл.ТипMIME)
|
||||
ПередаваемыйФайл.ТипMIME
|
||||
);
|
||||
КонецЕсли;
|
||||
|
||||
ДобавитьЗаголовкиВЗаписьДанныхMultipart(КонструкторЗаписиДанных, ПередаваемыйФайл.Заголовки);
|
||||
|
||||
КонструкторЗаписиДанных
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);")
|
||||
"ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);"
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(%1 + РазделительСтрок);", ПрочитанныйФайл.ИмяПеременной)
|
||||
"ЗаписьДанных.ЗаписатьСтроку(%1 + РазделительСтрок);",
|
||||
ПрочитанныйФайл.ИмяПеременной
|
||||
)
|
||||
.ДобавитьКомментарий(
|
||||
"{t(Текст.Конец)} %1", ПередаваемыйФайл.ИмяПоля);
|
||||
"{t(Текст.Конец)} %1",
|
||||
ПередаваемыйФайл.ИмяПоля
|
||||
);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -788,37 +853,48 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ContentDisposition = ОбщегоНазначения.НайтиВСоответствииПоКлючуБезУчетаРегистра(
|
||||
ContentDisposition = ОбщийНаборИнструментов.НайтиВСоответствииПоКлючуБезУчетаРегистра(
|
||||
ПередаваемыйФайл.Заголовки,
|
||||
"Content-Disposition");
|
||||
ContentDisposition = ?(ContentDisposition = Неопределено, "form-data", ContentDisposition);
|
||||
|
||||
КонструкторЗаписиДанных
|
||||
.ДобавитьКомментарий(
|
||||
"{t(Текст.Начало)} %1", ПередаваемыйФайл.ИмяПоля)
|
||||
"{t(Текст.Начало)} %1",
|
||||
ПередаваемыйФайл.ИмяПоля
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""--"" + %1 + РазделительСтрок);", ИмяПараметраРазделитель)
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""--"" + %1 + РазделительСтрок);",
|
||||
ИмяПараметраРазделитель
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""Content-Disposition: %1; name=""""%2""""; filename=""""%3"""""" + РазделительСтрок);",
|
||||
ContentDisposition,
|
||||
ПередаваемыйФайл.ИмяПоля,
|
||||
ПередаваемыйФайл.ИмяФайла)
|
||||
ПередаваемыйФайл.ИмяФайла
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""Content-Type: %1"" + РазделительСтрок);",
|
||||
?(ЗначениеЗаполнено(ПередаваемыйФайл.ТипMIME), ПередаваемыйФайл.ТипMIME, "application/octet-stream"));
|
||||
?(ЗначениеЗаполнено(ПередаваемыйФайл.ТипMIME), ПередаваемыйФайл.ТипMIME, "application/octet-stream")
|
||||
);
|
||||
|
||||
ДобавитьЗаголовкиВЗаписьДанныхMultipart(КонструкторЗаписиДанных, ПередаваемыйФайл.Заголовки);
|
||||
|
||||
КонструкторЗаписиДанных
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);")
|
||||
"ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);"
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.Записать(Новый ДвоичныеДанные(""%1""));",
|
||||
ПередаваемыйФайл.ПолноеИмяФайла)
|
||||
ПередаваемыйФайл.ПолноеИмяФайла
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);")
|
||||
"ЗаписьДанных.ЗаписатьСтроку(РазделительСтрок);"
|
||||
)
|
||||
.ДобавитьКомментарий(
|
||||
"{t(Текст.Конец)} %1", ПередаваемыйФайл.ИмяПоля);
|
||||
"{t(Текст.Конец)} %1",
|
||||
ПередаваемыйФайл.ИмяПоля
|
||||
);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -827,6 +903,7 @@
|
||||
Процедура ДобавитьЗаголовкиВЗаписьДанныхMultipart(КонструкторЗаписиДанных, Заголовки)
|
||||
|
||||
Для Каждого Заголовок Из Заголовки Цикл
|
||||
|
||||
Если НРег(Заголовок.Ключ) = "content-disposition" Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
@@ -834,7 +911,9 @@
|
||||
КонструкторЗаписиДанных.ДобавитьСтроку(
|
||||
"ЗаписьДанных.ЗаписатьСтроку(""%1: %2"" + РазделительСтрок);",
|
||||
Заголовок.Ключ,
|
||||
Заголовок.Значение);
|
||||
Заголовок.Значение
|
||||
);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -860,7 +939,7 @@
|
||||
|
||||
Если ЗначениеЗаполнено(ОписаниеЗапроса.FTPАдресОбратногоСоединения)
|
||||
И Не ОписаниеЗапроса.FTPАдресОбратногоСоединения = "-" Тогда
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяОшибка("Адрес из опции -P, --ftp-port было проигнорировано"));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяОшибка("Адрес из опции -P, --ftp-port было проигнорировано"));
|
||||
КонецЕсли;
|
||||
|
||||
Таймаут = 0;
|
||||
@@ -883,7 +962,8 @@
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1 = Новый FTPСоединение(%2);",
|
||||
ИмяПараметраСоединение,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -906,7 +986,7 @@
|
||||
ТекстОшибки = "Не определен FTP метод";
|
||||
КонецЕсли;
|
||||
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -915,7 +995,8 @@
|
||||
|
||||
ИмяВыходногоФайла = ?(ЗначениеЗаполнено(ОписаниеРесурса.ИмяВыходногоФайла),
|
||||
ОписаниеРесурса.ИмяВыходногоФайла,
|
||||
"path/to/file");
|
||||
"path/to/file"
|
||||
);
|
||||
|
||||
ПараметрыФункции = Новый Массив;
|
||||
ПараметрыФункции.Добавить(Конструктор.ПараметрВСтроку(СтруктураURL.Путь));
|
||||
@@ -924,19 +1005,21 @@
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1.Получить(%2);",
|
||||
ИмяПараметраСоединение,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВывестиВызовОтправкиФайлаFTP(ОписаниеРесурса, СтруктураURL)
|
||||
|
||||
Для Каждого ПередаваемыйФайл Из ОписаниеРесурса.Файлы Цикл
|
||||
|
||||
Если Не ПередаваемыйФайл.ОтправлятьОтдельно Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ПередаваемыйФайл.ДобавлятьИмяФайлаКURL Тогда
|
||||
АдресРесурса = ОбщегоНазначения.ДополнитьИменемФайлаПутьURL(ПередаваемыйФайл.ПолноеИмяФайла, СтруктураURL.Путь);
|
||||
АдресРесурса = ОбщийНаборИнструментов.ДополнитьИменемФайлаПутьURL(ПередаваемыйФайл.ПолноеИмяФайла, СтруктураURL.Путь);
|
||||
Иначе
|
||||
АдресРесурса = СтруктураURL.Путь;
|
||||
КонецЕсли;
|
||||
@@ -948,7 +1031,9 @@
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1.Записать(%2);",
|
||||
ИмяПараметраСоединение,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -962,7 +1047,8 @@
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"Файлы = %1.НайтиФайлы(%2);",
|
||||
ИмяПараметраСоединение,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -974,14 +1060,17 @@
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"Файл = %1.НайтиФайлы(%2)[0];",
|
||||
ИмяПараметраСоединение,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ИспользуетсяЗащищенноеСоединение(СтруктураURL)
|
||||
|
||||
Возврат СтруктураURL.Схема = ПротоколыURL.HTTPS
|
||||
Или СтруктураURL.Схема = ПротоколыURL.FTPS
|
||||
Или ЗначениеЗаполнено(ОписаниеЗапроса.ИмяФайлаСертификатаКлиента);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПередаваемыйФайлПрочитан(ПередаваемыйФайл)
|
||||
|
||||
@@ -52,7 +52,8 @@
|
||||
|
||||
ПакетРесурсов = МенеджерРесурсовЛокализации.ПолучитьПакеты(
|
||||
"Общий, КлючевыеСловаЯзыка, ГенераторПрограммногоКодаКоннекторHTTP",
|
||||
КодЛокализации);
|
||||
КодЛокализации
|
||||
);
|
||||
|
||||
ДобавитьЧтениеФайлов();
|
||||
ДобавитьДанныеЗапроса();
|
||||
@@ -154,10 +155,13 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПоддерживаемыеПротоколы() Экспорт
|
||||
|
||||
Протоколы = Новый Массив();
|
||||
Протоколы.Добавить(ПротоколыURL.HTTP);
|
||||
Протоколы.Добавить(ПротоколыURL.HTTPS);
|
||||
|
||||
Возврат Протоколы;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -230,7 +234,7 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Код = КоллекцияПрограммногоКода.ЧтениеТекстовыхФайлов(ФайлыДляЧтения, ПрочитанныеФайлы);
|
||||
Код = ЛокальныйГенераторКода.ЧтениеТекстовыхФайлов(ФайлыДляЧтения, ПрочитанныеФайлы);
|
||||
|
||||
Если Не ПустаяСтрока(Код) Тогда
|
||||
Конструктор
|
||||
@@ -258,7 +262,7 @@
|
||||
ИначеЕсли ОписаниеЗапроса.ОтправлятьКакMultipartFormData Тогда
|
||||
|
||||
ТекстОшибки = "Данные формы невозможно передать в структурированный объект для отправки в КоннекторHTTP";
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяОшибка(ТекстОшибки));
|
||||
|
||||
Иначе
|
||||
|
||||
@@ -321,9 +325,11 @@
|
||||
ПараметрыМетода.Добавить(Конструктор.ПараметрВСтроку(Ключ));
|
||||
ПараметрыМетода.Добавить(Конструктор.НеобязательныйПараметрВСтроку(Значение));
|
||||
|
||||
КонструкторДанных.ДобавитьСтроку("%1.Вставить(%2);",
|
||||
КонструкторДанных.ДобавитьСтроку(
|
||||
"%1.Вставить(%2);",
|
||||
ИмяПараметра,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыМетода));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыМетода)
|
||||
);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@@ -370,15 +376,21 @@
|
||||
|
||||
МассивПеременныхФайлов = Данные.Значение;
|
||||
|
||||
КонструкторДанных.ДобавитьСтроку("%1.Вставить(%2, Новый Массив());",
|
||||
КонструкторДанных.ДобавитьСтроку(
|
||||
"%1.Вставить(%2, Новый Массив());",
|
||||
ИмяПараметра,
|
||||
КонструкторДанных.ПараметрВСтроку(ИмяПоля));
|
||||
КонструкторДанных.ПараметрВСтроку(ИмяПоля)
|
||||
);
|
||||
|
||||
Для Каждого ИмяПеременнойФайла Из МассивПеременныхФайлов Цикл
|
||||
КонструкторДанных.ДобавитьСтроку("%1[%2].Добавить(%3));",
|
||||
|
||||
КонструкторДанных.ДобавитьСтроку(
|
||||
"%1[%2].Добавить(%3));",
|
||||
ИмяПараметра,
|
||||
КонструкторДанных.ПараметрВСтроку(ИмяПоля),
|
||||
КонструкторДанных.ПараметрВСтроку(ИмяПеременнойФайла));
|
||||
КонструкторДанных.ПараметрВСтроку(ИмяПеременнойФайла)
|
||||
);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Иначе
|
||||
@@ -389,9 +401,11 @@
|
||||
ПараметрыМетода.Добавить(КонструкторДанных.ПараметрВСтроку(ИмяПоля));
|
||||
ПараметрыМетода.Добавить(ИмяПеременнойФайла);
|
||||
|
||||
КонструкторДанных.ДобавитьСтроку("%1.Вставить(%2);",
|
||||
КонструкторДанных.ДобавитьСтроку(
|
||||
"%1.Вставить(%2);",
|
||||
ИмяПараметра,
|
||||
КонструкторДанных.ПараметрыФункцииВСтроку(ПараметрыМетода));
|
||||
КонструкторДанных.ПараметрыФункцииВСтроку(ПараметрыМетода)
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -401,10 +415,11 @@
|
||||
|
||||
Процедура ДобавитьТекстовыеДанныеЗапросаЧерезСтроку(НазначениеДанных, ИмяПараметра, РезультатСборка)
|
||||
|
||||
Сборка = КоллекцияПрограммногоКода.СборкаДанныхЗапросаВСтроку(
|
||||
Сборка = ЛокальныйГенераторКода.ДанныеЗапроса(
|
||||
НазначениеДанных,
|
||||
ОписаниеЗапроса.ОтправляемыеТекстовыеДанные,
|
||||
ПрочитанныеФайлы);
|
||||
ПрочитанныеФайлы
|
||||
);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Сборка) Тогда
|
||||
Возврат;
|
||||
@@ -417,7 +432,7 @@
|
||||
ТекстJson = СтрЗаменить(ТекстJson, Символы.ПС + "|", Символы.ПС);
|
||||
ТекстJson = СтрЗаменить(ТекстJson, """""", """");
|
||||
|
||||
Результат = ОбщегоНазначения.ПопытатьсяПрочитатьJSON(ТекстJson);
|
||||
Результат = ОбщийНаборИнструментов.ПопытатьсяПрочитатьJSON(ТекстJson);
|
||||
Если Не Результат = Неопределено Тогда
|
||||
|
||||
Конструктор
|
||||
@@ -426,6 +441,7 @@
|
||||
|
||||
РезультатСборка = ИмяПараметра;
|
||||
Состояние.ТелоЗапросаВJSON = Истина;
|
||||
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -469,7 +485,8 @@
|
||||
.ДобавитьСтроку("Файл = Новый Структура();")
|
||||
.ДобавитьСтроку(
|
||||
"Файл.Вставить(""{t(Параметр.Файл.Имя)}"", %1);",
|
||||
КонструкторФайлов.ПараметрВСтроку(ПередаваемыйФайл.ИмяПоля));
|
||||
КонструкторФайлов.ПараметрВСтроку(ПередаваемыйФайл.ИмяПоля)
|
||||
);
|
||||
|
||||
Если ЗначениеЗаполнено(ПередаваемыйФайл.ИмяФайла) Тогда
|
||||
КонструкторФайлов.ДобавитьСтроку("Файл.Вставить(""{t(Параметр.Файл.ИмяФайла)}"", %1);",
|
||||
@@ -478,12 +495,14 @@
|
||||
|
||||
КонструкторФайлов.ДобавитьСтроку(
|
||||
"Файл.Вставить(""{t(Параметр.Файл.Данные)}"", Новый ДвоичныеДанные(%1));",
|
||||
КонструкторФайлов.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла));
|
||||
КонструкторФайлов.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла)
|
||||
);
|
||||
|
||||
Если ЗначениеЗаполнено(ПередаваемыйФайл.ТипMIME) Тогда
|
||||
КонструкторФайлов.ДобавитьСтроку(
|
||||
"Файл.Вставить(""{t(Параметр.Файл.Тип)}"", %1);",
|
||||
КонструкторФайлов.ПараметрВСтроку(ПередаваемыйФайл.ТипMIME));
|
||||
КонструкторФайлов.ПараметрВСтроку(ПередаваемыйФайл.ТипMIME)
|
||||
);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ПередаваемыйФайл.Заголовки) Тогда
|
||||
@@ -496,7 +515,8 @@
|
||||
|
||||
КонструкторФайлов.ДобавитьСтроку(
|
||||
"Файл.{t(Параметр.Заголовки)}.{t(Структура.Вставить)}(%1);",
|
||||
КонструкторФайлов.ПараметрыФункцииВСтроку(ПараметрыМетода));
|
||||
КонструкторФайлов.ПараметрыФункцииВСтроку(ПараметрыМетода)
|
||||
);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -505,12 +525,14 @@
|
||||
КонецЦикла;
|
||||
|
||||
Если Не КонструкторФайлов.Пустой() Тогда
|
||||
|
||||
Состояние.ЕстьФайлыMultipart = Истина;
|
||||
|
||||
Конструктор
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьСтроку("%1 = Новый Массив();", ИмяПараметраФайлы)
|
||||
.ДобавитьСтроку(КонструкторФайлов.ПолучитьРезультат());
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -519,20 +541,7 @@
|
||||
|
||||
ДлинаИмениФайлаВКомментарии = 100;
|
||||
|
||||
ВсеФайлы = Новый Массив();
|
||||
ОбщегоНазначения.ДополнитьМассив(ВсеФайлы, ОписаниеЗапроса.Файлы);
|
||||
ОбщегоНазначения.ДополнитьМассив(ВсеФайлы, ОписаниеРесурса.Файлы);
|
||||
|
||||
ПередаваемыеФайлы = Новый Массив();
|
||||
Для Каждого ПередаваемыйФайл Из ВсеФайлы Цикл
|
||||
|
||||
Если ПередаваемыйФайл.ОтправлятьОтдельно
|
||||
И Не ПередаваемыйФайл.ПрочитатьСодержимое
|
||||
И ПередаваемыйФайл.Назначение = НазначенияПередаваемыхДанных.ТелоЗапроса Тогда
|
||||
ПередаваемыеФайлы.Добавить(ПередаваемыйФайл);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
ПередаваемыеФайлы = ОписаниеЗапроса.ФайлыОтправляемыеОтдельно(ОписаниеРесурса);
|
||||
|
||||
КоличествоФайлов = ПередаваемыеФайлы.Количество();
|
||||
НомерФайла = 0;
|
||||
@@ -546,18 +555,20 @@
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьКомментарий("{t(Текст.ПередачаФайла)} %1. %2",
|
||||
НомерФайла,
|
||||
ИмяФайла);
|
||||
ИмяФайла
|
||||
);
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураURL = Новый ПарсерURL(ОписаниеРесурса.URL);
|
||||
Если ПередаваемыйФайл.ДобавлятьИмяФайлаКURL Тогда
|
||||
СтруктураURL.Путь = ОбщегоНазначения.ДополнитьИменемФайлаПутьURL(ПередаваемыйФайл.ПолноеИмяФайла, СтруктураURL.Путь);
|
||||
СтруктураURL.Путь = ОбщийНаборИнструментов.ДополнитьИменемФайлаПутьURL(ПередаваемыйФайл.ПолноеИмяФайла, СтруктураURL.Путь);
|
||||
КонецЕсли;
|
||||
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"%1 = Новый ДвоичныеДанные(%2);",
|
||||
ИмяПараметраДанныеЗапроса,
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла));
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла)
|
||||
);
|
||||
|
||||
ДобавитьВызовМетода(ОписаниеРесурса, СтруктураURL, ИмяПараметраДанныеЗапроса);
|
||||
|
||||
@@ -591,7 +602,8 @@
|
||||
"%1 = Новый Структура(""{t(Параметр.Пользователь)}, {t(Параметр.Пароль)}"", %2, %3);",
|
||||
ИмяПараметраАутентификация,
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ИмяПользователя),
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ПарольПользователя));
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ПарольПользователя)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -611,7 +623,8 @@
|
||||
"%1 = Новый Структура(""{t(Параметр.Аутентификация.Тип)}, {t(Параметр.Пользователь)}, {t(Параметр.Пароль)}"", ""Digest"", %2, %3);",
|
||||
ИмяПараметраАутентификация,
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ИмяПользователя),
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ПарольПользователя));
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ПарольПользователя)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -626,7 +639,8 @@
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьСтроку(
|
||||
"%1 = Новый Структура(""{t(Параметр.ИспользоватьАутентификациюОС)}"", Истина);",
|
||||
ИмяПараметраАутентификация);
|
||||
ИмяПараметраАутентификация
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -640,26 +654,32 @@
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьСтроку(
|
||||
"%1 = Новый Структура();",
|
||||
ИмяПараметраАутентификация)
|
||||
ИмяПараметраАутентификация
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.Аутентификация.Тип)}"", ""AWS4-HMAC-SHA256"");",
|
||||
ИмяПараметраАутентификация)
|
||||
ИмяПараметраАутентификация
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.AWS4.ИдентификаторКлючаДоступа)}"", %2);",
|
||||
ИмяПараметраАутентификация,
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.AWS4.КлючДоступа))
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.AWS4.КлючДоступа)
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.AWS4.СекретныйКлюч)}"", %2);",
|
||||
ИмяПараметраАутентификация,
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.AWS4.СекретныйКлюч))
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.AWS4.СекретныйКлюч)
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.AWS4.Сервис)}"", %2);",
|
||||
ИмяПараметраАутентификация,
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.AWS4.Сервис))
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.AWS4.Сервис)
|
||||
)
|
||||
.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.AWS4.Регион)}"", %2);",
|
||||
ИмяПараметраАутентификация,
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.AWS4.Регион));
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.AWS4.Регион)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -674,7 +694,8 @@
|
||||
.ДобавитьСтроку(
|
||||
"%1 = Новый Структура(""{t(Параметр.Bearer.Токен)}, {t(Параметр.Аутентификация.Тип)}"", %2, ""Bearer"");",
|
||||
ИмяПараметраАутентификация,
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ТокенBearer));
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ТокенBearer)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -684,15 +705,15 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ОбщегоНазначения.ПротоколПроксиПоддерживатся(ОписаниеЗапроса.ПроксиПротокол) Тогда
|
||||
Если Не ОбщийНаборИнструментов.ПротоколПроксиПоддерживатся(ОписаниеЗапроса.ПроксиПротокол) Тогда
|
||||
ТекстОшибки = СтрШаблон("Прокси протокол %1 не поддерживается", ОписаниеЗапроса.ПроксиПротокол);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Конструктор
|
||||
.ДобавитьПустуюСтроку()
|
||||
.ДобавитьСтроку(КоллекцияПрограммногоКода.СозданиеИнтернетПрокси(ОписаниеЗапроса, ИмяПараметраПрокси));
|
||||
.ДобавитьСтроку(ЛокальныйГенераторКода.ИнтернетПрокси(ОписаниеЗапроса, ИмяПараметраПрокси));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -709,17 +730,19 @@
|
||||
СтруктураURL = Новый ПарсерURL(ОписаниеРесурса.URL);
|
||||
Состояние.ВызванМетодПоТекущемуURL = Ложь;
|
||||
|
||||
Если Не ОбщегоНазначения.ЭтоHTTP(СтруктураURL.Схема) Тогда
|
||||
Если Не ОбщийНаборИнструментов.ЭтоHTTP(СтруктураURL.Схема) Тогда
|
||||
ТекстОшибки = СтрШаблон("Протокол ""%1"" не поддерживается", СтруктураURL.Схема);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
КонецЕсли;
|
||||
|
||||
Конструктор.ДобавитьПустуюСтроку();
|
||||
|
||||
Если КоличествоURL > 1 Тогда
|
||||
Конструктор.ДобавитьКомментарий("{t(Текст.Запрос)} %1. %2",
|
||||
Конструктор.ДобавитьКомментарий(
|
||||
"{t(Текст.Запрос)} %1. %2",
|
||||
НомерЗапроса,
|
||||
Лев(ОписаниеРесурса.URL, МаксимальнаяДлинаАдресаВКомментарии));
|
||||
Лев(ОписаниеРесурса.URL, МаксимальнаяДлинаАдресаВКомментарии)
|
||||
);
|
||||
КонецЕсли;
|
||||
|
||||
ДобавитьПоследовательнуюОтправкуДвоичныхДанныхРесурса(ОписаниеРесурса);
|
||||
@@ -728,7 +751,7 @@
|
||||
ДобавитьВызовМетода(ОписаниеРесурса);
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбщегоНазначения.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Если ОбщийНаборИнструментов.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Конструктор.Очистить();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
@@ -786,9 +809,11 @@
|
||||
ПараметрыФункции.Добавить(ИмяПараметраДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
|
||||
Конструктор.ДобавитьСтроку("{t(Переменная.Результат)} = {t(КоннекторHTTP)}.%1(%2);",
|
||||
Конструктор.ДобавитьСтроку(
|
||||
"{t(Переменная.Результат)} = {t(КоннекторHTTP)}.%1(%2);",
|
||||
ИмяФункции,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
Состояние.ВызванМетодПоТекущемуURL = Истина;
|
||||
|
||||
@@ -801,19 +826,27 @@
|
||||
|
||||
Если Состояние.ПереданаСтрокаЗапроса
|
||||
И ВозможнаПередачаДанныхЧерезСоответствие(НазначениеДанных) Тогда
|
||||
URLСборка = КоллекцияПрограммногоКода.СборкаURL(СтруктураURL);
|
||||
|
||||
URLСборка = ЛокальныйГенераторКода.URL(СтруктураURL);
|
||||
|
||||
Иначе
|
||||
URLСборка = КоллекцияПрограммногоКода.СборкаURL(СтруктураURL,
|
||||
|
||||
URLСборка = ЛокальныйГенераторКода.URL(
|
||||
СтруктураURL,
|
||||
ОписаниеЗапроса.ОтправляемыеТекстовыеДанные,
|
||||
ПрочитанныеФайлы);
|
||||
ПрочитанныеФайлы
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрЧислоСтрок(URLСборка) > 1 Тогда
|
||||
|
||||
Конструктор
|
||||
.ДобавитьСтроку("%1 = %2;", ИмяПараметраURL, URLСборка)
|
||||
.ДобавитьПустуюСтроку();
|
||||
|
||||
URLСборка = ИмяПараметраURL;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -836,12 +869,14 @@
|
||||
ДобавитьФайлыВДополнительныеПараметры(КонструкторДопПараметров);
|
||||
|
||||
Если Не КонструкторДопПараметров.Пустой() Тогда
|
||||
|
||||
Состояние.ЕстьДополнительныеПараметры = Истина;
|
||||
|
||||
Конструктор
|
||||
.ДобавитьСтроку("%1 = Новый Структура();", ИмяПараметраДополнительныеПараметры)
|
||||
.ДобавитьСтроку(КонструкторДопПараметров.ПолучитьРезультат())
|
||||
.ДобавитьПустуюСтроку();
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -855,7 +890,8 @@
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.Заголовки)}"", %2);",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
ИмяПараметраЗаголовки);
|
||||
ИмяПараметраЗаголовки
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -868,7 +904,8 @@
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.Прокси)}"", %2);",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
ИмяПараметраПрокси);
|
||||
ИмяПараметраПрокси
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -881,7 +918,8 @@
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.Аутентификация)}"", %2);",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
ИмяПараметраАутентификация);
|
||||
ИмяПараметраАутентификация
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -897,7 +935,8 @@
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.Таймаут)}"", %2);",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
Конструктор.ПараметрВСтроку(Таймаут));
|
||||
Конструктор.ПараметрВСтроку(Таймаут)
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -909,7 +948,8 @@
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.ПроверятьSSL)}"", Новый СертификатыУдостоверяющихЦентровФайл(%2));",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ИмяФайлаСертификатовУЦ));
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ИмяФайлаСертификатовУЦ)
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -923,7 +963,8 @@
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.КлиентскийСертификатSSL)}"", Новый СертификатКлиентаФайл(%2));",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
КонструкторДопПараметров.ПараметрыФункцииВСтроку(ПараметрыОбъекта));
|
||||
КонструкторДопПараметров.ПараметрыФункцииВСтроку(ПараметрыОбъекта)
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -934,10 +975,13 @@
|
||||
Если Состояние.ПереданаСтрокаЗапроса
|
||||
И ВозможнаПередачаДанныхЧерезСоответствие(НазначенияПередаваемыхДанных.СтрокаЗапроса)
|
||||
И Не ВозможноПередатьПараметрыЗапросаВПараметрыФункцииВызоваМетода(ОписаниеРесурса.Метод) Тогда
|
||||
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.ПараметрыЗапроса)}"", %2);",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
ИмяПараметраПараметрыЗапроса);
|
||||
ИмяПараметраПараметрыЗапроса
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -953,14 +997,16 @@
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""Json"", %2);",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
ДанныеЗапроса);
|
||||
ДанныеЗапроса
|
||||
);
|
||||
|
||||
ИначеЕсли Не ВозможноПередатьДанныеЗапросаВПараметрыФункцииВызоваМетода(ОписаниеРесурса.Метод) Тогда
|
||||
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.Данные)}"", %2);",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
ДанныеЗапроса);
|
||||
ДанныеЗапроса
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -969,10 +1015,13 @@
|
||||
Процедура ДобавитьФайлыВДополнительныеПараметры(КонструкторДопПараметров)
|
||||
|
||||
Если Состояние.ЕстьФайлыMultipart Тогда
|
||||
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.Файлы)}"", %2);",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
ИмяПараметраФайлы);
|
||||
ИмяПараметраФайлы
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -980,9 +1029,12 @@
|
||||
Процедура ДобавитьРазрешениеПеренаправленийВДополнительныеПараметры(КонструкторДопПараметров)
|
||||
|
||||
Если ОписаниеЗапроса.ЗапретитьПеренаправление Тогда
|
||||
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.РазрешитьПеренаправление)}"", Ложь);",
|
||||
ИмяПараметраДополнительныеПараметры);
|
||||
ИмяПараметраДополнительныеПараметры
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -990,17 +1042,23 @@
|
||||
Процедура ДобавитьПовторныеПопыткиВДополнительныеПараметры(КонструкторДопПараметров)
|
||||
|
||||
Если ОписаниеЗапроса.МаксимальноеКоличествоПовторов > 0 Тогда
|
||||
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.МаксимальноеКоличествоПовторов)}"", %2);",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.МаксимальноеКоличествоПовторов));
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.МаксимальноеКоличествоПовторов)
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если ОписаниеЗапроса.МаксимальноеВремяПовторов > 0 Тогда
|
||||
|
||||
КонструкторДопПараметров.ДобавитьСтроку(
|
||||
"%1.Вставить(""{t(Параметр.МаксимальноеВремяПовторов)}"", %2);",
|
||||
ИмяПараметраДополнительныеПараметры,
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.МаксимальноеВремяПовторов));
|
||||
Конструктор.ПараметрВСтроку(ОписаниеЗапроса.МаксимальноеВремяПовторов)
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -1084,12 +1142,20 @@
|
||||
Значение = НРег(Заголовок.Значение);
|
||||
|
||||
Если Имя = "content-type" Тогда
|
||||
|
||||
Если Состояние.ПереданоТелоЗапроса
|
||||
И Значение = "application/x-www-form-urlencoded" Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли Имя = "authorization" И СтрНачинаетсяС(Значение, "bearer ") Тогда
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
Иначе
|
||||
|
||||
Возврат Истина;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Истина;
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
Если АргументыКоманд.Количество() = 0 Тогда
|
||||
Текст = "Передана пустая команда";
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(Текст));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(Текст));
|
||||
Возврат ПустойРезультат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -73,15 +73,16 @@
|
||||
ПроверитьПоддержкуПротокола(ОписаниеЗапроса, Генератор.ПоддерживаемыеПротоколы());
|
||||
|
||||
СгенерированныйКод = "";
|
||||
Если Не ОбщегоНазначения.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Если Не ОбщийНаборИнструментов.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
СгенерированныйКод = Генератор.Получить(ОписаниеЗапроса, ИсходящиеОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
ВывестиСгенерированныйКодКоманды(Результат, СгенерированныйКод, НомерКоманды, КоличествоКоманд);
|
||||
|
||||
Если ОбщегоНазначения.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Если ОбщийНаборИнструментов.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Возврат ПустойРезультат;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
@@ -107,11 +108,14 @@
|
||||
ПоддерживаемыеОпции = Новый Массив();
|
||||
|
||||
Для Каждого КлючЗначение Из ОписаниеОпций Цикл
|
||||
|
||||
ИмяОпции = КлючЗначение.Ключ;
|
||||
Описание = КлючЗначение.Значение;
|
||||
|
||||
Если Описание.Поддерживается Тогда
|
||||
ПоддерживаемыеОпции.Добавить(ИмяОпции);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ПоддерживаемыеОпции;
|
||||
@@ -186,6 +190,7 @@
|
||||
|
||||
ОшибочныеМетоды = "";
|
||||
Если ЕстьМетодPUT Тогда
|
||||
|
||||
Если ЕстьМетодGET И ЕстьДанныеPOST Тогда
|
||||
ОшибочныеМетоды = "PUT и GET";
|
||||
ИначеЕсли ЕстьМетодPOST Тогда
|
||||
@@ -193,21 +198,31 @@
|
||||
ИначеЕсли ЕстьМетодHEAD Тогда
|
||||
ОшибочныеМетоды = "PUT и HEAD";
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли ЕстьМетодPOST Тогда
|
||||
|
||||
Если ЕстьМетодHEAD Тогда
|
||||
ОшибочныеМетоды = "POST и HEAD";
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ПустаяСтрока(ОшибочныеМетоды) Тогда
|
||||
ТекстОшибки = СтрШаблон("Запрещено одновременное использование нескольких HTTP методов %1 для URL %2",
|
||||
ОшибочныеМетоды, ОписаниеРесурса.URL);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
|
||||
ТекстОшибки = СтрШаблон(
|
||||
"Запрещено одновременное использование нескольких HTTP методов %1 для URL %2",
|
||||
ОшибочныеМетоды,
|
||||
ОписаниеРесурса.URL
|
||||
);
|
||||
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СтруктураURL = Новый ПарсерURL(ОписаниеРесурса.URL);
|
||||
Если ОбщегоНазначения.ЭтоHTTP(СтруктураURL.Схема) Тогда
|
||||
Если ОбщийНаборИнструментов.ЭтоHTTP(СтруктураURL.Схема) Тогда
|
||||
|
||||
Если ЕстьМетодPOST Тогда
|
||||
Метод = "POST";
|
||||
ИначеЕсли ЕстьМетодPUT Тогда
|
||||
@@ -217,7 +232,9 @@
|
||||
Иначе
|
||||
Метод = "GET";
|
||||
КонецЕсли;
|
||||
ИначеЕсли ОбщегоНазначения.ЭтоFTP(СтруктураURL.Схема) Тогда
|
||||
|
||||
ИначеЕсли ОбщийНаборИнструментов.ЭтоFTP(СтруктураURL.Схема) Тогда
|
||||
|
||||
Если Файлы.Количество() Тогда
|
||||
Метод = "STOR"; // Залить файл
|
||||
ИначеЕсли ЕстьМетодHEAD Тогда
|
||||
@@ -227,6 +244,7 @@
|
||||
Иначе
|
||||
Метод = "RETR"; // Скачать файл
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеРесурса.Метод = Метод;
|
||||
@@ -238,8 +256,8 @@
|
||||
Процедура ПрочитатьАдресаРесурсов()
|
||||
|
||||
МассивURL = Новый Массив;
|
||||
ОбщегоНазначения.ДополнитьМассив(МассивURL, ТекущаяКоманда.ЗначениеАргумента("URL"));
|
||||
ОбщегоНазначения.ДополнитьМассив(МассивURL, ЗначениеОпции("url"));
|
||||
ОбщийНаборИнструментов.ДополнитьМассив(МассивURL, ТекущаяКоманда.ЗначениеАргумента("URL"));
|
||||
ОбщийНаборИнструментов.ДополнитьМассив(МассивURL, ЗначениеОпции("url"));
|
||||
|
||||
Для Каждого URL Из МассивURL Цикл
|
||||
ОписаниеЗапроса.ДобавитьАдресРесурса(URL);
|
||||
@@ -251,24 +269,25 @@
|
||||
|
||||
ИменаВыходныхФайлов = ЗначениеОпции("output");
|
||||
ПризнакиИзвлеченияИмениФайлаИзURL = ЗначениеОпции("remote-name");
|
||||
ИзвлекатьИмяФайлаИзURLДляВсех = УстановленФлагОпции("remote-name-all");
|
||||
ИзвлекатьДляВсехИмяФайлаИзURL = УстановленФлагОпции("remote-name-all");
|
||||
|
||||
Если ИменаВыходныхФайлов.Количество() И ПризнакиИзвлеченияИмениФайлаИзURL.Количество() Тогда
|
||||
ТекстОшибки = "Одновременная передача опций -o (--output) и -O (--remote-name) не поддерживается";
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Имя файла из опции
|
||||
Индекс = 0;
|
||||
Для Каждого ИмяВыходногоФайла Из ИменаВыходныхФайлов Цикл
|
||||
|
||||
Если Индекс > ОписаниеЗапроса.АдресаРесурсов.ВГраница() Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(КаталогСохраненияФайлов) Тогда
|
||||
ИмяВыходногоФайла =
|
||||
ОбщегоНазначения.ДобавитьКонечныйРазделительПути(КаталогСохраненияФайлов)
|
||||
ОбщийНаборИнструментов.ДобавитьКонечныйРазделительПути(КаталогСохраненияФайлов)
|
||||
+ ИмяВыходногоФайла;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -276,6 +295,7 @@
|
||||
ОписаниеАдреса.ИмяВыходногоФайла = ИмяВыходногоФайла;
|
||||
|
||||
Индекс = Индекс + 1;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// Имя файла из URL
|
||||
@@ -283,7 +303,7 @@
|
||||
|
||||
ИзвлекатьИмяИзURL = Индекс <= ПризнакиИзвлеченияИмениФайлаИзURL.ВГраница()
|
||||
И ПризнакиИзвлеченияИмениФайлаИзURL[Индекс]
|
||||
Или ИзвлекатьИмяФайлаИзURLДляВсех;
|
||||
Или ИзвлекатьДляВсехИмяФайлаИзURL;
|
||||
|
||||
Если Не ИзвлекатьИмяИзURL Тогда
|
||||
Продолжить;
|
||||
@@ -305,13 +325,13 @@
|
||||
|
||||
Если Не ЗначениеЗаполнено(ИмяВыходногоФайла) Тогда
|
||||
ТекстОшибки = СтрШаблон("Не удалось получить имя файла из URL %1", ОписаниеАдреса.URL);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(КаталогСохраненияФайлов) Тогда
|
||||
ИмяВыходногоФайла =
|
||||
ОбщегоНазначения.ДобавитьКонечныйРазделительПути(КаталогСохраненияФайлов)
|
||||
ОбщийНаборИнструментов.ДобавитьКонечныйРазделительПути(КаталогСохраненияФайлов)
|
||||
+ ИмяВыходногоФайла;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -351,11 +371,13 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДополнитьЗаголовкиПриНаличииОпцииГруппыData()
|
||||
|
||||
Если ЕстьОпцииГруппыData()
|
||||
И Не УстановленФлагОпции("get")
|
||||
И Не ЗначениеЗаполнено(ОписаниеЗапроса.ЗначениеЗаголовка("Content-Type")) Тогда
|
||||
ОписаниеЗапроса.ДобавитьЗаголовок("Content-Type", "application/x-www-form-urlencoded");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДополнитьЗаголовокUserAgent()
|
||||
@@ -401,7 +423,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
Процедура ПрочитатьТипАутентификации()
|
||||
|
||||
ЕстьBasic = УстановленФлагОпции("basic");
|
||||
@@ -411,11 +432,16 @@
|
||||
AWS4 = ПоследнееЗначениеОпции("aws-sigv4");
|
||||
ТокенBearer = ПоследнееЗначениеОпции("oauth2-bearer");
|
||||
|
||||
МножественноеИспользование = ЕстьBasic + ЕстьDigest + ЕстьNTLM + ЕстьNegotiate + ЗначениеЗаполнено(AWS4) + ЗначениеЗаполнено(ТокенBearer);
|
||||
МножественноеИспользование = ЕстьBasic
|
||||
+ ЕстьDigest
|
||||
+ ЕстьNTLM
|
||||
+ ЕстьNegotiate
|
||||
+ ЗначениеЗаполнено(AWS4)
|
||||
+ ЗначениеЗаполнено(ТокенBearer);
|
||||
|
||||
Если МножественноеИспользование > 1 Тогда
|
||||
ТекстОшибки = "Запрещено использовать несколько типов аутентификации";
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -499,7 +525,7 @@
|
||||
ПрочитатьDataBinary();
|
||||
ПрочитатьDataUrlencode();
|
||||
ПрочитатьUploadFile();
|
||||
ПрочитатьОпициюJson();
|
||||
ПрочитатьОпциюJson();
|
||||
ПрочитатьForm();
|
||||
ПрочитатьFormString();
|
||||
|
||||
@@ -527,6 +553,7 @@
|
||||
МассивДанныхПолей = СтрРазделить(Данные, "&");
|
||||
|
||||
Для Каждого ДанныеПоля Из МассивДанныхПолей Цикл
|
||||
|
||||
ПозицияРавенства = СтрНайти(ДанныеПоля, "=");
|
||||
|
||||
Если ПозицияРавенства Тогда
|
||||
@@ -541,6 +568,7 @@
|
||||
ПередаваемыйТекст.ИмяПоля = ИмяПоля;
|
||||
|
||||
ОписаниеЗапроса.ОтправляемыеТекстовыеДанные.Добавить(ПередаваемыйТекст);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
@@ -566,16 +594,22 @@
|
||||
МассивДанных = ЗначениеОпции("data-binary");
|
||||
Назначение = НазначениеПередаваемыхДанных();
|
||||
|
||||
Для Каждого Данные Из МассивДанных Цикл
|
||||
Для Каждого Данные Из МассивДанных Цикл
|
||||
|
||||
Если Лев(Данные, 1) = "@" Тогда
|
||||
|
||||
ИмяФайла = Сред(Данные, 2);
|
||||
ПередаваемыйФайл = Новый ПередаваемыйФайл(ИмяФайла, Назначение);
|
||||
ПередаваемыйФайл.ПрочитатьСодержимое = Истина;
|
||||
ОписаниеЗапроса.Файлы.Добавить(ПередаваемыйФайл);
|
||||
|
||||
Иначе
|
||||
|
||||
ПередаваемыйТекст = Новый ПередаваемыйТекст(Данные, Назначение);
|
||||
ОписаниеЗапроса.ОтправляемыеТекстовыеДанные.Добавить(ПередаваемыйТекст);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -636,19 +670,24 @@
|
||||
Процедура ПрочитатьUploadFile()
|
||||
|
||||
МассивДанных = ЗначениеОпции("T"); // -T, --upload-file
|
||||
ФигурныеСкобки = "{}";
|
||||
|
||||
ФигурныеСкобки = "{}";
|
||||
Индекс = -1;
|
||||
|
||||
Для Каждого Значение Из МассивДанных Цикл
|
||||
|
||||
Индекс = Индекс + 1;
|
||||
Значение = СокрЛП(Значение);
|
||||
|
||||
Если Индекс > ОписаниеЗапроса.АдресаРесурсов.ВГраница() Тогда
|
||||
|
||||
ТекстОшибки = СтрШаблон(
|
||||
"Файл '%1' из опции -T, --upload-file был проигнорирован, т.к. отсутствует URL для файла",
|
||||
Значение);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяОшибка(ТекстОшибки));
|
||||
Значение
|
||||
);
|
||||
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяОшибка(ТекстОшибки));
|
||||
Продолжить;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеРесурса = ОписаниеЗапроса.АдресаРесурсов[Индекс];
|
||||
@@ -658,16 +697,24 @@
|
||||
|
||||
МассивФайлов = Новый Массив();
|
||||
Если ПервыйСимвол = "{" И ПоследнийСимвол = "}" Тогда
|
||||
|
||||
ЗначениеБезСкобок = Сред(Значение, 2, СтрДлина(Значение) - 2);
|
||||
МассивФайлов = СтрРазделить(ЗначениеБезСкобок, ",");
|
||||
|
||||
ИначеЕсли СтрНайти(ФигурныеСкобки, ПервыйСимвол) Или СтрНайти(ФигурныеСкобки, ПоследнийСимвол) Тогда
|
||||
|
||||
ТекстОшибки = СтрШаблон(
|
||||
"Неправильное использование фигурных скобок в значении '%1' опции -T, --upload-file",
|
||||
Значение);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Значение
|
||||
);
|
||||
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
МассивФайлов.Добавить(Значение);
|
||||
|
||||
Иначе
|
||||
|
||||
МассивФайлов.Добавить(Значение);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ПутьКФайлу Из МассивФайлов Цикл
|
||||
@@ -681,7 +728,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПрочитатьОпициюJson()
|
||||
Процедура ПрочитатьОпциюJson()
|
||||
|
||||
МассивДанных = ЗначениеОпции("json");
|
||||
Назначение = НазначениеПередаваемыхДанных();
|
||||
@@ -689,6 +736,7 @@
|
||||
Для Каждого Данные Из МассивДанных Цикл
|
||||
|
||||
Если Лев(Данные, 1) = "@" Тогда
|
||||
|
||||
ИмяФайла = Сред(Данные, 2);
|
||||
|
||||
ПередаваемыйФайл = Новый ПередаваемыйФайл(ИмяФайла, Назначение);
|
||||
@@ -696,10 +744,13 @@
|
||||
ПередаваемыйФайл.РазделительТелаЗапроса = "";
|
||||
|
||||
ОписаниеЗапроса.Файлы.Добавить(ПередаваемыйФайл);
|
||||
|
||||
Иначе
|
||||
|
||||
ПередаваемыйТекст = Новый ПередаваемыйТекст(Данные, Назначение);
|
||||
ПередаваемыйТекст.РазделительТелаЗапроса = "";
|
||||
ОписаниеЗапроса.ОтправляемыеТекстовыеДанные.Добавить(ПередаваемыйТекст);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
@@ -728,19 +779,21 @@
|
||||
|
||||
Если ДанныеПоляФормы.Значения.Количество() = 0 Тогда
|
||||
ТекстОшибки = СтрШаблон("В опции -F (--form) некорректно указано значение: '%1'", Данные);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЭтоФайл = Ложь;
|
||||
|
||||
Для Каждого ОписаниеЗначения Из ДанныеПоляФормы.Значения Цикл
|
||||
|
||||
ТипMIME = ОписаниеЗначения.Параметры["type"];
|
||||
ПервыйСимвол = Лев(ОписаниеЗначения.Значение, 1);
|
||||
ЕстьСимволОпределенияФайла = ПервыйСимвол = "@" Или ПервыйСимвол = "<";
|
||||
ЭтоФайл = ЭтоФайл Или ЕстьСимволОпределенияФайла;
|
||||
|
||||
Если ЭтоФайл Тогда
|
||||
|
||||
Если ЕстьСимволОпределенияФайла Тогда
|
||||
ПолноеИмяФайла = Сред(ОписаниеЗначения.Значение, 2);
|
||||
Иначе
|
||||
@@ -771,7 +824,9 @@
|
||||
ПередаваемыйЭлемент.ТипMIME = ТипMIME;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
ПередаваемыйЭлемент = Новый ПередаваемыйТекст(ОписаниеЗначения.Значение, Назначение);
|
||||
ПередаваемыйЭлемент.ИмяПоля = ДанныеПоляФормы.ИмяПоля;
|
||||
ПередаваемыйЭлемент.Заголовки = ОписаниеЗначения.Параметры["headers"];
|
||||
@@ -781,6 +836,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
ОписаниеЗапроса.ОтправляемыеТекстовыеДанные.Добавить(ПередаваемыйЭлемент);
|
||||
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -801,7 +857,7 @@
|
||||
|
||||
Если ПозицияРавенства = 0 Тогда
|
||||
ТекстОшибки = СтрШаблон("В опции --form-string некорректно указано значение: '%1'", Данные);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1026,11 +1082,13 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НазначениеПередаваемыхДанных()
|
||||
|
||||
Если УстановленФлагОпции("get") Тогда
|
||||
Возврат НазначенияПередаваемыхДанных.СтрокаЗапроса;
|
||||
Иначе
|
||||
Возврат НазначенияПередаваемыхДанных.ТелоЗапроса;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьКонсольноеПриложение()
|
||||
@@ -1197,7 +1255,7 @@
|
||||
|
||||
ДобавитьПоддерживаемуюОпцию(
|
||||
"form-string",
|
||||
"Передаваемые данные по HTTP POST без интерпретации спецтальных сиволов (multipart/form-data)").ТМассивСтрок();
|
||||
"Передаваемые данные по HTTP POST без интерпретации специальных символов (multipart/form-data)").ТМассивСтрок();
|
||||
|
||||
ДобавитьПоддерживаемуюОпцию(
|
||||
"basic",
|
||||
@@ -1455,6 +1513,7 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ДобавитьОпциюВКонсольноеПриложение(Наименования, Поддерживается, Описание = "")
|
||||
|
||||
Опция = КонсольноеПриложение.Опция(Наименования, , Описание);
|
||||
|
||||
Описание = Новый Структура();
|
||||
@@ -1468,6 +1527,7 @@
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Опция;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбработатьАргументыКоманды(АргументыКоманды, НомерКоманды, КоличествоКоманд)
|
||||
@@ -1497,7 +1557,7 @@
|
||||
Если Инд Тогда
|
||||
Опция = СокрЛП(Сред(Текст, Инд + СтрДлина(ПодстрокаПоиска)));
|
||||
ТекстОшибки = СтрШаблон("Опция %1 неизвестна", Опция);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1506,11 +1566,11 @@
|
||||
Инд = СтрНайти(Текст, ":");
|
||||
Если СтрНайти(Текст, ПодстрокаПоиска) И Инд Тогда
|
||||
ТекстОшибки = СокрЛП(Сред(Текст, Инд + 1));
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(Текст));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(Текст));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -1543,15 +1603,16 @@
|
||||
Значение = ЗначениеОпции(Наименование);
|
||||
Если ЗначениеЗаполнено(Значение) Тогда
|
||||
ТекстОшибки = СтрШаблон("Опция %1 не поддерживается", СтрСоединить(Описание.Наименования, ", "));
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяОшибка(ТекстОшибки));
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПроверитьЧтоКомандаНачинаетсяСCurl(АргументыКоманды, НомерКоманды, КоличествоКоманд)
|
||||
|
||||
Если ОбщегоНазначения.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Если ОбщийНаборИнструментов.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1559,11 +1620,13 @@
|
||||
|
||||
НомерКомандыТекст = ?(КоличествоКоманд > 1, СтрШаблон("#%1 ", НомерКоманды), "");
|
||||
|
||||
Текст = СтрШаблон("Команда %1должна начинаться с ""curl"", но вместо этого начинается с %2",
|
||||
НомерКомандыТекст,
|
||||
АргументыКоманды[0]);
|
||||
Текст = СтрШаблон(
|
||||
"Команда %1должна начинаться с ""curl"", но вместо этого начинается с %2",
|
||||
НомерКомандыТекст,
|
||||
АргументыКоманды[0]
|
||||
);
|
||||
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(Текст));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(Текст));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1571,12 +1634,12 @@
|
||||
|
||||
Процедура ПроверитьНаличиеURL(ОписаниеЗапроса)
|
||||
|
||||
Если ОбщегоНазначения.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Если ОбщийНаборИнструментов.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОписаниеЗапроса.АдресаРесурсов.Количество() = 0 Тогда
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка("Не указан URL"));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка("Не указан URL"));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1585,7 +1648,7 @@
|
||||
ПорядковыйНомер = ПорядковыйНомер + 1;
|
||||
Если Не ЗначениеЗаполнено(ОписаниеРесурса.URL) Тогда
|
||||
ТекстОшибки = СтрШаблон("Не указан URL #%1", ПорядковыйНомер);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -1593,7 +1656,7 @@
|
||||
|
||||
Процедура ПроверитьПоддержкуПротокола(ОписаниеЗапроса, ПоддерживаемыеПротоколы)
|
||||
|
||||
Если ОбщегоНазначения.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Если ОбщийНаборИнструментов.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1601,7 +1664,7 @@
|
||||
СтруктураURL = Новый ПарсерURL(ОписаниеРесурса.URL);
|
||||
Если ПоддерживаемыеПротоколы.Найти(СтруктураURL.Схема) = Неопределено Тогда
|
||||
ТекстОшибки = СтрШаблон("Протокол ""%1"" не поддерживается", СтруктураURL.Схема);
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@@ -1613,19 +1676,19 @@
|
||||
|
||||
Если ЕстьОпцииГруппыData() И ЕстьОпцииГруппыForm() Тогда
|
||||
ТекстОшибки = СтрШаблон(ШаблонОдновременнаяПередача, "-d (--data)", "-F (--form)");
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЕстьОпцииГруппыForm() И УстановленФлагОпции( "head") Тогда
|
||||
ТекстОшибки = СтрШаблон(ШаблонОдновременнаяПередача, "-I (--head)", "-F (--form)");
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЕстьОпции("upload-file") И ЕстьОпцииГруппыForm() Тогда
|
||||
ТекстОшибки = СтрШаблон(ШаблонОдновременнаяПередача, "-T (--upload-file)", "-F (--form)");
|
||||
ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
ИсходящиеОшибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(ТекстОшибки));
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1643,13 +1706,15 @@
|
||||
+ ?(НомерКоманды > 1, Символы.ПС + Символы.ПС, "")
|
||||
+ СтрШаблон(
|
||||
"//////////////////////////////////////////////
|
||||
|// %1 #%2.", ПакетРесурсов.ПолучитьСтроку("Текст.Команда"), НомерКоманды);
|
||||
|// %1 #%2.", ПакетРесурсов.ПолучитьСтроку("Текст.Команда"),
|
||||
НомерКоманды
|
||||
);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВывестиСгенерированныйКодКоманды(Результат, Код, НомерКоманды, КоличествоКоманд)
|
||||
|
||||
Если ОбщегоНазначения.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Если ОбщийНаборИнструментов.ЕстьКритичныеОшибки(ИсходящиеОшибки) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -1662,12 +1727,15 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ЕстьОпции(Опции)
|
||||
|
||||
Для Каждого Опция Из СтрРазделить(Опции, ",") Цикл
|
||||
Если ЗначениеЗаполнено(ЗначениеОпции(Опция)) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЕстьОпцииГруппыData()
|
||||
@@ -1679,15 +1747,18 @@
|
||||
КонецФункции
|
||||
|
||||
Функция УстановленФлагОпции(ИмяОпции)
|
||||
|
||||
Значение = ПоследнееЗначениеОпции(ИмяОпции);
|
||||
Если Не Значение = Неопределено Тогда
|
||||
Возврат Значение;
|
||||
Иначе
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПоследнееЗначениеОпции(ИмяОпции)
|
||||
|
||||
Значение = ЗначениеОпции(ИмяОпции);
|
||||
Если ТипЗнч(Значение) = Тип("Массив") Тогда
|
||||
Если Значение.Количество() Тогда
|
||||
@@ -1696,6 +1767,7 @@
|
||||
Иначе
|
||||
Возврат Значение;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЗначениеОпции(ИмяОпции)
|
||||
|
||||
@@ -261,10 +261,12 @@
|
||||
КонецФункции
|
||||
|
||||
Процедура УдалитьПустуюПоследнююКоманду()
|
||||
Если АргументыКоманд.Количество() И
|
||||
АргументыКоманд[АргументыКоманд.ВГраница()].Количество() = 0 Тогда
|
||||
|
||||
Если АргументыКоманд.Количество()
|
||||
И АргументыКоманд[АргументыКоманд.ВГраница()].Количество() = 0 Тогда
|
||||
АргументыКоманд.Удалить(АргументыКоманд.ВГраница());
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
@@ -402,10 +402,10 @@
|
||||
|
||||
</style>
|
||||
<script type="module">
|
||||
import theme from '/static/shiki/themes/github-light.js';
|
||||
import lang from '/static/shiki/langs/bsl.js';
|
||||
import { createHighlighterCore } from '/static/shiki/core.js';
|
||||
import { createOnigurumaEngine } from '/static/shiki/engine/oniguruma.js';
|
||||
import theme from './static/shiki/themes/github-light.js';
|
||||
import lang from './static/shiki/langs/bsl.js';
|
||||
import { createHighlighterCore } from './static/shiki/core.js';
|
||||
import { createOnigurumaEngine } from './static/shiki/engine/oniguruma.js';
|
||||
|
||||
let defaultOutputs = {
|
||||
'1c': {
|
||||
@@ -442,7 +442,6 @@
|
||||
|
||||
let req = new XMLHttpRequest();
|
||||
req.onload = function () {
|
||||
let output = document.getElementById("output");
|
||||
let errors = [];
|
||||
outputText = "";
|
||||
|
||||
@@ -548,9 +547,9 @@
|
||||
function getLang() {
|
||||
let radios = document.getElementsByName('lang');
|
||||
|
||||
for (let i = 0; i < radios.length; i++) {
|
||||
if (radios[i].checked) {
|
||||
return radios[i].value;
|
||||
for (let radio of radios) {
|
||||
if (radio.checked) {
|
||||
return radio.value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -640,7 +639,7 @@
|
||||
const highlighter = await createHighlighterCore({
|
||||
themes: [theme],
|
||||
langs: [lang],
|
||||
engine: createOnigurumaEngine(import('/static/shiki/wasm.js'))
|
||||
engine: createOnigurumaEngine(import('./static/shiki/wasm.js'))
|
||||
});
|
||||
|
||||
setLocale('ru');
|
||||
|
||||
@@ -41,10 +41,13 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
Процедура ДобавитьАдресРесурса(URL, ИмяВыходногоФайла = "") Экспорт
|
||||
|
||||
ОписаниеРесурса = НовоеОписаниеРесурса();
|
||||
ОписаниеРесурса.URL = URL;
|
||||
ОписаниеРесурса.ИмяВыходногоФайла = ИмяВыходногоФайла;
|
||||
|
||||
АдресаРесурсов.Добавить(ОписаниеРесурса);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьЗаголовок(Имя, Значение) Экспорт
|
||||
@@ -58,10 +61,27 @@
|
||||
Возврат Значение;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОбщегоНазначения.НайтиВСоответствииПоКлючуБезУчетаРегистра(Заголовки, Имя);
|
||||
Возврат ОбщийНаборИнструментов.НайтиВСоответствииПоКлючуБезУчетаРегистра(Заголовки, Имя);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ФайлыОтправляемыеОтдельно(ОписаниеРесурса) Экспорт
|
||||
|
||||
ПередаваемыеФайлы = Новый Массив();
|
||||
Для Каждого ПередаваемыйФайл Из ОписаниеРесурса.Файлы Цикл
|
||||
|
||||
Если ПередаваемыйФайл.ОтправлятьОтдельно
|
||||
И Не ПередаваемыйФайл.ПрочитатьСодержимое
|
||||
И ПередаваемыйФайл.Назначение = НазначенияПередаваемыхДанных.ТелоЗапроса Тогда
|
||||
ПередаваемыеФайлы.Добавить(ПередаваемыйФайл);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ПередаваемыеФайлы;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИспользуетсяПрокси() Экспорт
|
||||
Возврат ЗначениеЗаполнено(ПроксиСервер);
|
||||
КонецФункции
|
||||
@@ -79,6 +99,7 @@
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ПриСозданииОбъекта()
|
||||
|
||||
АдресаРесурсов = Новый Массив;
|
||||
Заголовки = Новый Соответствие();
|
||||
ТипАутентификации = "";
|
||||
@@ -108,6 +129,7 @@
|
||||
AWS4 = НовыйAWS4();
|
||||
ТокенBearer = "";
|
||||
СоздатьКаталогСохраненияФайлов = Ложь;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ЕстьДанныеПоНазначению(Назначение) Экспорт
|
||||
@@ -129,21 +151,27 @@
|
||||
КонецФункции
|
||||
|
||||
Функция НовоеОписаниеРесурса()
|
||||
|
||||
Описание = Новый Структура();
|
||||
Описание.Вставить("URL", "");
|
||||
Описание.Вставить("Метод", "");
|
||||
Описание.Вставить("ИмяВыходногоФайла", "");
|
||||
Описание.Вставить("Файлы", Новый Массив());
|
||||
|
||||
Возврат Описание;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НовыйAWS4()
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("КлючДоступа", "");
|
||||
Результат.Вставить("СекретныйКлюч", "");
|
||||
Результат.Вставить("Сервис", "");
|
||||
Результат.Вставить("Регион", "");
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -50,11 +50,14 @@
|
||||
АутентификацияСтрока = "";
|
||||
РазбитьСтрокуПоРазделителю(АутентификацияСтрока, URL, "@");
|
||||
Если ЗначениеЗаполнено(АутентификацияСтрока) Тогда
|
||||
|
||||
АутентификацияЧасти = СтрРазделить(АутентификацияСтрока, ":");
|
||||
Аутентификация.Пользователь = АутентификацияЧасти[0];
|
||||
|
||||
Если АутентификацияЧасти.Количество() > 1 Тогда
|
||||
Аутентификация.Пароль = АутентификацияЧасти[1];
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
// IPv6
|
||||
@@ -98,8 +101,11 @@
|
||||
|
||||
РазбитьСтрокуПоРазделителю(Запрос, Путь, "?", Истина);
|
||||
Для Каждого СтрокаКлючРавноПараметр Из СтрРазделить(Запрос, "&", Ложь) Цикл
|
||||
|
||||
СтрокаКлючРавноПараметр = РаскодироватьСтроку(
|
||||
СтрокаКлючРавноПараметр, СпособКодированияСтроки.URLВКодировкеURL);
|
||||
СтрокаКлючРавноПараметр,
|
||||
СпособКодированияСтроки.URLВКодировкеURL
|
||||
);
|
||||
|
||||
ПозицияРавно = СтрНайти(СтрокаКлючРавноПараметр, "=");
|
||||
Если ПозицияРавно = 0 Тогда
|
||||
@@ -111,6 +117,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ПараметрыЗапроса.Получить(Ключ) <> Неопределено Тогда
|
||||
|
||||
Если ТипЗнч(ПараметрыЗапроса[Ключ]) = Тип("Массив") Тогда
|
||||
ПараметрыЗапроса[Ключ].Добавить(Значение);
|
||||
Иначе
|
||||
@@ -119,8 +126,11 @@
|
||||
Значения.Добавить(Значение);
|
||||
ПараметрыЗапроса[Ключ] = Значения;
|
||||
КонецЕсли;
|
||||
|
||||
Иначе
|
||||
|
||||
ПараметрыЗапроса.Вставить(Ключ, Значение);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
@@ -131,13 +141,16 @@
|
||||
|
||||
Индекс = СтрНайти(ОстальнаяЧасть, Разделитель);
|
||||
Если Индекс Тогда
|
||||
|
||||
ИзвлекаемаяЧасть = Лев(ОстальнаяЧасть, Индекс - 1);
|
||||
ОстальнаяЧасть = Сред(ОстальнаяЧасть, Индекс + СтрДлина(Разделитель));
|
||||
|
||||
Если Инверсия Тогда
|
||||
ДляОбмена = ИзвлекаемаяЧасть;
|
||||
ИзвлекаемаяЧасть = ОстальнаяЧасть;
|
||||
ОстальнаяЧасть = ДляОбмена;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@@ -148,14 +161,18 @@
|
||||
ПервыйРазделитель = "";
|
||||
|
||||
Для Каждого Разделитель Из Разделители Цикл
|
||||
|
||||
Индекс = СтрНайти(Строка, Разделитель);
|
||||
|
||||
Если Индекс = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Индекс < МинимальныйИндекс Тогда
|
||||
МинимальныйИндекс = Индекс;
|
||||
ПервыйРазделитель = Разделитель;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Результат = Новый Массив;
|
||||
|
||||
@@ -173,13 +173,16 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ЭтоНовоеЗначение Тогда
|
||||
|
||||
СтруктураЗначения = Новый Структура();
|
||||
СтруктураЗначения.Вставить("Значение", СокрЛП(ЗначениеПараметра));
|
||||
СтруктураЗначения.Вставить("Параметры", Новый Соответствие());
|
||||
СтруктураЗначения.Параметры.Вставить("headers", Новый Соответствие());
|
||||
|
||||
Результат.Значения.Добавить(СтруктураЗначения);
|
||||
Результат.Значения.Добавить(СтруктураЗначения);
|
||||
|
||||
Иначе
|
||||
|
||||
ПараметрыЗначения = Результат.Значения[Результат.Значения.ВГраница()].Параметры;
|
||||
|
||||
Если ИмяПараметра = "headers" Тогда
|
||||
@@ -187,6 +190,7 @@
|
||||
Иначе
|
||||
ПараметрыЗначения.Вставить(ИмяПараметра, СокрЛП(ЗначениеПараметра));
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ИмяПараметра = "";
|
||||
|
||||
@@ -74,9 +74,12 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ТокенРегулярноеВыражение(Паттерн, ТипТокена)
|
||||
|
||||
РегулярноеВыражение = Новый РегулярноеВыражение(Паттерн);
|
||||
РегулярноеВыражение.Многострочный = Ложь;
|
||||
|
||||
Возврат Новый СпецификацияТокенРегулярноеВыражение(РегулярноеВыражение, ТипТокена);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбработатьТокен(Токен, ТекущееСостояние)
|
||||
@@ -157,9 +160,11 @@
|
||||
ИмяОбъекта = Сред(Значение, 1, ПозицияПробела - 1);
|
||||
ОстальнаяЧасть = Сред(Значение, ПозицияПробела);
|
||||
|
||||
Значение = СтрШаблон("%1%2",
|
||||
Значение = СтрШаблон(
|
||||
"%1%2",
|
||||
ПолучитьПеревод("Переменная." + ИмяОбъекта, ИмяОбъекта),
|
||||
ОстальнаяЧасть);
|
||||
ОстальнаяЧасть
|
||||
);
|
||||
|
||||
ТекущееСостояние.ИмяОбъектаПрисваивания = ИмяОбъекта;
|
||||
|
||||
@@ -172,9 +177,11 @@
|
||||
ОператорНовый = СокрЛП(Подстроки[0]);
|
||||
Тип = СокрЛП(Подстроки[1]);
|
||||
|
||||
Значение = СтрШаблон("%1 %2",
|
||||
Значение = СтрШаблон(
|
||||
"%1 %2",
|
||||
ПолучитьПеревод(ОператорНовый, ОператорНовый),
|
||||
ПолучитьПеревод(Тип, Тип));
|
||||
ПолучитьПеревод(Тип, Тип)
|
||||
);
|
||||
|
||||
Если Не ПустаяСтрока(ТекущееСостояние.ИмяОбъектаПрисваивания) Тогда
|
||||
ТекущееСостояние.ТипыОбъектов.Вставить(ТекущееСостояние.ИмяОбъектаПрисваивания, Тип);
|
||||
@@ -189,12 +196,14 @@
|
||||
|
||||
ПутьСТочкой = "";
|
||||
Если Подстроки.Количество() > 2 Тогда
|
||||
|
||||
Путь = Новый Массив();
|
||||
Для к = 1 По Подстроки.ВГраница() - 1 Цикл
|
||||
Путь.Добавить(СокрЛП(Подстроки[к]));
|
||||
КонецЦикла;
|
||||
|
||||
ПутьСТочкой = "." + СтрСоединить(Путь, ".");
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ИмяОбъекта = СокрЛП(Подстроки[0]);
|
||||
@@ -203,17 +212,20 @@
|
||||
ТипКонечногоОбъекта = ТекущееСостояние.ТипыОбъектов[ИмяОбъекта + ПутьСТочкой];
|
||||
Если Не ТипКонечногоОбъекта = Неопределено Тогда
|
||||
|
||||
Значение = СтрШаблон("%1%2.%3(",
|
||||
Значение = СтрШаблон(
|
||||
"%1%2.%3(",
|
||||
ПолучитьПеревод("Переменная." + ИмяОбъекта, ИмяОбъекта),
|
||||
ПутьСТочкой,
|
||||
ПолучитьПеревод(ТипКонечногоОбъекта + "." + ИмяМетода, ИмяМетода));
|
||||
ПолучитьПеревод(ТипКонечногоОбъекта + "." + ИмяМетода, ИмяМетода)
|
||||
);
|
||||
|
||||
Иначе
|
||||
|
||||
Значение = СтрШаблон("%1%2.%3(",
|
||||
ПолучитьПеревод("Переменная." + ИмяОбъекта, ИмяОбъекта),
|
||||
ПутьСТочкой,
|
||||
ИмяМетода);
|
||||
ИмяМетода
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -237,23 +249,29 @@
|
||||
|
||||
// Свойство объекта
|
||||
Если ПереводПеречисления = Неопределено Тогда
|
||||
|
||||
ТипОбъекта = ТекущееСостояние.ТипыОбъектов[ИмяОбъекта];
|
||||
Если Не ТипОбъекта = Неопределено Тогда
|
||||
Значение = СтрШаблон("%1.%2",
|
||||
Значение = СтрШаблон(
|
||||
"%1.%2",
|
||||
ПолучитьПеревод("Переменная." + ИмяОбъекта, ИмяОбъекта),
|
||||
ПолучитьПеревод(ТипОбъекта + "." + ИмяСвойства, ИмяСвойства));
|
||||
ПолучитьПеревод(ТипОбъекта + "." + ИмяСвойства, ИмяСвойства)
|
||||
);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьПеревод(ИмяРесурса, ЗначениеПоУмолчанию)
|
||||
|
||||
Ресурс = _ПакетРесурсов.ПолучитьРесурс(ИмяРесурса);
|
||||
Если ЗначениеЗаполнено(Ресурс) Тогда
|
||||
Возврат Ресурс;
|
||||
Иначе
|
||||
Возврат ЗначениеПоУмолчанию;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
@@ -23,14 +23,14 @@
|
||||
|
||||
Процедура ОбновтитьСтатичныеФайлы() Экспорт
|
||||
Если ТипЗнч(КаталогиСФайлами) = Тип("Соответствие") Тогда
|
||||
Для Каждого КиЗ из КаталогиСФайлами Цикл
|
||||
Для Каждого КиЗ Из КаталогиСФайлами Цикл
|
||||
ДобавитьКаталогСтатичныхФайлов(КиЗ.Значение, КиЗ.Ключ);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьКаталогСтатичныхФайлов(КаталогФайлов, ПутьНаСайте = "/") Экспорт
|
||||
Для Каждого ТипФайла из Перечисления.ОписанияТиповРасширенийФайлов Цикл
|
||||
Для Каждого ТипФайла Из Перечисления.ОписанияТиповРасширенийФайлов Цикл
|
||||
Файлы = НайтиФайлы(КаталогФайлов, "*." + ТипФайла.Ключ, Истина);
|
||||
Для каждого Файл Из Файлы Цикл
|
||||
ДобавитьМаршрутДоФайла(Файл, КаталогФайлов, ПутьНаСайте, ТипФайла.Значение);
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьМаршрутДоФайла(Файл, знач КаталогФайлов, знач ПутьНаСайте, знач ТипКонтента)
|
||||
Процедура ДобавитьМаршрутДоФайла(Файл, Знач КаталогФайлов, Знач ПутьНаСайте, Знач ТипКонтента)
|
||||
|
||||
Если Не СтрЗаканчиваетсяНа(КаталогФайлов, "/") Тогда
|
||||
КаталогФайлов = КаталогФайлов + "/";
|
||||
@@ -89,7 +89,7 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПутьВПодкаталоге(знач ПолныйПуть, знач КаталогФайлов)
|
||||
Функция ПутьВПодкаталоге(Знач ПолныйПуть, Знач КаталогФайлов)
|
||||
|
||||
Если СтрНачинаетсяС(КаталогФайлов, ".") Тогда
|
||||
КаталогФайлов = Сред(КаталогФайлов, 2);
|
||||
|
||||
+38
-15
@@ -34,7 +34,8 @@
|
||||
|
||||
Конструктор.ДобавитьСтроку(Шаблон,
|
||||
ИмяПеременной,
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла));
|
||||
Конструктор.ПараметрВСтроку(ПередаваемыйФайл.ПолноеИмяФайла)
|
||||
);
|
||||
|
||||
ПрочитанныйФайл = Новый Структура();
|
||||
ПрочитанныйФайл.Вставить("ПередаваемыйФайл", ПередаваемыйФайл);
|
||||
@@ -43,13 +44,14 @@
|
||||
ПрочитанныеФайлы.Добавить(ПрочитанныйФайл);
|
||||
|
||||
НомерФайла = НомерФайла + 1;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Конструктор.ПолучитьРезультат();
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СборкаДанныхЗапросаВСтроку(НазначениеДанных, ТекстовыеДанные, ПрочитанныеФайлы) Экспорт
|
||||
Функция ДанныеЗапроса(НазначениеДанных, ТекстовыеДанные, ПрочитанныеФайлы) Экспорт
|
||||
|
||||
Конструктор = Новый КонструкторПрограммногоКода();
|
||||
ЧастиКода = Новый Массив();
|
||||
@@ -131,28 +133,41 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СборкаURL(СтруктураURL, ТекстовыеДанные = Неопределено, ПрочитанныеФайлы = Неопределено) Экспорт
|
||||
Функция URL(СтруктураURL, ТекстовыеДанные = Неопределено, ПрочитанныеФайлы = Неопределено) Экспорт
|
||||
|
||||
// Схема
|
||||
URL = """" + СтруктураURL.Схема + "://";
|
||||
|
||||
// Аутентификация
|
||||
Пользователь = СтруктураURL.Аутентификация.Пользователь;
|
||||
Пароль = СтруктураURL.Аутентификация.Пароль;
|
||||
|
||||
Аутентификация = "";
|
||||
Если Не ПустаяСтрока(Пользователь) Или Не ПустаяСтрока(Пароль) Тогда
|
||||
Аутентификация = СтрШаблон("%1:%2@", Пользователь, Пароль);
|
||||
URL = URL + СтрШаблон("%1:%2@", Пользователь, Пароль);
|
||||
КонецЕсли;
|
||||
|
||||
СборкаАдресаРесурса = СборкаАдресаРесурса(СтруктураURL, ТекстовыеДанные, ПрочитанныеФайлы);
|
||||
// Сервер
|
||||
URL = URL + СтруктураURL.Сервер;
|
||||
|
||||
Возврат """"
|
||||
+ СтруктураURL.Схема + "://"
|
||||
+ Аутентификация
|
||||
+ СтруктураURL.Сервер
|
||||
+ ?(ЗначениеЗаполнено(СтруктураURL.Порт), ":" + Формат(СтруктураURL.Порт, "ЧГ="), "")
|
||||
+ ?(ПустаяСтрока(СборкаАдресаРесурса), """", Сред(СборкаАдресаРесурса, 2));
|
||||
// Порт
|
||||
Если ЗначениеЗаполнено(СтруктураURL.Порт) Тогда
|
||||
URL = URL + ":" + Формат(СтруктураURL.Порт, "ЧГ=");
|
||||
КонецЕсли;
|
||||
|
||||
// Адрес ресурса
|
||||
АдресРесурса = АдресРесурса(СтруктураURL, ТекстовыеДанные, ПрочитанныеФайлы);
|
||||
|
||||
Если ПустаяСтрока(АдресРесурса) Тогда
|
||||
URL = URL + """";
|
||||
Иначе
|
||||
URL = URL + Сред(АдресРесурса, 2);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат URL;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СборкаАдресаРесурса(СтруктураURL, ТекстовыеДанные = Неопределено, ПрочитанныеФайлы = Неопределено) Экспорт
|
||||
Функция АдресРесурса(СтруктураURL, ТекстовыеДанные = Неопределено, ПрочитанныеФайлы = Неопределено) Экспорт
|
||||
|
||||
Конструктор = Новый КонструкторПрограммногоКода();
|
||||
|
||||
@@ -166,21 +181,26 @@
|
||||
|
||||
// Исходные параметры запроса
|
||||
Для Каждого Параметр Из СтруктураURL.ПараметрыЗапроса Цикл
|
||||
|
||||
КлючИЗначение = СтрШаблон("%1=%2",
|
||||
КодироватьСтроку(Параметр.Ключ, СпособКодированияСтроки.КодировкаURL),
|
||||
КодироватьСтроку(Параметр.Значение, СпособКодированияСтроки.КодировкаURL));
|
||||
|
||||
ПараметрыЗапроса.Добавить(КлючИЗначение);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// Дополняемые параметры запроса
|
||||
Если Не ТекстовыеДанные = Неопределено Тогда
|
||||
Для Каждого ПередаваемыйТекст Из ТекстовыеДанные Цикл
|
||||
Если ПередаваемыйТекст.Назначение = НазначенияПередаваемыхДанных.СтрокаЗапроса Тогда
|
||||
|
||||
Если ПараметрыЗапроса.Количество() И Не ПустаяСтрока(ПередаваемыйТекст.РазделительТелаЗапроса) Тогда
|
||||
ПараметрыЗапроса.Добавить(ПередаваемыйТекст.РазделительТелаЗапроса);
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыЗапроса.Добавить(ПередаваемыйТекст.ПолноеЗначение());
|
||||
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
@@ -193,6 +213,7 @@
|
||||
ПередаваемыйФайл = ПрочитанныйФайл.ПередаваемыйФайл;
|
||||
|
||||
Если ПередаваемыйФайл.Назначение = НазначенияПередаваемыхДанных.СтрокаЗапроса Тогда
|
||||
|
||||
Если ЗначениеЗаполнено(ПередаваемыйФайл.ИмяПоля) Тогда
|
||||
Префикс = ПередаваемыйФайл.ИмяПоля + "=";
|
||||
ПрефиксВКоде = Конструктор.ПараметрВСтроку(Префикс) + " + ";
|
||||
@@ -210,6 +231,7 @@
|
||||
+ СтрШаблон(КонкатенацияСПереносомСтрокиИРазделителем, РазделительПараметров + Префикс)
|
||||
+ ИмяПеременной;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
@@ -277,7 +299,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СозданиеИнтернетПрокси(ОписаниеЗапроса, ИмяПараметра) Экспорт
|
||||
Функция ИнтернетПрокси(ОписаниеЗапроса, ИмяПараметра) Экспорт
|
||||
|
||||
Конструктор = Новый КонструкторПрограммногоКода();
|
||||
|
||||
@@ -295,7 +317,8 @@
|
||||
.ДобавитьСтроку("%1 = Новый ИнтернетПрокси();", ИмяПараметра)
|
||||
.ДобавитьСтроку("%1.Установить(%2);",
|
||||
ИмяПараметра,
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));
|
||||
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции)
|
||||
);
|
||||
|
||||
Возврат Конструктор.ПолучитьРезультат();
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// BSLLS:ExportVariables-off
|
||||
|
||||
Перем ТелоЗапроса Экспорт;
|
||||
Перем СтрокаЗапроса Экспорт;
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// BSLLS:ExportVariables-off
|
||||
|
||||
Перем HTTP Экспорт;
|
||||
Перем HTTPS Экспорт;
|
||||
Перем FTP Экспорт;
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// BSLLS:ExportVariables-off
|
||||
|
||||
Перем Basic Экспорт;
|
||||
Перем Digest Экспорт;
|
||||
Перем NTLM Экспорт;
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
|
||||
#Использовать asserts
|
||||
#Использовать "../src/core"
|
||||
|
||||
@@ -743,7 +745,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
&Тест
|
||||
Процедура ТестДолжен_ПроверитьИспользованиеСертификатаКлиентаИСертификатыУЦИзФайла() Экспорт
|
||||
|
||||
@@ -1308,7 +1309,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&Тест
|
||||
Процедура ТестДолжен_ПроверитьОтсутстивиеЗамещенияUserAgent() Экспорт
|
||||
Процедура ТестДолжен_ПроверитьОтсутствиеЗамещенияUserAgent() Экспорт
|
||||
|
||||
КонсольнаяКоманда = "curl http://example.com/ -H 'User-Agent: Agent 007' -A 'Agent 001'";
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
|
||||
#Использовать asserts
|
||||
#Использовать "../src/core"
|
||||
|
||||
@@ -996,7 +998,7 @@
|
||||
КонецПроцедуры
|
||||
|
||||
&Тест
|
||||
Процедура ТестДолжен_ПроверитьОтсутстивиеЗамещенияUserAgent() Экспорт
|
||||
Процедура ТестДолжен_ПроверитьОтсутствиеЗамещенияUserAgent() Экспорт
|
||||
|
||||
КонсольнаяКоманда = "curl http://example.com/ -H 'User-Agent: Agent 007' -A 'Agent 001'";
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
|
||||
#Использовать asserts
|
||||
#Использовать "../src/core"
|
||||
|
||||
@@ -17,7 +19,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Не_().Заполнено();
|
||||
Ожидаем.Что(Ошибки).Заполнено();
|
||||
@@ -33,7 +35,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Не_().Заполнено();
|
||||
Ожидаем.Что(Ошибки).Заполнено();
|
||||
@@ -49,7 +51,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Не_().Заполнено();
|
||||
Ожидаем.Что(Ошибки).Заполнено();
|
||||
@@ -70,7 +72,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Равно(ПрограммныйКод);
|
||||
Ожидаем.Что(Ошибки).Заполнено();
|
||||
@@ -86,7 +88,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Не_().Заполнено();
|
||||
Ожидаем.Что(Ошибки).Заполнено();
|
||||
@@ -102,7 +104,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Не_().Заполнено();
|
||||
Ожидаем.Что(Ошибки).Заполнено();
|
||||
@@ -118,7 +120,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Не_().Заполнено();
|
||||
Ожидаем.Что(Ошибки).Заполнено();
|
||||
@@ -142,7 +144,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Не_().Заполнено();
|
||||
Ожидаем.Что(Ошибки).Заполнено();
|
||||
@@ -168,7 +170,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Не_().Заполнено();
|
||||
Ожидаем.Что(Ошибки, "Команда не валидна: " + КонсольнаяКоманда).Заполнено();
|
||||
@@ -181,7 +183,6 @@
|
||||
ВалидныеКоманды.Добавить("-T file --get");
|
||||
ВалидныеКоманды.Добавить("--get --head");
|
||||
ВалидныеКоманды.Добавить("-d 'key=val' --get");
|
||||
ВалидныеКоманды.Добавить("--get --head");
|
||||
ВалидныеКоманды.Добавить("-d 'key=val' --get --head");
|
||||
|
||||
Для Каждого Команда Из ВалидныеКоманды Цикл
|
||||
@@ -189,7 +190,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Ошибки, "Команда валидна: " + КонсольнаяКоманда).Не_().Заполнено();
|
||||
КонецЦикла;
|
||||
@@ -203,7 +204,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Не_().Заполнено();
|
||||
Ожидаем.Что(Ошибки).Заполнено();
|
||||
@@ -232,7 +233,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Не_().Заполнено();
|
||||
Ожидаем.Что(Ошибки, "Команда не валидна: " + КонсольнаяКоманда).Заполнено();
|
||||
@@ -242,7 +243,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
||||
&Тест
|
||||
Процедура ТестДолжен_ПроверитьОшибкуЗапрещеноИспользоватьНесколькоТиповАутентификации() Экспорт
|
||||
|
||||
@@ -256,7 +256,7 @@
|
||||
|
||||
Ошибки = Неопределено;
|
||||
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда,, Ошибки);
|
||||
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, , Ошибки);
|
||||
|
||||
Ожидаем.Что(Результат).Не_().Заполнено();
|
||||
Ожидаем.Что(Ошибки, "Команда не валидна: " + КонсольнаяКоманда).Заполнено();
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||
|
||||
#Использовать asserts
|
||||
#Использовать coloratos
|
||||
#Использовать "../src/cli"
|
||||
|
||||
Reference in New Issue
Block a user