You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
PXY: Обработка GET запросов
This commit is contained in:
4
ci/os/internal/Modules/МетодыCLI.os
vendored
4
ci/os/internal/Modules/МетодыCLI.os
vendored
@@ -129,7 +129,7 @@
|
||||
| Возврат ОбщаяТаблица;
|
||||
|
|
||||
|КонецФункции
|
||||
|
||||
|
|
||||
|Функция СформироватьСтрокуВызоваМетода(Знач ПереданныеПараметры, Знач Команда, Знач Метод) Экспорт
|
||||
|
|
||||
| Модуль = СоответствиеКоманд.Получить(Команда);
|
||||
@@ -191,7 +191,7 @@
|
||||
| Возврат Новый Структура(""Ошибка,Результат"", Ложь, ТекстВыполнения);
|
||||
|
|
||||
|КонецФункции
|
||||
|
||||
|
|
||||
|Функция ТребуетсяОбработкаУправляющихПоследовательностей(Знач ИмяПараметра, Знач ЗначениеПараметра)
|
||||
|
|
||||
| ЗначениеПараметраСокр = СокрЛП(ЗначениеПараметра);
|
||||
|
@@ -41,6 +41,7 @@
|
||||
|
||||
// Раскомментировать, если выполняется OneScript
|
||||
// #Использовать "../../tools"
|
||||
// #Использовать "../../../cli/data"
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
@@ -91,9 +92,11 @@
|
||||
|
||||
ВебСервер = Новый(ТипСервер, ПараметрыСервера);
|
||||
Обработчик = Новый("OPI_ОбработчикЗапросовПрокси");
|
||||
СоставОПИ = Новый("СоставБиблиотеки");
|
||||
|
||||
Обработчик.ПутьПроекта = Проект;
|
||||
Обработчик.МодульПрокси = ЭтотОбъект;
|
||||
Обработчик.ОбъектОПИ = СоставОПИ;
|
||||
|
||||
ВебСервер.ДобавитьОбработчикЗапросов(Обработчик, "ОсновнаяОбработка");
|
||||
ВебСервер.Запустить();
|
||||
|
@@ -45,6 +45,7 @@
|
||||
|
||||
Перем ПутьПроекта Экспорт;
|
||||
Перем МодульПрокси Экспорт;
|
||||
Перем ОбъектОПИ Экспорт;
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -112,9 +113,55 @@
|
||||
|
||||
Запрос = Контекст.Запрос;
|
||||
Параметры = Запрос.Параметры;
|
||||
Аргументы = Обработчик["args"];
|
||||
|
||||
АргументыСтрогие = Новый Соответствие;
|
||||
АргументыНестрогие = Новый Соответствие;
|
||||
|
||||
Для Каждого Аргумент Из Аргументы Цикл
|
||||
|
||||
Если Аргумент["strict"] = 1 Тогда
|
||||
АргументыСтрогие.Вставить(Аргумент["arg"], Аргумент["value"]);
|
||||
Иначе
|
||||
АргументыНестрогие.Вставить(Аргумент["arg"], Аргумент["value"]);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КотелПараметров = АргументыНестрогие;
|
||||
|
||||
Для Каждого Параметр Из Параметры Цикл
|
||||
КотелПараметров.Вставить(Параметр.Ключ, Параметр.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Аргумент Из АргументыСтрогие Цикл
|
||||
КотелПараметров.Вставить(Аргумент.Ключ, Аргумент.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
ВыполнитьУниверсальнуюОбработку(Контекст
|
||||
, Обработчик["library"]
|
||||
, Обработчик["function"]
|
||||
, КотелПараметров);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Контекст.Ответ.ЗаписатьКакJson(Обработчик);
|
||||
Процедура ВыполнитьУниверсальнуюОбработку(Контекст, Команда, Метод, Параметры)
|
||||
|
||||
СтруктураВыполнения = ОбъектОПИ.СформироватьСтрокуВызоваМетода(Параметры, Команда, Метод);
|
||||
|
||||
Если СтруктураВыполнения["Ошибка"] Тогда
|
||||
Ответ = Новый Структура("result,error", Ложь, "Error in a handler command or method");
|
||||
Иначе
|
||||
|
||||
ТекстВыполнения = СтруктураВыполнения["Результат"];
|
||||
УстановитьБезопасныйРежим(Истина);
|
||||
Выполнить(ТекстВыполнения);
|
||||
УстановитьБезопасныйРежим(Ложь);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Контекст.Ответ.ЗаписатьКакJson(Ответ);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОшибкаОбработки(Контекст, Код, Текст)
|
||||
|
@@ -1,6 +1,5 @@
|
||||
#Использовать cmdline
|
||||
// #Использовать oint
|
||||
#Использовать "../../../OInt"
|
||||
#Использовать oint
|
||||
#Использовать "../../tools"
|
||||
#Использовать "../../help"
|
||||
#Использовать "../../data"
|
||||
|
Reference in New Issue
Block a user