1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-10 22:41:43 +02:00

Main build (Jenkins)

This commit is contained in:
Vitaly the Alpaca (bot)
2025-02-02 19:57:57 +03:00
parent a4ed25830a
commit 49543dfde9
4 changed files with 6659 additions and 6629 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -53,19 +53,25 @@ Var OPIObject Export;
Procedure MainHandler(Context, NexHandler) Export Procedure MainHandler(Context, NexHandler) Export
Try Try
ProcessRequest(Context); Result = ProcessRequest(Context);
Except Except
Error = ErrorDescription(); Error = BriefErrorDescription(ErrorInfo());
Context.Response.StatusCode = 500; Context.Response.StatusCode = 500;
Context.Response.WriteAsJson(New Structure("result,error", False, "OneScript exception: " + Error));
EndTry Result = New Structure("result,error", False, "OneScript exception: " + Error);
EndTry;
JSON = OPI_Tools.JSONString(Result);
Context.Response.ContentType = "application/json;charset=UTF8";
Context.Response.Write(JSON);
EndProcedure EndProcedure
Procedure ProcessRequest(Context) Function ProcessRequest(Context)
Path = Context.Request.Path; Path = Context.Request.Path;
@@ -79,36 +85,39 @@ Procedure ProcessRequest(Context)
Handler = HandlerDescription["data"]; Handler = HandlerDescription["data"];
Handler = ?(TypeOf(Handler) = Type("Array"), Handler[0], Handler); Handler = ?(TypeOf(Handler) = Type("Array"), Handler[0], Handler);
ExecuteProcessing(Context, Handler); Result = ExecuteProcessing(Context, Handler);
Else Else
ProcessingError(Context, 404, "Handler not found!"); Result = ProcessingError(Context, 404, "Handler not found!");
EndIf; EndIf;
EndProcedure Return Result;
EndFunction
#EndRegion #EndRegion
#Region Private #Region Private
Procedure ExecuteProcessing(Context, Handler) Function ExecuteProcessing(Context, Handler)
Method = Upper(Context.Request.Method); Method = Upper(Context.Request.Method);
If Not Method = Upper(Handler["method"]) Then If Not Method = Upper(Handler["method"]) Then
ProcessingError(Context, 405, "Method not allowed for this handler"); Return ProcessingError(Context, 405, "Method not allowed for this handler");
Return;
EndIf; EndIf;
If Method = "GET" Then If Method = "GET" Then
ExecuteProcessingGet(Context, Handler); Result = ExecuteProcessingGet(Context, Handler);
Else Else
ProcessingError(Context, 405, "Method not allowed for this handler"); Result = ProcessingError(Context, 405, "Method not allowed for this handler");
EndIf; EndIf;
EndProcedure Return Result;
Procedure ExecuteProcessingGet(Context, Handler) EndFunction
Function ExecuteProcessingGet(Context, Handler)
Request = Context.Request; Request = Context.Request;
Parameters = Request.Parameters; Parameters = Request.Parameters;
@@ -148,14 +157,14 @@ Procedure ExecuteProcessingGet(Context, Handler)
ParametersBoiler.Insert(Argument.Key, Argument.Value); ParametersBoiler.Insert(Argument.Key, Argument.Value);
EndDo; EndDo;
ExecuteUniversalProcessing(Context Return ExecuteUniversalProcessing(Context
, Handler["library"] , Handler["library"]
, Handler["function"] , Handler["function"]
, ParametersBoiler); , ParametersBoiler);
EndProcedure EndFunction
Procedure ExecuteUniversalProcessing(Context, Command, Method, Parameters) Function ExecuteUniversalProcessing(Context, Command, Method, Parameters)
ExecutionStructure = OPIObject.FormMethodCallString(Parameters, Command, Method); ExecutionStructure = OPIObject.FormMethodCallString(Parameters, Command, Method);
@@ -174,15 +183,16 @@ Procedure ExecuteUniversalProcessing(Context, Command, Method, Parameters)
EndIf; EndIf;
Context.Response.WriteAsJson(Response); Return Response;
EndProcedure EndFunction
Procedure ProcessingError(Context, Code, Text) Function ProcessingError(Context, Code, Text)
Context.Response.StatusCode = Code; Context.Response.StatusCode = Code;
Context.Response.WriteAsJson(New Structure("result,error", False, Text));
EndProcedure Return New Structure("result,error", False, Text);
EndFunction
#EndRegion #EndRegion

View File

@@ -53,19 +53,25 @@ Var OPIObject Export;
Procedure MainHandler(Context, NexHandler) Export Procedure MainHandler(Context, NexHandler) Export
Try Try
ProcessRequest(Context); Result = ProcessRequest(Context);
Except Except
Error = ErrorDescription(); Error = BriefErrorDescription(ErrorInfo());
Context.Response.StatusCode = 500; Context.Response.StatusCode = 500;
Context.Response.WriteAsJson(New Structure("result,error", False, "OneScript exception: " + Error));
EndTry Result = New Structure("result,error", False, "OneScript exception: " + Error);
EndTry;
JSON = OPI_Tools.JSONString(Result);
Context.Response.ContentType = "application/json;charset=UTF8";
Context.Response.Write(JSON);
EndProcedure EndProcedure
Procedure ProcessRequest(Context) Function ProcessRequest(Context)
Path = Context.Request.Path; Path = Context.Request.Path;
@@ -79,36 +85,39 @@ Procedure ProcessRequest(Context)
Handler = HandlerDescription["data"]; Handler = HandlerDescription["data"];
Handler = ?(TypeOf(Handler) = Type("Array"), Handler[0], Handler); Handler = ?(TypeOf(Handler) = Type("Array"), Handler[0], Handler);
ExecuteProcessing(Context, Handler); Result = ExecuteProcessing(Context, Handler);
Else Else
ProcessingError(Context, 404, "Handler not found!"); Result = ProcessingError(Context, 404, "Handler not found!");
EndIf; EndIf;
EndProcedure Return Result;
EndFunction
#EndRegion #EndRegion
#Region Private #Region Private
Procedure ExecuteProcessing(Context, Handler) Function ExecuteProcessing(Context, Handler)
Method = Upper(Context.Request.Method); Method = Upper(Context.Request.Method);
If Not Method = Upper(Handler["method"]) Then If Not Method = Upper(Handler["method"]) Then
ProcessingError(Context, 405, "Method not allowed for this handler"); Return ProcessingError(Context, 405, "Method not allowed for this handler");
Return;
EndIf; EndIf;
If Method = "GET" Then If Method = "GET" Then
ExecuteProcessingGet(Context, Handler); Result = ExecuteProcessingGet(Context, Handler);
Else Else
ProcessingError(Context, 405, "Method not allowed for this handler"); Result = ProcessingError(Context, 405, "Method not allowed for this handler");
EndIf; EndIf;
EndProcedure Return Result;
Procedure ExecuteProcessingGet(Context, Handler) EndFunction
Function ExecuteProcessingGet(Context, Handler)
Request = Context.Request; Request = Context.Request;
Parameters = Request.Parameters; Parameters = Request.Parameters;
@@ -148,14 +157,14 @@ Procedure ExecuteProcessingGet(Context, Handler)
ParametersBoiler.Insert(Argument.Key, Argument.Value); ParametersBoiler.Insert(Argument.Key, Argument.Value);
EndDo; EndDo;
ExecuteUniversalProcessing(Context Return ExecuteUniversalProcessing(Context
, Handler["library"] , Handler["library"]
, Handler["function"] , Handler["function"]
, ParametersBoiler); , ParametersBoiler);
EndProcedure EndFunction
Procedure ExecuteUniversalProcessing(Context, Command, Method, Parameters) Function ExecuteUniversalProcessing(Context, Command, Method, Parameters)
ExecutionStructure = OPIObject.FormMethodCallString(Parameters, Command, Method); ExecutionStructure = OPIObject.FormMethodCallString(Parameters, Command, Method);
@@ -174,15 +183,16 @@ Procedure ExecuteUniversalProcessing(Context, Command, Method, Parameters)
EndIf; EndIf;
Context.Response.WriteAsJson(Response); Return Response;
EndProcedure EndFunction
Procedure ProcessingError(Context, Code, Text) Function ProcessingError(Context, Code, Text)
Context.Response.StatusCode = Code; Context.Response.StatusCode = Code;
Context.Response.WriteAsJson(New Structure("result,error", False, Text));
EndProcedure Return New Structure("result,error", False, Text);
EndFunction
#EndRegion #EndRegion

View File

@@ -53,19 +53,25 @@
Процедура ОсновнаяОбработка(Контекст, СледующийОбработчик) Экспорт Процедура ОсновнаяОбработка(Контекст, СледующийОбработчик) Экспорт
Попытка Попытка
ОбработатьЗапрос(Контекст); Результат = ОбработатьЗапрос(Контекст);
Исключение Исключение
Ошибка = ОписаниеОшибки(); Ошибка = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
Контекст.Ответ.КодСостояния = 500; Контекст.Ответ.КодСостояния = 500;
Контекст.Ответ.ЗаписатьКакJson(Новый Структура("result,error", Ложь, "OneScript exception: " + Ошибка));
КонецПопытки Результат = Новый Структура("result,error", Ложь, "OneScript exception: " + Ошибка);
КонецПопытки;
JSON = OPI_Инструменты.JSONСтрокой(Результат);
Контекст.Ответ.ТипКонтента = "application/json;charset=UTF8";
Контекст.Ответ.Записать(JSON);
КонецПроцедуры КонецПроцедуры
Процедура ОбработатьЗапрос(Контекст) Функция ОбработатьЗапрос(Контекст)
Путь = Контекст.Запрос.Путь; Путь = Контекст.Запрос.Путь;
@@ -79,36 +85,39 @@
Обработчик = ОписаниеОбработчика["data"]; Обработчик = ОписаниеОбработчика["data"];
Обработчик = ?(ТипЗнч(Обработчик) = Тип("Массив"), Обработчик[0], Обработчик); Обработчик = ?(ТипЗнч(Обработчик) = Тип("Массив"), Обработчик[0], Обработчик);
ВыполнитьОбработку(Контекст, Обработчик); Результат = ВыполнитьОбработку(Контекст, Обработчик);
Иначе Иначе
ОшибкаОбработки(Контекст, 404, "Handler not found!"); Результат = ОшибкаОбработки(Контекст, 404, "Handler not found!");
КонецЕсли; КонецЕсли;
КонецПроцедуры Возврат Результат;
КонецФункции
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции
Процедура ВыполнитьОбработку(Контекст, Обработчик) Функция ВыполнитьОбработку(Контекст, Обработчик)
Метод = вРег(Контекст.Запрос.Метод); Метод = вРег(Контекст.Запрос.Метод);
Если Не Метод = вРег(Обработчик["method"]) Тогда Если Не Метод = вРег(Обработчик["method"]) Тогда
ОшибкаОбработки(Контекст, 405, "Method not allowed for this handler"); Возврат ОшибкаОбработки(Контекст, 405, "Method not allowed for this handler");
Возврат;
КонецЕсли; КонецЕсли;
Если Метод = "GET" Тогда Если Метод = "GET" Тогда
ВыполнитьОбработкуGet(Контекст, Обработчик); Результат = ВыполнитьОбработкуGet(Контекст, Обработчик);
Иначе Иначе
ОшибкаОбработки(Контекст, 405, "Method not allowed for this handler"); Результат = ОшибкаОбработки(Контекст, 405, "Method not allowed for this handler");
КонецЕсли; КонецЕсли;
КонецПроцедуры Возврат Результат;
Процедура ВыполнитьОбработкуGet(Контекст, Обработчик) КонецФункции
Функция ВыполнитьОбработкуGet(Контекст, Обработчик)
Запрос = Контекст.Запрос; Запрос = Контекст.Запрос;
Параметры = Запрос.Параметры; Параметры = Запрос.Параметры;
@@ -148,14 +157,14 @@
КотелПараметров.Вставить(Аргумент.Ключ, Аргумент.Значение); КотелПараметров.Вставить(Аргумент.Ключ, Аргумент.Значение);
КонецЦикла; КонецЦикла;
ВыполнитьУниверсальнуюОбработку(Контекст Возврат ВыполнитьУниверсальнуюОбработку(Контекст
, Обработчик["library"] , Обработчик["library"]
, Обработчик["function"] , Обработчик["function"]
, КотелПараметров); , КотелПараметров);
КонецПроцедуры КонецФункции
Процедура ВыполнитьУниверсальнуюОбработку(Контекст, Команда, Метод, Параметры) Функция ВыполнитьУниверсальнуюОбработку(Контекст, Команда, Метод, Параметры)
СтруктураВыполнения = ОбъектОПИ.СформироватьСтрокуВызоваМетода(Параметры, Команда, Метод); СтруктураВыполнения = ОбъектОПИ.СформироватьСтрокуВызоваМетода(Параметры, Команда, Метод);
@@ -174,15 +183,16 @@
КонецЕсли; КонецЕсли;
Контекст.Ответ.ЗаписатьКакJson(Ответ); Возврат Ответ;
КонецПроцедуры КонецФункции
Процедура ОшибкаОбработки(Контекст, Код, Текст) Функция ОшибкаОбработки(Контекст, Код, Текст)
Контекст.Ответ.КодСостояния = Код; Контекст.Ответ.КодСостояния = Код;
Контекст.Ответ.ЗаписатьКакJson(Новый Структура("result,error", Ложь, Текст));
КонецПроцедуры Возврат Новый Структура("result,error", Ложь, Текст);
КонецФункции
#КонецОбласти #КонецОбласти