feat: Игнорирование активного режима FTP при использовании прокси

This commit is contained in:
Ivanov Dmitry
2025-01-09 01:27:22 +03:00
parent b243a1d301
commit ea28ef97d6
2 changed files with 23 additions and 1 deletions
@@ -650,8 +650,9 @@
ПассивныйРежим = ПоследнееЗначениеОпции(Команда, "ftp-pasv");
АдресДляОбратногоСоединения = ПоследнееЗначениеОпции(Команда, "ftp-port");
АдресПрокси = ПоследнееЗначениеОпции(Команда, "proxy");
Если ЗначениеЗаполнено(АдресДляОбратногоСоединения) Тогда
Если ЗначениеЗаполнено(АдресДляОбратногоСоединения) И Не ЗначениеЗаполнено(АдресПрокси) Тогда
ОписаниеЗапроса.FTPАдресОбратногоСоединения = АдресДляОбратногоСоединения;
ОписаниеЗапроса.FTPПассивныйРежимСоединения = Ложь;
ИначеЕсли Не ПассивныйРежим = Неопределено Тогда
@@ -66,6 +66,7 @@
СписокТестов.Добавить("ТестДолжен_ПроверитьАктивныйРежимСоединенияFTP");
СписокТестов.Добавить("ТестДолжен_ПроверитьПредупреждениеИгнорированиеАдресаОбратногоСоединенияFTP");
СписокТестов.Добавить("ТестДолжен_ПроверитьОдновременнуюПередачуАктивногоИПассивногоРежимаСоединенияFTP");
СписокТестов.Добавить("ТестДолжен_ПроверитьИгнорированиеАктивногоРежимаПриИспользованииПроксиFTP");
Возврат СписокТестов;
@@ -1350,4 +1351,24 @@
Ожидаем.Что(Результат).Равно(ПрограммныйКод);
КонецПроцедуры
Процедура ТестДолжен_ПроверитьИгнорированиеАктивногоРежимаПриИспользованииПроксиFTP() Экспорт
КонсольнаяКоманда = "curl ftp://ftp.example.com/file.txt \
| --proxy ftp://proxy.example.com:21 \
| --ftp-port -";
ПрограммныйКод = "Прокси = Новый ИнтернетПрокси();
|Прокси.Установить(""ftp"", ""proxy.example.com"", 21, , , Ложь);
|
|Соединение = Новый FTPСоединение(""ftp.example.com"", 21, , , Прокси, Истина);
|
|Соединение.Получить(""/file.txt"", ""path/to/file"");";
КонвертерКомандыCURL = Новый КонвертерКомандыCURL();
Результат = КонвертерКомандыCURL.Конвертировать(КонсольнаяКоманда, Новый ГенераторПрограммногоКода1С());
Ожидаем.Что(Результат).Равно(ПрограммныйКод);
КонецПроцедуры