1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-21 21:27:27 +02:00

Дополнение словаря

This commit is contained in:
Anton Titovets 2025-02-04 20:08:59 +03:00
parent 7cd56951be
commit 24d2cf9ebe
4 changed files with 6469 additions and 6460 deletions

File diff suppressed because it is too large Load Diff

@ -113,10 +113,10 @@
// Добавляет новый обработчик в проект // Добавляет новый обработчик в проект
// //
// Параметры: // Параметры:
// Проект - Строка - Путь к файлу проекта - proj // Проект - Строка - Путь к файлу проекта - proj
// БиблиотекаОПИ - Строка - Имя библиотеки в CLI формате - lib // БиблиотекаОПИ - Строка - Имя библиотеки в CLI формате - lib
// ФункцияОПИ - Строка - Имя функции Открытого пакета интеграций - func // ФункцияОПИ - Строка - Имя функции Открытого пакета интеграций - func
// Метод - Строка - HTTP метод, который будет обрабатывать обработчик: GET, POST, MULTIPART - method // Метод - Строка - HTTP метод, который будет обрабатывать обработчик: GET, POST, FORM - method
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура Из КлючИЗначение - Результат добавления обработчика // Структура Из КлючИЗначение - Результат добавления обработчика
@ -126,6 +126,7 @@
OPI_ПреобразованиеТипов.ПолучитьСтроку(ФункцияОПИ); OPI_ПреобразованиеТипов.ПолучитьСтроку(ФункцияОПИ);
OPI_ПреобразованиеТипов.ПолучитьСтроку(Метод); OPI_ПреобразованиеТипов.ПолучитьСтроку(Метод);
Метод = вРег(Метод);
Результат = ПроверитьСуществованиеПроекта(Проект); Результат = ПроверитьСуществованиеПроекта(Проект);
Если Не Результат["result"] Тогда Если Не Результат["result"] Тогда
@ -133,11 +134,15 @@
Иначе Иначе
Проект = Результат["path"]; Проект = Результат["path"];
КонецЕсли; КонецЕсли;
Если Не Метод = "GET" И Не Метод = "POST" И Не Метод = "FORM" Тогда
Возврат СформироватьОтвет(Ложь, СтрШаблон("Неподдерживаемый метод %1!", Метод));
КонецЕсли;
СекретныйКлюч = ПолучитьУникальныйКлючОбработчика(Проект); СекретныйКлюч = ПолучитьУникальныйКлючОбработчика(Проект);
Если ТипЗнч(СекретныйКлюч) = Тип("Соответствие") Тогда Если ТипЗнч(СекретныйКлюч) = Тип("Соответствие") Тогда
СекретныйКлюч.Вставить("message", "Failed to generate a handler UID. Try again"); СекретныйКлюч.Вставить("message", "Не удалось сформировать UID обработчика. Попробуйте еще раз!");
Возврат СекретныйКлюч; Возврат СекретныйКлюч;
КонецЕсли; КонецЕсли;
@ -241,7 +246,7 @@
Иначе Иначе
Если КоличествоЗаписей = 0 Тогда Если КоличествоЗаписей = 0 Тогда
Результат = СформироватьОтвет(Ложь, "Handler not found"); Результат = СформироватьОтвет(Ложь, "Обработчик не найден!");
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@ -509,16 +514,16 @@
OPI_Инструменты.ВернутьУправляющиеПоследовательности(Путь); OPI_Инструменты.ВернутьУправляющиеПоследовательности(Путь);
ФайлПроекта = Новый Файл(Путь); ФайлПроекта = Новый Файл(Путь);
Текст = "The project file exists"; Текст = "Файл проекта существует!";
Результат = Истина; Результат = Истина;
Если Не ФайлПроекта.Существует() Тогда Если Не ФайлПроекта.Существует() Тогда
Текст = "Project file not found at the specified path"; Текст = "Файл проекта по указанному пути не найден!";
Результат = Ложь; Результат = Ложь;
КонецЕсли; КонецЕсли;
Если ФайлПроекта.ЭтоКаталог() Тогда Если ФайлПроекта.ЭтоКаталог() Тогда
Текст = "A directory path was passed, not a project file"; Текст = "Передан путь к каталогу, а не к файлу проекта!";
Результат = Ложь; Результат = Ложь;
КонецЕсли; КонецЕсли;
@ -557,7 +562,7 @@
Результат = СоздатьНовыйПроект(ПолныйПуть); Результат = СоздатьНовыйПроект(ПолныйПуть);
Если Результат["result"] Тогда Если Результат["result"] Тогда
Текст = "The project file was created successfully"; Текст = "Файл проекта успешно создан!";
Ответ = СформироватьОтвет(Истина, Текст, ПолныйПуть); Ответ = СформироватьОтвет(Истина, Текст, ПолныйПуть);
Иначе Иначе
Ответ = Результат; Ответ = Результат;
@ -565,7 +570,7 @@
Иначе Иначе
Текст = "The project file at the specified path already exists"; Текст = "Файл проекта по указанному пути уже существует!";
Ответ = СформироватьОтвет(Ложь, Текст, ПолныйПуть); Ответ = СформироватьОтвет(Ложь, Текст, ПолныйПуть);
КонецЕсли; КонецЕсли;
@ -717,7 +722,7 @@
, Проект); , Проект);
Иначе Иначе
Результат = СформироватьОтвет(Ложь, "Nothing to change"); Результат = СформироватьОтвет(Ложь, "Ничего не изменилось!");
КонецЕсли; КонецЕсли;
Возврат Результат; Возврат Результат;

@ -121,7 +121,7 @@
Метод = вРег(Контекст.Запрос.Метод); Метод = вРег(Контекст.Запрос.Метод);
МетодОбработчика = вРег(Обработчик["method"]); МетодОбработчика = вРег(Обработчик["method"]);
МетодПроверки = ?(МетодОбработчика = "MULTIPART", "POST", МетодОбработчика); МетодПроверки = ?(МетодОбработчика = "FORM", "POST", МетодОбработчика);
Если Не Метод = МетодПроверки Тогда Если Не Метод = МетодПроверки Тогда
Возврат ОшибкаОбработки(Контекст, 405, "Метод " + Метод + " недоступен для этого обработчика!"); Возврат ОшибкаОбработки(Контекст, 405, "Метод " + Метод + " недоступен для этого обработчика!");
@ -135,9 +135,9 @@
Результат = ВыполнитьОбработкуPost(Контекст, Обработчик); Результат = ВыполнитьОбработкуPost(Контекст, Обработчик);
ИначеЕсли МетодОбработчика = "MULTIPART" Тогда ИначеЕсли МетодОбработчика = "FORM" Тогда
Результат = ВыполнитьОбработкуMultipart(Контекст, Обработчик); Результат = ВыполнитьОбработкуFormData(Контекст, Обработчик);
Иначе Иначе
@ -173,7 +173,7 @@
КонецФункции КонецФункции
Функция ВыполнитьОбработкуMultipart(Контекст, Обработчик) Функция ВыполнитьОбработкуFormData(Контекст, Обработчик)
#Если Клиент Тогда #Если Клиент Тогда
ВызватьИсключение "Метод недоступен на клиенте!"; ВызватьИсключение "Метод недоступен на клиенте!";
@ -182,10 +182,10 @@
Запрос = Контекст.Запрос; Запрос = Контекст.Запрос;
Если Не ЗначениеЗаполнено(Запрос.Форма) Тогда Если Не ЗначениеЗаполнено(Запрос.Форма) Тогда
ВызватьИсключение "Не найдены данные в формате multipart/form-data!"; ВызватьИсключение "Не найдены данные формы в запросе!";
КонецЕсли; КонецЕсли;
Параметры = OPI_Инструменты.РазобратьMultipart(Запрос.Форма); Параметры = OPI_Инструменты.РазобратьFormData(Запрос.Форма);
Возврат ВыполнитьУниверсальнуюОбработку(Контекст, Обработчик, Параметры); Возврат ВыполнитьУниверсальнуюОбработку(Контекст, Обработчик, Параметры);
@ -223,6 +223,7 @@
ИначеЕсли ТипЗнч(ТекущееЗначение) = Тип("ФайлФормы") Тогда ИначеЕсли ТипЗнч(ТекущееЗначение) = Тип("ФайлФормы") Тогда
//@skip-check missing-temporary-file-deletion
ИВФ = ПолучитьИмяВременногоФайла(); ИВФ = ПолучитьИмяВременногоФайла();
ПотокФайла = ТекущееЗначение.ОткрытьПотокЧтения(); ПотокФайла = ТекущееЗначение.ОткрытьПотокЧтения();

@ -1166,7 +1166,7 @@
КонецФункции КонецФункции
Функция РазобратьMultipart(Знач Форма) Экспорт Функция РазобратьFormData(Знач Форма) Экспорт
СоответствиеДанных = Новый Соответствие; СоответствиеДанных = Новый Соответствие;
Файлы = Форма.Файлы; Файлы = Форма.Файлы;