You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
Проба proxy
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#Использовать "../../tools"
|
||||
#Использовать "../../help"
|
||||
#Использовать "../../data"
|
||||
#Использовать "internal"
|
||||
|
||||
Перем Версия; // Версия программы
|
||||
Перем Отладка; // Флаг вывода отладочной информации
|
||||
@@ -125,7 +126,7 @@
|
||||
Справка.ВывестиСправкуПоПараметрам(ПараметрыМетода);
|
||||
КонецЕсли;
|
||||
|
||||
ТекстВыполнения = СформироватьСтрокуВызоваМетода(Параметры, ПараметрыМетода, Модуль, Метод);
|
||||
ТекстВыполнения = ОбработкаКоманд.СформироватьСтрокуВызоваМетода(Параметры, ПараметрыМетода, Модуль, Метод);
|
||||
|
||||
Если Отладка Или Тестирование Тогда
|
||||
Сообщить(ТекстВыполнения, СтатусСообщения.Внимание);
|
||||
@@ -174,55 +175,6 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция СформироватьСтрокуВызоваМетода(Знач ПереданныеПараметры, Знач ПараметрыМетода, Знач Модуль, Знач Метод)
|
||||
|
||||
ТекстВыполнения = "";
|
||||
СтрокаВызова = Модуль + "." + Метод + "(";
|
||||
Счетчик = 0;
|
||||
|
||||
Для Каждого НеобходимыйПараметр Из ПараметрыМетода Цикл
|
||||
|
||||
ИмяПараметра = НеобходимыйПараметр.Параметр;
|
||||
ЗначениеПараметра = ПереданныеПараметры.Получить(ИмяПараметра);
|
||||
|
||||
Если ЗначениеЗаполнено(ЗначениеПараметра) Тогда
|
||||
|
||||
ИмяПараметра = "Параметр" + СтрЗаменить(ИмяПараметра, "--", "_");
|
||||
|
||||
ТекстВыполнения = ТекстВыполнения
|
||||
+ Символы.ПС
|
||||
+ ИмяПараметра
|
||||
+ " = """
|
||||
+ СтрЗаменить(ЗначениеПараметра, """", """""")
|
||||
+ """;";
|
||||
|
||||
Если ТребуетсяОбработкаУправляющихПоследовательностей(ИмяПараметра, ЗначениеПараметра) Тогда
|
||||
|
||||
ТекстВыполнения = ТекстВыполнения + "
|
||||
|OPI_Инструменты.ЗаменитьУправляющиеПоследовательности(" + ИмяПараметра + ");
|
||||
|";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаВызова = СтрокаВызова + ИмяПараметра + ", ";
|
||||
Счетчик = Счетчик + 1;
|
||||
|
||||
Иначе
|
||||
СтрокаВызова = СтрокаВызова + " , ";
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЛишниеСимволы = 2;
|
||||
СтрокаВызова = Лев(СтрокаВызова, СтрДлина(СтрокаВызова) - ЛишниеСимволы);
|
||||
СтрокаВызова = СтрокаВызова + ");";
|
||||
СтрокаВызова = "Ответ = " + СтрокаВызова;
|
||||
ТекстВыполнения = ТекстВыполнения + Символы.ПС + СтрокаВызова;
|
||||
|
||||
Возврат ТекстВыполнения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура УстановитьРежимОтладки(Знач Параметры)
|
||||
|
||||
Если Параметры["--debug"] Тогда
|
||||
@@ -354,18 +306,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТребуетсяОбработкаУправляющихПоследовательностей(Знач ИмяПараметра, Знач ЗначениеПараметра)
|
||||
|
||||
ФайлПараметра = Новый Файл(ЗначениеПараметра);
|
||||
ЗначениеПараметраСокр = СокрЛП(ЗначениеПараметра);
|
||||
|
||||
Возврат Не СтрНачинаетсяС(ЗначениеПараметраСокр, "{")
|
||||
И Не СтрНачинаетсяС(ЗначениеПараметраСокр, "[")
|
||||
И Не ФайлПараметра.Существует()
|
||||
И Не ИмяПараметра = "Параметр_out";
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
60
src/ru/cli/core/Classes/internal/Modules/ОбработкаКоманд.os
Normal file
60
src/ru/cli/core/Classes/internal/Modules/ОбработкаКоманд.os
Normal file
@@ -0,0 +1,60 @@
|
||||
Функция СформироватьСтрокуВызоваМетода(Знач ПереданныеПараметры, Знач ПараметрыМетода, Знач Модуль, Знач Метод) Экспорт
|
||||
|
||||
ТекстВыполнения = "";
|
||||
СтрокаВызова = Модуль + "." + Метод + "(";
|
||||
Счетчик = 0;
|
||||
|
||||
Для Каждого НеобходимыйПараметр Из ПараметрыМетода Цикл
|
||||
|
||||
ИмяПараметра = НеобходимыйПараметр.Параметр;
|
||||
ЗначениеПараметра = ПереданныеПараметры.Получить(ИмяПараметра);
|
||||
|
||||
Если ЗначениеЗаполнено(ЗначениеПараметра) Тогда
|
||||
|
||||
ИмяПараметра = "Параметр" + СтрЗаменить(ИмяПараметра, "--", "_");
|
||||
|
||||
ТекстВыполнения = ТекстВыполнения
|
||||
+ Символы.ПС
|
||||
+ ИмяПараметра
|
||||
+ " = """
|
||||
+ СтрЗаменить(ЗначениеПараметра, """", """""")
|
||||
+ """;";
|
||||
|
||||
Если ТребуетсяОбработкаУправляющихПоследовательностей(ИмяПараметра, ЗначениеПараметра) Тогда
|
||||
|
||||
ТекстВыполнения = ТекстВыполнения + "
|
||||
|OPI_Инструменты.ЗаменитьУправляющиеПоследовательности(" + ИмяПараметра + ");
|
||||
|";
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаВызова = СтрокаВызова + ИмяПараметра + ", ";
|
||||
Счетчик = Счетчик + 1;
|
||||
|
||||
Иначе
|
||||
СтрокаВызова = СтрокаВызова + " , ";
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЛишниеСимволы = 2;
|
||||
СтрокаВызова = Лев(СтрокаВызова, СтрДлина(СтрокаВызова) - ЛишниеСимволы);
|
||||
СтрокаВызова = СтрокаВызова + ");";
|
||||
СтрокаВызова = "Ответ = " + СтрокаВызова;
|
||||
ТекстВыполнения = ТекстВыполнения + Символы.ПС + СтрокаВызова;
|
||||
|
||||
Возврат ТекстВыполнения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТребуетсяОбработкаУправляющихПоследовательностей(Знач ИмяПараметра, Знач ЗначениеПараметра)
|
||||
|
||||
ФайлПараметра = Новый Файл(ЗначениеПараметра);
|
||||
ЗначениеПараметраСокр = СокрЛП(ЗначениеПараметра);
|
||||
|
||||
Возврат Не СтрНачинаетсяС(ЗначениеПараметраСокр, "{")
|
||||
И Не СтрНачинаетсяС(ЗначениеПараметраСокр, "[")
|
||||
И Не ФайлПараметра.Существует()
|
||||
И Не ИмяПараметра = "Параметр_out";
|
||||
|
||||
КонецФункции
|
@@ -0,0 +1,3 @@
|
||||
Процедура ОсновнаяОбработка(Контекст, СледующийОбработчик) Экспорт
|
||||
|
||||
КонецПроцедуры
|
37
src/ru/cli/tools/Modules/ПроксиСервер.os
Normal file
37
src/ru/cli/tools/Modules/ПроксиСервер.os
Normal file
@@ -0,0 +1,37 @@
|
||||
// CLI: proxy
|
||||
|
||||
#Использовать "internal"
|
||||
#Использовать "oint"
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Разложить JSON на параметры
|
||||
// Показывает значения, которые можно получить из переданного JSON и возвращает
|
||||
//
|
||||
// Параметры:
|
||||
// JSON - Строка - JSON данные - json
|
||||
// МаксимальныйУровеньВложенности - Число - Ограничение на ур. вложенности разбора. На всю глубину по умолчанию - nesting
|
||||
// ИмяПараметра - Строка - Имя поля для получения. Выводит весь список, если не указано - name
|
||||
// Кодировка - Строка - Кодировка, в которой записаны JSON данные - enc
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - пустая строка
|
||||
Функция Запустить(Знач Порт, Знач Проект, Знач Пароль) Экспорт
|
||||
|
||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Порт);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Проект);
|
||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Пароль);
|
||||
|
||||
ВебСервер = Новый ВебСервер(Порт);
|
||||
Обработчик = Новый ОбработчикЗапросов();
|
||||
|
||||
ВебСервер.ДобавитьОбработчикЗапросов(Обработчик, "ОсновнаяОбработка");
|
||||
ВебСервер.Запустить();
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#КонецОбласти
|
Reference in New Issue
Block a user