You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-10 22:41:43 +02:00
PXY: доработка класса обработки
This commit is contained in:
13077
service/dictionaries/en.json
vendored
13077
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
@@ -221,7 +221,12 @@
|
||||
Если Результат["result"] Тогда
|
||||
|
||||
Для Каждого Элемент Из Результат["data"] Цикл
|
||||
Элемент.Вставить("args", ПолучитьАргументыОбработчика(Проект, КлючОбработчика));
|
||||
|
||||
Аргументы = ПолучитьАргументыОбработчика(Проект, КлючОбработчика);
|
||||
Аргументы = ?(Аргументы["result"], Аргументы["data"], Аргументы);
|
||||
|
||||
Элемент.Вставить("args", Аргументы);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КоличествоЗаписей = Результат["data"].Количество();
|
||||
@@ -687,7 +692,7 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьUUID(Знач Длина)
|
||||
Возврат вРег(Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина));
|
||||
Возврат Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина);
|
||||
КонецФункции
|
||||
|
||||
Функция ИзменитьПоляОбработчика(Знач Проект, Знач КлючОбработчика, Знач СтруктураЗаписи)
|
||||
|
@@ -59,7 +59,7 @@
|
||||
Ошибка = ОписаниеОшибки();
|
||||
|
||||
Контекст.Ответ.КодСостояния = 500;
|
||||
Контекст.Ответ.Записать(Ошибка);
|
||||
Контекст.Ответ.ЗаписатьКакJson(Новый Структура("result,error", Ложь, Ошибка));
|
||||
|
||||
КонецПопытки
|
||||
|
||||
@@ -69,13 +69,55 @@
|
||||
|
||||
Путь = Контекст.Запрос.Путь;
|
||||
|
||||
Путь = ?(СтрНачинаетсяС(Путь , "/") , Прав(Путь, СтрДлина(Путь - 1)) , Путь);
|
||||
Путь = ?(СтрЗаканчиваетсяНа(Путь, "/") , Лев(Путь , СтрДлина(Путь - 1)) , Путь);
|
||||
Путь = ?(СтрНачинаетсяС(Путь , "/") , Прав(Путь, СтрДлина(Путь) - 1) , Путь);
|
||||
Путь = ?(СтрЗаканчиваетсяНа(Путь, "/") , Лев(Путь , СтрДлина(Путь) - 1) , Путь);
|
||||
|
||||
ОписаниеОбработчика = МодульПрокси.ПолучитьОбработчикЗапросов(ПутьПроекта, Путь);
|
||||
|
||||
Контекст.Ответ.КодСостояния = 200;
|
||||
Контекст.Ответ.Записать("Hello world!");
|
||||
Если ОписаниеОбработчика["result"] Тогда
|
||||
|
||||
Обработчик = ОписаниеОбработчика["data"];
|
||||
Обработчик = ?(ТипЗнч(Обработчик) = Тип("Массив"), Обработчик[0], Обработчик);
|
||||
|
||||
ВыполнитьОбработку(Контекст, Обработчик);
|
||||
|
||||
Иначе
|
||||
ОшибкаОбработки(Контекст, 404, "Handler not found!");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ВыполнитьОбработку(Контекст, Обработчик)
|
||||
|
||||
Метод = вРег(Контекст.Запрос.Метод);
|
||||
|
||||
Если Не Метод = вРег(Обработчик["method"]) Тогда
|
||||
ОшибкаОбработки(Контекст, 405, "Method not allowed for this handler");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Метод = "GET" Тогда
|
||||
ВыполнитьОбработкуGet(Контекст, Обработчик);
|
||||
Иначе
|
||||
ОшибкаОбработки(Контекст, 405, "Method not allowed for this handler");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВыполнитьОбработкуGet(Контекст, Обработчик)
|
||||
|
||||
Контекст.Ответ.ЗаписатьКакJson(Обработчик);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОшибкаОбработки(Контекст, Код, Текст)
|
||||
|
||||
Контекст.Ответ.КодСостояния = Код;
|
||||
Контекст.Ответ.ЗаписатьКакJson(Новый Структура("result,error", Ложь, Текст));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@@ -2169,9 +2169,9 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||
|
||||
|
||||
Модуль = Вычислить(Имя);
|
||||
|
||||
|
||||
Возврат Модуль;
|
||||
КонецФункции
|
||||
|
||||
|
@@ -221,7 +221,12 @@
|
||||
Если Результат["result"] Тогда
|
||||
|
||||
Для Каждого Элемент Из Результат["data"] Цикл
|
||||
Элемент.Вставить("args", ПолучитьАргументыОбработчика(Проект, КлючОбработчика));
|
||||
|
||||
Аргументы = ПолучитьАргументыОбработчика(Проект, КлючОбработчика);
|
||||
Аргументы = ?(Аргументы["result"], Аргументы["data"], Аргументы);
|
||||
|
||||
Элемент.Вставить("args", Аргументы);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КоличествоЗаписей = Результат["data"].Количество();
|
||||
@@ -687,7 +692,7 @@
|
||||
КонецФункции
|
||||
|
||||
Функция ПолучитьUUID(Знач Длина)
|
||||
Возврат вРег(Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина));
|
||||
Возврат Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина);
|
||||
КонецФункции
|
||||
|
||||
Функция ИзменитьПоляОбработчика(Знач Проект, Знач КлючОбработчика, Знач СтруктураЗаписи)
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tools/Classes/OPI_ОбработчикЗапросовПрокси.os
|
||||
// OneScript: ./OInt/tools/Classes/OPI_ОбработчикЗапросовПрокси.os
|
||||
|
||||
// MIT License
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
Ошибка = ОписаниеОшибки();
|
||||
|
||||
Контекст.Ответ.КодСостояния = 500;
|
||||
Контекст.Ответ.Записать(Ошибка);
|
||||
Контекст.Ответ.ЗаписатьКакJson(Новый Структура("result,error", Ложь, Ошибка));
|
||||
|
||||
КонецПопытки
|
||||
|
||||
@@ -69,13 +69,55 @@
|
||||
|
||||
Путь = Контекст.Запрос.Путь;
|
||||
|
||||
Путь = ?(СтрНачинаетсяС(Путь , "/") , Прав(Путь, СтрДлина(Путь - 1)) , Путь);
|
||||
Путь = ?(СтрЗаканчиваетсяНа(Путь, "/") , Лев(Путь , СтрДлина(Путь - 1)) , Путь);
|
||||
Путь = ?(СтрНачинаетсяС(Путь , "/") , Прав(Путь, СтрДлина(Путь) - 1) , Путь);
|
||||
Путь = ?(СтрЗаканчиваетсяНа(Путь, "/") , Лев(Путь , СтрДлина(Путь) - 1) , Путь);
|
||||
|
||||
ОписаниеОбработчика = МодульПрокси.ПолучитьОбработчикЗапросов(ПутьПроекта, Путь);
|
||||
|
||||
Контекст.Ответ.КодСостояния = 200;
|
||||
Контекст.Ответ.Записать("Hello world!");
|
||||
Если ОписаниеОбработчика["result"] Тогда
|
||||
|
||||
Обработчик = ОписаниеОбработчика["data"];
|
||||
Обработчик = ?(ТипЗнч(Обработчик) = Тип("Массив"), Обработчик[0], Обработчик);
|
||||
|
||||
ВыполнитьОбработку(Контекст, Обработчик);
|
||||
|
||||
Иначе
|
||||
ОшибкаОбработки(Контекст, 404, "Handler not found!");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Процедура ВыполнитьОбработку(Контекст, Обработчик)
|
||||
|
||||
Метод = вРег(Контекст.Запрос.Метод);
|
||||
|
||||
Если Не Метод = вРег(Обработчик["method"]) Тогда
|
||||
ОшибкаОбработки(Контекст, 405, "Method not allowed for this handler");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если Метод = "GET" Тогда
|
||||
ВыполнитьОбработкуGet(Контекст, Обработчик);
|
||||
Иначе
|
||||
ОшибкаОбработки(Контекст, 405, "Method not allowed for this handler");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВыполнитьОбработкуGet(Контекст, Обработчик)
|
||||
|
||||
Контекст.Ответ.ЗаписатьКакJson(Обработчик);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОшибкаОбработки(Контекст, Код, Текст)
|
||||
|
||||
Контекст.Ответ.КодСостояния = Код;
|
||||
Контекст.Ответ.ЗаписатьКакJson(Новый Структура("result,error", Ложь, Текст));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
Reference in New Issue
Block a user