Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Рефакторинг кода #146

Merged
merged 6 commits into from
Jan 18, 2025

Large diffs are not rendered by default.

Large diffs are not rendered by default.

24 changes: 16 additions & 8 deletions src/core/Классы/КонвертерКомандыCURL.os
Original file line number Diff line number Diff line change
Expand Up @@ -393,13 +393,15 @@
КонецФункции

Процедура ПрочитатьПользователя(Команда)

ПользовательИПароль = ЗначениеОпции(Команда, "u");
МассивПодстрок = СтрРазделить(ПользовательИПароль, ":");

ОписаниеЗапроса.ИмяПользователя = МассивПодстрок[0];
Если МассивПодстрок.Количество() = 2 Тогда
ОписаниеЗапроса.ПарольПользователя = МассивПодстрок[1];
КонецЕсли
КонецЕсли;

КонецПроцедуры

Процедура ПрочитатьДанныеДляОтправки(Команда)
Expand All @@ -416,7 +418,7 @@
Процедура ПрочитатьData(Команда)

МассивДанных = ЗначениеОпции(Команда, "d"); // -d, --data
Назначение = НазначениеПередаваемыхДанныхPOST(Команда);
Назначение = НазначениеПередаваемыхДанных(Команда);

Для Каждого Данные Из МассивДанных Цикл

Expand All @@ -440,7 +442,7 @@
Процедура ПрочитатьDataRaw(Команда)

МассивДанных = ЗначениеОпции(Команда, "data-raw");
Назначение = НазначениеПередаваемыхДанныхPOST(Команда);
Назначение = НазначениеПередаваемыхДанных(Команда);

Для Каждого Данные Из МассивДанных Цикл
ПередаваемыйТекст = Новый ПередаваемыйТекст(Данные, Назначение);
Expand All @@ -452,7 +454,7 @@
Процедура ПрочитатьDataBinary(Команда)

МассивДанных = ЗначениеОпции(Команда, "data-binary");
Назначение = НазначениеПередаваемыхДанныхPOST(Команда);
Назначение = НазначениеПередаваемыхДанных(Команда);

Для Каждого Данные Из МассивДанных Цикл
Если Лев(Данные, 1) = "@" Тогда
Expand All @@ -471,7 +473,7 @@
Процедура ПрочитатьDataUrlencode(Команда)

МассивДанных = ЗначениеОпции(Команда, "data-urlencode");
Назначение = НазначениеПередаваемыхДанныхPOST(Команда);
Назначение = НазначениеПередаваемыхДанных(Команда);

Для Каждого Данные Из МассивДанных Цикл
ПозицияРавенства = СтрНайти(Данные, "=");
Expand Down Expand Up @@ -553,7 +555,7 @@
Процедура ПрочитатьОпициюJson(Команда)

МассивДанных = ЗначениеОпции(Команда, "json");
Назначение = НазначениеПередаваемыхДанныхPOST(Команда);
Назначение = НазначениеПередаваемыхДанных(Команда);

Для Каждого Данные Из МассивДанных Цикл

Expand Down Expand Up @@ -750,7 +752,7 @@

КонецПроцедуры

Функция НазначениеПередаваемыхДанныхPOST(Команда)
Функция НазначениеПередаваемыхДанных(Команда)
Если ЗначениеОпции(Команда, "get") = Истина Тогда
Возврат НазначенияПередаваемыхДанных.СтрокаЗапроса;
Иначе
Expand Down Expand Up @@ -1175,9 +1177,15 @@
КонецЕсли;

Если Не (НРег(АргументыКоманды[0]) = "curl") Тогда

НомерКомандыТекст = ?(КоличествоКоманд > 1, СтрШаблон("#%1 ", НомерКоманды), "");
Текст = СтрШаблон("Команда %1должна начинаться с ""curl"", но вместо этого начинается с %2", НомерКомандыТекст, АргументыКоманды[0]);

Текст = СтрШаблон("Команда %1должна начинаться с ""curl"", но вместо этого начинается с %2",
НомерКомандыТекст,
АргументыКоманды[0]);

ИсходящиеОшибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(Текст));

КонецЕсли;

КонецПроцедуры
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
Перем Результат; // Строка
Перем Результат; // Массив из Строка

#Область ПрограммныйИнтерфейс

Функция ПолучитьРезультат() Экспорт
Возврат СокрЛП(Результат);
Возврат СокрЛП(СтрСоединить(Результат));
КонецФункции

Функция Пустой() Экспорт
Возврат ПустаяСтрока(Результат);
Возврат Результат.Количество() = 0;
КонецФункции

Функция Очистить() Экспорт
Результат = "";
Результат.Очистить();
Возврат ЭтотОбъект;
КонецФункции

Функция ДобавитьСтроку(Строка,
Значение1 = Неопределено, Значение2 = Неопределено, Значение3 = Неопределено) Экспорт

Результат = Результат
+ Символы.ПС
+ СтрШаблон(Строка, Значение1, Значение2, Значение3);
Результат.Добавить(Символы.ПС);
Результат.Добавить(СтрШаблон(Строка, Значение1, Значение2, Значение3));

Возврат ЭтотОбъект;

Expand All @@ -34,10 +33,16 @@
КонецФункции

Функция ДобавитьПустуюСтроку(ТолькоПриОтсутствии = Истина) Экспорт
Если Прав(Результат, 1) <> Символы.ПС Или Не ТолькоПриОтсутствии Тогда
Результат = Результат + Символы.ПС;

ИндексПоследнего = Результат.ВГраница();

Если ИндексПоследнего >= 0 И Не Результат[ИндексПоследнего] = Символы.ПС
Или Не ТолькоПриОтсутствии Тогда
Результат.Добавить(Символы.ПС);
КонецЕсли;

Возврат ЭтотОбъект;

КонецФункции

Функция ПараметрыФункцииВСтроку(ПараметрыФункции) Экспорт
Expand Down Expand Up @@ -104,7 +109,7 @@
#Область СлужебныеПроцедурыИФункции

Процедура ПриСозданииОбъекта()
Результат = "";
Результат = Новый Массив();
КонецПроцедуры

Функция ЭкранироватьКавычки(Строка)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,4 +239,28 @@

КонецФункции

Функция СозданиеИнтернетПрокси(ОписаниеЗапроса, ИмяПараметра) Экспорт

Конструктор = Новый КонструкторПрограммногоКода();

ИспользоватьАутентификациюОС = ОписаниеЗапроса.ТипАутентификацииПрокси = ТипыАутентификацииПрокси.NTLM;

ПараметрыФункции = Новый Массив;
ПараметрыФункции.Добавить(Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ПроксиПротокол));
ПараметрыФункции.Добавить(Конструктор.ПараметрВСтроку(ОписаниеЗапроса.ПроксиСервер));
ПараметрыФункции.Добавить(Конструктор.НеобязательныйПараметрВСтроку(ОписаниеЗапроса.ПроксиПорт));
ПараметрыФункции.Добавить(Конструктор.НеобязательныйПараметрВСтроку(ОписаниеЗапроса.ПроксиПользователь));
ПараметрыФункции.Добавить(Конструктор.НеобязательныйПараметрВСтроку(ОписаниеЗапроса.ПроксиПароль));
ПараметрыФункции.Добавить(?(ИспользоватьАутентификациюОС, "", "Ложь")); // Значение по умолчанию Истина

Конструктор
.ДобавитьСтроку("%1 = Новый ИнтернетПрокси();", ИмяПараметра)
.ДобавитьСтроку("%1.Установить(%2);",
ИмяПараметра,
Конструктор.ПараметрыФункцииВСтроку(ПараметрыФункции));

Возврат Конструктор.ПолучитьРезультат();

КонецФункции

#КонецОбласти
12 changes: 12 additions & 0 deletions src/internal/Модули/ОбщегоНазначения.os
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,18 @@

КонецФункции

Функция ПротоколПроксиПоддерживатся(Прокси) Экспорт

ПоддерживаемыеПротоколыПрокси = Новый Массив();
ПоддерживаемыеПротоколыПрокси.Добавить(ПротоколыURL.HTTP);
ПоддерживаемыеПротоколыПрокси.Добавить(ПротоколыURL.HTTPS);
ПоддерживаемыеПротоколыПрокси.Добавить(ПротоколыURL.FTP);
ПоддерживаемыеПротоколыПрокси.Добавить(ПротоколыURL.FTPS);

Возврат ПоддерживаемыеПротоколыПрокси.Найти(Прокси) <> Неопределено;

КонецФункции

Функция ЕстьКритичныеОшибки(Ошибки) Экспорт
Для Каждого Ошибка Из Ошибки Цикл
Если Ошибка.Критичная Тогда
Expand Down
Loading
Loading