Skip to content

Commit

Permalink
Merge pull request #146 from Stivo182/feature/connector-http
Browse files Browse the repository at this point in the history
Рефакторинг кода
  • Loading branch information
Stivo182 authored Jan 18, 2025
2 parents 904532e + aa123b8 commit 177c98d
Show file tree
Hide file tree
Showing 9 changed files with 529 additions and 609 deletions.

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

0 comments on commit 177c98d

Please sign in to comment.