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"] Тогда
|
Если Результат["result"] Тогда
|
||||||
|
|
||||||
Для Каждого Элемент Из Результат["data"] Цикл
|
Для Каждого Элемент Из Результат["data"] Цикл
|
||||||
Элемент.Вставить("args", ПолучитьАргументыОбработчика(Проект, КлючОбработчика));
|
|
||||||
|
Аргументы = ПолучитьАргументыОбработчика(Проект, КлючОбработчика);
|
||||||
|
Аргументы = ?(Аргументы["result"], Аргументы["data"], Аргументы);
|
||||||
|
|
||||||
|
Элемент.Вставить("args", Аргументы);
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КоличествоЗаписей = Результат["data"].Количество();
|
КоличествоЗаписей = Результат["data"].Количество();
|
||||||
@@ -687,7 +692,7 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПолучитьUUID(Знач Длина)
|
Функция ПолучитьUUID(Знач Длина)
|
||||||
Возврат вРег(Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина));
|
Возврат Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ИзменитьПоляОбработчика(Знач Проект, Знач КлючОбработчика, Знач СтруктураЗаписи)
|
Функция ИзменитьПоляОбработчика(Знач Проект, Знач КлючОбработчика, Знач СтруктураЗаписи)
|
||||||
|
@@ -59,7 +59,7 @@
|
|||||||
Ошибка = ОписаниеОшибки();
|
Ошибка = ОписаниеОшибки();
|
||||||
|
|
||||||
Контекст.Ответ.КодСостояния = 500;
|
Контекст.Ответ.КодСостояния = 500;
|
||||||
Контекст.Ответ.Записать(Ошибка);
|
Контекст.Ответ.ЗаписатьКакJson(Новый Структура("result,error", Ложь, Ошибка));
|
||||||
|
|
||||||
КонецПопытки
|
КонецПопытки
|
||||||
|
|
||||||
@@ -69,13 +69,55 @@
|
|||||||
|
|
||||||
Путь = Контекст.Запрос.Путь;
|
Путь = Контекст.Запрос.Путь;
|
||||||
|
|
||||||
Путь = ?(СтрНачинаетсяС(Путь , "/") , Прав(Путь, СтрДлина(Путь - 1)) , Путь);
|
Путь = ?(СтрНачинаетсяС(Путь , "/") , Прав(Путь, СтрДлина(Путь) - 1) , Путь);
|
||||||
Путь = ?(СтрЗаканчиваетсяНа(Путь, "/") , Лев(Путь , СтрДлина(Путь - 1)) , Путь);
|
Путь = ?(СтрЗаканчиваетсяНа(Путь, "/") , Лев(Путь , СтрДлина(Путь) - 1) , Путь);
|
||||||
|
|
||||||
ОписаниеОбработчика = МодульПрокси.ПолучитьОбработчикЗапросов(ПутьПроекта, Путь);
|
ОписаниеОбработчика = МодульПрокси.ПолучитьОбработчикЗапросов(ПутьПроекта, Путь);
|
||||||
|
|
||||||
Контекст.Ответ.КодСостояния = 200;
|
Если ОписаниеОбработчика["result"] Тогда
|
||||||
Контекст.Ответ.Записать("Hello world!");
|
|
||||||
|
Обработчик = ОписаниеОбработчика["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"] Тогда
|
Если Результат["result"] Тогда
|
||||||
|
|
||||||
Для Каждого Элемент Из Результат["data"] Цикл
|
Для Каждого Элемент Из Результат["data"] Цикл
|
||||||
Элемент.Вставить("args", ПолучитьАргументыОбработчика(Проект, КлючОбработчика));
|
|
||||||
|
Аргументы = ПолучитьАргументыОбработчика(Проект, КлючОбработчика);
|
||||||
|
Аргументы = ?(Аргументы["result"], Аргументы["data"], Аргументы);
|
||||||
|
|
||||||
|
Элемент.Вставить("args", Аргументы);
|
||||||
|
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КоличествоЗаписей = Результат["data"].Количество();
|
КоличествоЗаписей = Результат["data"].Количество();
|
||||||
@@ -687,7 +692,7 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПолучитьUUID(Знач Длина)
|
Функция ПолучитьUUID(Знач Длина)
|
||||||
Возврат вРег(Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина));
|
Возврат Лев(СтрЗаменить(Строка(Новый УникальныйИдентификатор), "-", ""), Длина);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ИзменитьПоляОбработчика(Знач Проект, Знач КлючОбработчика, Знач СтруктураЗаписи)
|
Функция ИзменитьПоляОбработчика(Знач Проект, Знач КлючОбработчика, Знач СтруктураЗаписи)
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// OneScript: ./OInt/tools/Classes/OPI_ОбработчикЗапросовПрокси.os
|
// OneScript: ./OInt/tools/Classes/OPI_ОбработчикЗапросовПрокси.os
|
||||||
|
|
||||||
// MIT License
|
// MIT License
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
Ошибка = ОписаниеОшибки();
|
Ошибка = ОписаниеОшибки();
|
||||||
|
|
||||||
Контекст.Ответ.КодСостояния = 500;
|
Контекст.Ответ.КодСостояния = 500;
|
||||||
Контекст.Ответ.Записать(Ошибка);
|
Контекст.Ответ.ЗаписатьКакJson(Новый Структура("result,error", Ложь, Ошибка));
|
||||||
|
|
||||||
КонецПопытки
|
КонецПопытки
|
||||||
|
|
||||||
@@ -69,13 +69,55 @@
|
|||||||
|
|
||||||
Путь = Контекст.Запрос.Путь;
|
Путь = Контекст.Запрос.Путь;
|
||||||
|
|
||||||
Путь = ?(СтрНачинаетсяС(Путь , "/") , Прав(Путь, СтрДлина(Путь - 1)) , Путь);
|
Путь = ?(СтрНачинаетсяС(Путь , "/") , Прав(Путь, СтрДлина(Путь) - 1) , Путь);
|
||||||
Путь = ?(СтрЗаканчиваетсяНа(Путь, "/") , Лев(Путь , СтрДлина(Путь - 1)) , Путь);
|
Путь = ?(СтрЗаканчиваетсяНа(Путь, "/") , Лев(Путь , СтрДлина(Путь) - 1) , Путь);
|
||||||
|
|
||||||
ОписаниеОбработчика = МодульПрокси.ПолучитьОбработчикЗапросов(ПутьПроекта, Путь);
|
ОписаниеОбработчика = МодульПрокси.ПолучитьОбработчикЗапросов(ПутьПроекта, Путь);
|
||||||
|
|
||||||
Контекст.Ответ.КодСостояния = 200;
|
Если ОписаниеОбработчика["result"] Тогда
|
||||||
Контекст.Ответ.Записать("Hello world!");
|
|
||||||
|
Обработчик = ОписаниеОбработчика["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