mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-03-23 21:29:38 +02:00
Main build (Jenkins)
This commit is contained in:
parent
673fe1153c
commit
02c236c6f0
40
ci/clitesten
vendored
40
ci/clitesten
vendored
@ -11,11 +11,6 @@ pipeline {
|
|||||||
stage('Run Tests') {
|
stage('Run Tests') {
|
||||||
parallel {
|
parallel {
|
||||||
|
|
||||||
stage('proxy'){
|
|
||||||
steps{
|
|
||||||
test_proxy()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('tools'){
|
stage('tools'){
|
||||||
steps{
|
steps{
|
||||||
test_tools()
|
test_tools()
|
||||||
@ -61,6 +56,11 @@ pipeline {
|
|||||||
test_google()
|
test_google()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stage('proxy'){
|
||||||
|
steps{
|
||||||
|
test_proxy()
|
||||||
|
}
|
||||||
|
}
|
||||||
stage('mongodb'){
|
stage('mongodb'){
|
||||||
steps{
|
steps{
|
||||||
test_mongodb()
|
test_mongodb()
|
||||||
@ -152,16 +152,6 @@ pipeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def test_proxy(){
|
|
||||||
|
|
||||||
|
|
||||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
|
||||||
powershell encoding: 'UTF-8', script:'./oint.exe proxy Start --port "test" --proj "test" --pass "test" --debug --test '
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
def test_tools(){
|
def test_tools(){
|
||||||
|
|
||||||
|
|
||||||
@ -1428,6 +1418,24 @@ def test_google(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def test_proxy(){
|
||||||
|
|
||||||
|
|
||||||
|
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||||
|
powershell encoding: 'UTF-8', script:'./oint.exe proxy CreateProject --path "test" --debug --test '
|
||||||
|
}
|
||||||
|
|
||||||
|
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||||
|
powershell encoding: 'UTF-8', script:'./oint.exe proxy AddRequestsHandler --proj "test" --name "test" --secret "test" --method "test" --debug --test '
|
||||||
|
}
|
||||||
|
|
||||||
|
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||||
|
powershell encoding: 'UTF-8', script:'./oint.exe proxy Start --port "test" --proj "test" --debug --test '
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def test_mongodb(){
|
def test_mongodb(){
|
||||||
|
|
||||||
|
|
||||||
@ -2875,7 +2883,6 @@ pipeline {
|
|||||||
}
|
}
|
||||||
stage('Run'){
|
stage('Run'){
|
||||||
steps{
|
steps{
|
||||||
test_proxy()
|
|
||||||
test_tools()
|
test_tools()
|
||||||
test_airtable()
|
test_airtable()
|
||||||
test_bitrix24()
|
test_bitrix24()
|
||||||
@ -2885,6 +2892,7 @@ test_gcalendar()
|
|||||||
test_gdrive()
|
test_gdrive()
|
||||||
test_gsheets()
|
test_gsheets()
|
||||||
test_google()
|
test_google()
|
||||||
|
test_proxy()
|
||||||
test_mongodb()
|
test_mongodb()
|
||||||
test_neocities()
|
test_neocities()
|
||||||
test_notion()
|
test_notion()
|
||||||
|
40
ci/clitestru
vendored
40
ci/clitestru
vendored
@ -11,11 +11,6 @@ pipeline {
|
|||||||
stage('Run Tests') {
|
stage('Run Tests') {
|
||||||
parallel {
|
parallel {
|
||||||
|
|
||||||
stage('proxy'){
|
|
||||||
steps{
|
|
||||||
test_proxy()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('tools'){
|
stage('tools'){
|
||||||
steps{
|
steps{
|
||||||
test_tools()
|
test_tools()
|
||||||
@ -146,22 +141,17 @@ pipeline {
|
|||||||
test_metrika()
|
test_metrika()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stage('proxy'){
|
||||||
|
steps{
|
||||||
|
test_proxy()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def test_proxy(){
|
|
||||||
|
|
||||||
|
|
||||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
|
||||||
powershell encoding: 'UTF-8', script:'./oint.exe proxy Запустить --port "test" --proj "test" --pass "test" --debug --test '
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
def test_tools(){
|
def test_tools(){
|
||||||
|
|
||||||
|
|
||||||
@ -2864,6 +2854,24 @@ def test_metrika(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def test_proxy(){
|
||||||
|
|
||||||
|
|
||||||
|
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||||
|
powershell encoding: 'UTF-8', script:'./oint.exe proxy СоздатьПроект --path "test" --debug --test '
|
||||||
|
}
|
||||||
|
|
||||||
|
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||||
|
powershell encoding: 'UTF-8', script:'./oint.exe proxy ДобавитьОбработчикЗапросов --proj "test" --name "test" --secret "test" --method "test" --debug --test '
|
||||||
|
}
|
||||||
|
|
||||||
|
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||||
|
powershell encoding: 'UTF-8', script:'./oint.exe proxy Запустить --port "test" --proj "test" --debug --test '
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
pipeline {
|
pipeline {
|
||||||
agent any
|
agent any
|
||||||
stages {
|
stages {
|
||||||
@ -2875,7 +2883,6 @@ pipeline {
|
|||||||
}
|
}
|
||||||
stage('Run'){
|
stage('Run'){
|
||||||
steps{
|
steps{
|
||||||
test_proxy()
|
|
||||||
test_tools()
|
test_tools()
|
||||||
test_airtable()
|
test_airtable()
|
||||||
test_bitrix24()
|
test_bitrix24()
|
||||||
@ -2902,6 +2909,7 @@ test_yadisk()
|
|||||||
test_yandex()
|
test_yandex()
|
||||||
test_yamarket()
|
test_yamarket()
|
||||||
test_metrika()
|
test_metrika()
|
||||||
|
test_proxy()
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
37
docs/en/md/Integration_proxy_methods/Proxy-settings/Add-requests-handler.mdx
vendored
Normal file
37
docs/en/md/Integration_proxy_methods/Proxy-settings/Add-requests-handler.mdx
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
import Tabs from '@theme/Tabs';
|
||||||
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
|
# Add requests handler
|
||||||
|
Adds a new handler to the project
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`Function AddRequestsHandler(Val Project, Val Name, Val SecretKey, Val Method = "GET") Export`
|
||||||
|
|
||||||
|
| Parameter | CLI option | Type | Required | Description |
|
||||||
|
|-|-|-|-|-|
|
||||||
|
| Project | --proj | String | ✔ | Project filepath |
|
||||||
|
| Name | --name | String | ✔ | Name of the new handler |
|
||||||
|
| SecretKey | --secret | String | ✔ | Secret key for URL handler |
|
||||||
|
| Method | --method | String | ✖ | HTTP method that will process the handler: GET, POST, MULTIPART |
|
||||||
|
|
||||||
|
|
||||||
|
Returns: Structure Of KeyAndValue - result of adding a handler
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```bsl title="1C:Enterprise/OneScript code example"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
34
docs/en/md/Integration_proxy_methods/Proxy-settings/Create-project.mdx
vendored
Normal file
34
docs/en/md/Integration_proxy_methods/Proxy-settings/Create-project.mdx
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
import Tabs from '@theme/Tabs';
|
||||||
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
|
# Create project
|
||||||
|
Creates a project file at the selected path
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`Function CreateProject(Val Path) Export`
|
||||||
|
|
||||||
|
| Parameter | CLI option | Type | Required | Description |
|
||||||
|
|-|-|-|-|-|
|
||||||
|
| Path | --path | String | ✔ | Project filepath |
|
||||||
|
|
||||||
|
|
||||||
|
Returns: Structure Of KeyAndValue - creation result
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```bsl title="1C:Enterprise/OneScript code example"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
35
docs/en/md/Integration_proxy_methods/Proxy-settings/Start.mdx
vendored
Normal file
35
docs/en/md/Integration_proxy_methods/Proxy-settings/Start.mdx
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
import Tabs from '@theme/Tabs';
|
||||||
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
|
# Start
|
||||||
|
Launches integration proxy server
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`Function Start(Val Port, Val Project) Export`
|
||||||
|
|
||||||
|
| Parameter | CLI option | Type | Required | Description |
|
||||||
|
|-|-|-|-|-|
|
||||||
|
| Port | --port | Number | ✔ | Servers port |
|
||||||
|
| Project | --proj | String | ✔ | Project filepath |
|
||||||
|
|
||||||
|
|
||||||
|
Returns: Structure Of KeyAndValue - server shutdown result
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```bsl title="1C:Enterprise/OneScript code example"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
4
docs/en/md/Integration_proxy_methods/Proxy-settings/_category_.json
vendored
Normal file
4
docs/en/md/Integration_proxy_methods/Proxy-settings/_category_.json
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"label": "Proxy settings",
|
||||||
|
"position": "2"
|
||||||
|
}
|
37
docs/ru/md/Методы_прокси_интеграций/Proxy-settings/Add-requests-handler.mdx
vendored
Normal file
37
docs/ru/md/Методы_прокси_интеграций/Proxy-settings/Add-requests-handler.mdx
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
import Tabs from '@theme/Tabs';
|
||||||
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
|
# Добавить обработчик запросов
|
||||||
|
Добавляет новый обработчик в проект
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`Функция ДобавитьОбработчикЗапросов(Знач Проект, Знач Имя, Знач СекретныйКлюч, Знач Метод = "GET") Экспорт`
|
||||||
|
|
||||||
|
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||||
|
|-|-|-|-|-|
|
||||||
|
| Проект | --proj | Строка | ✔ | Путь к файлу проекта |
|
||||||
|
| Имя | --name | Строка | ✔ | Имя нового обработчика |
|
||||||
|
| СекретныйКлюч | --secret | Строка | ✔ | Секретный ключ для URL обработчика |
|
||||||
|
| Метод | --method | Строка | ✖ | HTTP метод, который будет обрабатывать обработчик: GET, POST, MULTIPART |
|
||||||
|
|
||||||
|
|
||||||
|
Возвращаемое значение: Структура Из КлючИЗначение - результат добавления обработчика
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
34
docs/ru/md/Методы_прокси_интеграций/Proxy-settings/Create-project.mdx
vendored
Normal file
34
docs/ru/md/Методы_прокси_интеграций/Proxy-settings/Create-project.mdx
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
import Tabs from '@theme/Tabs';
|
||||||
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
|
# Создать проект
|
||||||
|
Создает файл проекта по выбранному пути
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`Функция СоздатьПроект(Знач Путь) Экспорт`
|
||||||
|
|
||||||
|
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||||
|
|-|-|-|-|-|
|
||||||
|
| Путь | --path | Строка | ✔ | Путь к файлу проекта |
|
||||||
|
|
||||||
|
|
||||||
|
Возвращаемое значение: Структура Из КлючИЗначение - результат создания
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
35
docs/ru/md/Методы_прокси_интеграций/Proxy-settings/Start.mdx
vendored
Normal file
35
docs/ru/md/Методы_прокси_интеграций/Proxy-settings/Start.mdx
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
sidebar_position: 3
|
||||||
|
---
|
||||||
|
|
||||||
|
import Tabs from '@theme/Tabs';
|
||||||
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
|
# Запустить
|
||||||
|
Запускает прокси сервер интеграций
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
`Функция Запустить(Знач Порт, Знач Проект) Экспорт`
|
||||||
|
|
||||||
|
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||||
|
|-|-|-|-|-|
|
||||||
|
| Порт | --port | Число | ✔ | Порт запуска сервера |
|
||||||
|
| Проект | --proj | Строка | ✔ | Путь к файлу проекта |
|
||||||
|
|
||||||
|
|
||||||
|
Возвращаемое значение: Структура Из КлючИЗначение - результат остановки сервера
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
4
docs/ru/md/Методы_прокси_интеграций/Proxy-settings/_category_.json
vendored
Normal file
4
docs/ru/md/Методы_прокси_интеграций/Proxy-settings/_category_.json
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"label": "Настройки прокси",
|
||||||
|
"position": "2"
|
||||||
|
}
|
12528
service/dictionaries/en.json
vendored
12528
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
279
src/en/OInt/core/Modules/OPI_IntegrationProxy.os
vendored
Normal file
279
src/en/OInt/core/Modules/OPI_IntegrationProxy.os
vendored
Normal file
@ -0,0 +1,279 @@
|
|||||||
|
// OneScript: ./OInt/core/Modules/OPI_IntegrationProxy.os
|
||||||
|
// Lib: Integration proxy methods
|
||||||
|
// CLI: proxy
|
||||||
|
|
||||||
|
// MIT License
|
||||||
|
|
||||||
|
// Copyright (c) 2023 Anton Tsitavets
|
||||||
|
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
// in the Software without restriction, including without limitation the rights
|
||||||
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
|
// copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
// SOFTWARE.
|
||||||
|
|
||||||
|
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||||
|
|
||||||
|
// BSLLS:Typo-off
|
||||||
|
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||||
|
// BSLLS:IncorrectLineBreak-off
|
||||||
|
// BSLLS:NumberOfOptionalParams-off
|
||||||
|
// BSLLS:UsingServiceTag-off
|
||||||
|
// BSLLS:LineLength-off
|
||||||
|
|
||||||
|
//@skip-check module-structure-top-region
|
||||||
|
//@skip-check module-structure-method-in-regions
|
||||||
|
//@skip-check wrong-string-literal-content
|
||||||
|
//@skip-check method-too-many-params
|
||||||
|
//@skip-check constructor-function-return-section
|
||||||
|
|
||||||
|
// Uncomment if OneScript is executed
|
||||||
|
#Use "../../tools"
|
||||||
|
|
||||||
|
#Region Public
|
||||||
|
|
||||||
|
#Region ProxySettings
|
||||||
|
|
||||||
|
// Create project
|
||||||
|
// Creates a project file at the selected path
|
||||||
|
//
|
||||||
|
// Parameters:
|
||||||
|
// Path - String - Project filepath - path
|
||||||
|
//
|
||||||
|
// Returns:
|
||||||
|
// Structure Of KeyAndValue - creation result
|
||||||
|
Function CreateProject(Val Path) Export
|
||||||
|
|
||||||
|
Return NormalizeProject(Path);
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
// Add requests handler
|
||||||
|
// Adds a new handler to the project
|
||||||
|
//
|
||||||
|
// Parameters:
|
||||||
|
// Project - String - Project filepath - proj
|
||||||
|
// Name - String - Name of the new handler - name
|
||||||
|
// SecretKey - String - Secret key for URL handler - secret
|
||||||
|
// Method - String - HTTP method that will process the handler: GET, POST, MULTIPART - method
|
||||||
|
//
|
||||||
|
// Returns:
|
||||||
|
// Structure Of KeyAndValue - result of adding a handler
|
||||||
|
Function AddRequestsHandler(Val Project, Val Name, Val SecretKey, Val Method = "GET") Export
|
||||||
|
|
||||||
|
OPI_TypeConversion.GetLine(Name);
|
||||||
|
OPI_TypeConversion.GetLine(SecretKey);
|
||||||
|
OPI_TypeConversion.GetLine(Method);
|
||||||
|
|
||||||
|
Result = CheckProjectExistence(Project);
|
||||||
|
|
||||||
|
If Not Result["result"] Then
|
||||||
|
Return Result;
|
||||||
|
Else
|
||||||
|
Project = Result["path"];
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
DataArray = New Array;
|
||||||
|
DataArray.Add(New Structure("name,secret,method", Name, SecretKey, Method));
|
||||||
|
|
||||||
|
HandlersTableName = ConstantValue("HandlersTable");
|
||||||
|
Result = OPI_SQLite.AddRecords(HandlersTableName, DataArray, , Project);
|
||||||
|
|
||||||
|
Return Result;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
// Start
|
||||||
|
// Launches integration proxy server
|
||||||
|
//
|
||||||
|
// Parameters:
|
||||||
|
// Port - Number - Servers port - port
|
||||||
|
// Project - String - Project filepath - proj
|
||||||
|
// Returns:
|
||||||
|
// Structure Of KeyAndValue - server shutdown result
|
||||||
|
Function Start(Val Port, Val Project) Export
|
||||||
|
|
||||||
|
OPI_TypeConversion.GetNumber(Port);
|
||||||
|
|
||||||
|
ServerType = Type("WebServer");
|
||||||
|
|
||||||
|
ServerParams = New Array(1);
|
||||||
|
ServerParams[0] = Port;
|
||||||
|
|
||||||
|
WebServer = New(ServerType, ServerParams);
|
||||||
|
|
||||||
|
WebServer.AddRequestsHandler(ThisObject, "MainHandler");
|
||||||
|
WebServer.Start();
|
||||||
|
|
||||||
|
Return FormResponse(True, "Stopped");
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
#EndRegion
|
||||||
|
|
||||||
|
#EndRegion
|
||||||
|
|
||||||
|
#Region Private
|
||||||
|
|
||||||
|
#Region Project
|
||||||
|
|
||||||
|
Function CheckProjectExistence(Path)
|
||||||
|
|
||||||
|
OPI_TypeConversion.GetLine(Path);
|
||||||
|
|
||||||
|
ProjectFile = New File(Path);
|
||||||
|
Text = "The project file already exists!";
|
||||||
|
Result = True;
|
||||||
|
|
||||||
|
If Not ProjectFile.Exist() Then
|
||||||
|
Text = "Project file not found at the specified path!";
|
||||||
|
Result = False;
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
If ProjectFile.IsDirectory() Then
|
||||||
|
Text = "The directory path is passed, not the project file!";
|
||||||
|
Result = False;
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
ResponseStructure = FormResponse(Result, Text, ProjectFile.FullName);
|
||||||
|
|
||||||
|
Return ResponseStructure;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
Function NormalizeProject(Path)
|
||||||
|
|
||||||
|
OPI_TypeConversion.GetLine(Path);
|
||||||
|
|
||||||
|
DBFile = New File(Path);
|
||||||
|
|
||||||
|
If DBFile.IsDirectory() Then
|
||||||
|
|
||||||
|
Counter = 1;
|
||||||
|
|
||||||
|
While DBFile.Exist() Do
|
||||||
|
|
||||||
|
Path = Path + "/new_project_" + String(Counter) + ".oint";
|
||||||
|
DBFile = New File(Path);
|
||||||
|
|
||||||
|
Counter = Counter + 1;
|
||||||
|
|
||||||
|
EndDo;
|
||||||
|
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
FullPath = DBFile.FullName;
|
||||||
|
|
||||||
|
If Not DBFile.Exist() Then
|
||||||
|
|
||||||
|
Result = CreateNewProject(FullPath);
|
||||||
|
|
||||||
|
If Result["result"] Then
|
||||||
|
Text = "The project file has been successfully created!";
|
||||||
|
Response = FormResponse(True, Text, FullPath);
|
||||||
|
Else
|
||||||
|
Response = Result;
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
Else
|
||||||
|
|
||||||
|
Text = "The project file at the given path already exists!";
|
||||||
|
Response = FormResponse(False, Text, FullPath);
|
||||||
|
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
Return Response;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
Function FormResponse(Val Result, Val Text, Val Path = "")
|
||||||
|
|
||||||
|
Response = New Structure("result,message", False, Text);
|
||||||
|
|
||||||
|
If ValueIsFilled(Path) Then
|
||||||
|
Response.Insert("path", Path);
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
Return Response;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
Function ConstantValue(Val Key)
|
||||||
|
|
||||||
|
If Key = "HandlersTable" Then Return "handlers"
|
||||||
|
Else Return "" EndIf;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
Function CreateNewProject(Path)
|
||||||
|
|
||||||
|
EmptyFile = ПолучитьДвоичныеДанныеИзСтроки("");
|
||||||
|
EmptyFile.Write(Path);
|
||||||
|
|
||||||
|
Result = CreateHandlersTable(Path);
|
||||||
|
|
||||||
|
If Not Result["reuslt"] Then
|
||||||
|
DeleteFiles(Path);
|
||||||
|
Return Result;
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
Function CreateHandlersTable(Path)
|
||||||
|
|
||||||
|
TableStructure = New Structure();
|
||||||
|
TableStructure.Insert("id" , "INTEGER PRIMARY KEY");
|
||||||
|
TableStructure.Insert("name" , "TEXT");
|
||||||
|
TableStructure.Insert("secret", "TEXT");
|
||||||
|
TableStructure.Insert("method", "TEXT");
|
||||||
|
|
||||||
|
HandlersTableName = ConstantValue("HandlersTable");
|
||||||
|
Result = OPI_SQLite.CreateTable(HandlersTableName, TableStructure, Path);
|
||||||
|
|
||||||
|
Return Result;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
#EndRegion
|
||||||
|
|
||||||
|
#Region Handlers
|
||||||
|
|
||||||
|
Procedure MainHandler(Context, NexHandler) Export
|
||||||
|
|
||||||
|
Try
|
||||||
|
ProcessRequest(Context);
|
||||||
|
Except
|
||||||
|
|
||||||
|
Error = ErrorDescription();
|
||||||
|
|
||||||
|
Context.Response.StatusCode = 500;
|
||||||
|
Context.Response.Write(Error);
|
||||||
|
|
||||||
|
EndTry
|
||||||
|
|
||||||
|
EndProcedure
|
||||||
|
|
||||||
|
Procedure ProcessRequest(Context)
|
||||||
|
|
||||||
|
// Path = Context.Request.Path;
|
||||||
|
|
||||||
|
Context.Response.StatusCode = 200;
|
||||||
|
Context.Response.Write("Hello world!");
|
||||||
|
|
||||||
|
EndProcedure
|
||||||
|
|
||||||
|
#EndRegion
|
||||||
|
|
||||||
|
#EndRegion
|
1
src/en/OInt/lib.config
vendored
1
src/en/OInt/lib.config
vendored
@ -28,4 +28,5 @@
|
|||||||
<module name="OPI_Cryptography" file="tools/Modules/internal/Modules/OPI_Cryptography.os"/>
|
<module name="OPI_Cryptography" file="tools/Modules/internal/Modules/OPI_Cryptography.os"/>
|
||||||
<module name="OPI_TestDataRetrieval" file="tools/Modules/OPI_TestDataRetrieval.os"/>
|
<module name="OPI_TestDataRetrieval" file="tools/Modules/OPI_TestDataRetrieval.os"/>
|
||||||
<module name="OPI_TypeConversion" file="tools/Modules/OPI_TypeConversion.os"/>
|
<module name="OPI_TypeConversion" file="tools/Modules/OPI_TypeConversion.os"/>
|
||||||
|
<module name="OPI_IntegrationProxy" file="core/Modules/OPI_IntegrationProxy.os"/>
|
||||||
</package-def>
|
</package-def>
|
||||||
|
279
src/en/OPI/src/CommonModules/OPI_IntegrationProxy/Module.bsl
vendored
Normal file
279
src/en/OPI/src/CommonModules/OPI_IntegrationProxy/Module.bsl
vendored
Normal file
@ -0,0 +1,279 @@
|
|||||||
|
// OneScript: ./OInt/core/Modules/OPI_IntegrationProxy.os
|
||||||
|
// Lib: Integration proxy methods
|
||||||
|
// CLI: proxy
|
||||||
|
|
||||||
|
// MIT License
|
||||||
|
|
||||||
|
// Copyright (c) 2023 Anton Tsitavets
|
||||||
|
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
// in the Software without restriction, including without limitation the rights
|
||||||
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
|
// copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
// SOFTWARE.
|
||||||
|
|
||||||
|
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||||
|
|
||||||
|
// BSLLS:Typo-off
|
||||||
|
// BSLLS:LatinAndCyrillicSymbolInWord-off
|
||||||
|
// BSLLS:IncorrectLineBreak-off
|
||||||
|
// BSLLS:NumberOfOptionalParams-off
|
||||||
|
// BSLLS:UsingServiceTag-off
|
||||||
|
// BSLLS:LineLength-off
|
||||||
|
|
||||||
|
//@skip-check module-structure-top-region
|
||||||
|
//@skip-check module-structure-method-in-regions
|
||||||
|
//@skip-check wrong-string-literal-content
|
||||||
|
//@skip-check method-too-many-params
|
||||||
|
//@skip-check constructor-function-return-section
|
||||||
|
|
||||||
|
// Uncomment if OneScript is executed
|
||||||
|
// #Use "../../tools"
|
||||||
|
|
||||||
|
#Region Public
|
||||||
|
|
||||||
|
#Region ProxySettings
|
||||||
|
|
||||||
|
// Create project
|
||||||
|
// Creates a project file at the selected path
|
||||||
|
//
|
||||||
|
// Parameters:
|
||||||
|
// Path - String - Project filepath - path
|
||||||
|
//
|
||||||
|
// Returns:
|
||||||
|
// Structure Of KeyAndValue - creation result
|
||||||
|
Function CreateProject(Val Path) Export
|
||||||
|
|
||||||
|
Return NormalizeProject(Path);
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
// Add requests handler
|
||||||
|
// Adds a new handler to the project
|
||||||
|
//
|
||||||
|
// Parameters:
|
||||||
|
// Project - String - Project filepath - proj
|
||||||
|
// Name - String - Name of the new handler - name
|
||||||
|
// SecretKey - String - Secret key for URL handler - secret
|
||||||
|
// Method - String - HTTP method that will process the handler: GET, POST, MULTIPART - method
|
||||||
|
//
|
||||||
|
// Returns:
|
||||||
|
// Structure Of KeyAndValue - result of adding a handler
|
||||||
|
Function AddRequestsHandler(Val Project, Val Name, Val SecretKey, Val Method = "GET") Export
|
||||||
|
|
||||||
|
OPI_TypeConversion.GetLine(Name);
|
||||||
|
OPI_TypeConversion.GetLine(SecretKey);
|
||||||
|
OPI_TypeConversion.GetLine(Method);
|
||||||
|
|
||||||
|
Result = CheckProjectExistence(Project);
|
||||||
|
|
||||||
|
If Not Result["result"] Then
|
||||||
|
Return Result;
|
||||||
|
Else
|
||||||
|
Project = Result["path"];
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
DataArray = New Array;
|
||||||
|
DataArray.Add(New Structure("name,secret,method", Name, SecretKey, Method));
|
||||||
|
|
||||||
|
HandlersTableName = ConstantValue("HandlersTable");
|
||||||
|
Result = OPI_SQLite.AddRecords(HandlersTableName, DataArray, , Project);
|
||||||
|
|
||||||
|
Return Result;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
// Start
|
||||||
|
// Launches integration proxy server
|
||||||
|
//
|
||||||
|
// Parameters:
|
||||||
|
// Port - Number - Servers port - port
|
||||||
|
// Project - String - Project filepath - proj
|
||||||
|
// Returns:
|
||||||
|
// Structure Of KeyAndValue - server shutdown result
|
||||||
|
Function Start(Val Port, Val Project) Export
|
||||||
|
|
||||||
|
OPI_TypeConversion.GetNumber(Port);
|
||||||
|
|
||||||
|
ServerType = Type("WebServer");
|
||||||
|
|
||||||
|
ServerParams = New Array(1);
|
||||||
|
ServerParams[0] = Port;
|
||||||
|
|
||||||
|
WebServer = New(ServerType, ServerParams);
|
||||||
|
|
||||||
|
WebServer.AddRequestsHandler(ThisObject, "MainHandler");
|
||||||
|
WebServer.Start();
|
||||||
|
|
||||||
|
Return FormResponse(True, "Stopped");
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
#EndRegion
|
||||||
|
|
||||||
|
#EndRegion
|
||||||
|
|
||||||
|
#Region Private
|
||||||
|
|
||||||
|
#Region Project
|
||||||
|
|
||||||
|
Function CheckProjectExistence(Path)
|
||||||
|
|
||||||
|
OPI_TypeConversion.GetLine(Path);
|
||||||
|
|
||||||
|
ProjectFile = New File(Path);
|
||||||
|
Text = "The project file already exists!";
|
||||||
|
Result = True;
|
||||||
|
|
||||||
|
If Not ProjectFile.Exists() Then
|
||||||
|
Text = "Project file not found at the specified path!";
|
||||||
|
Result = False;
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
If ProjectFile.IsDirectory() Then
|
||||||
|
Text = "The directory path is passed, not the project file!";
|
||||||
|
Result = False;
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
ResponseStructure = FormResponse(Result, Text, ProjectFile.FullName);
|
||||||
|
|
||||||
|
Return ResponseStructure;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
Function NormalizeProject(Path)
|
||||||
|
|
||||||
|
OPI_TypeConversion.GetLine(Path);
|
||||||
|
|
||||||
|
DBFile = New File(Path);
|
||||||
|
|
||||||
|
If DBFile.IsDirectory() Then
|
||||||
|
|
||||||
|
Counter = 1;
|
||||||
|
|
||||||
|
While DBFile.Exists() Do
|
||||||
|
|
||||||
|
Path = Path + "/new_project_" + String(Counter) + ".oint";
|
||||||
|
DBFile = New File(Path);
|
||||||
|
|
||||||
|
Counter = Counter + 1;
|
||||||
|
|
||||||
|
EndDo;
|
||||||
|
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
FullPath = DBFile.FullName;
|
||||||
|
|
||||||
|
If Not DBFile.Exists() Then
|
||||||
|
|
||||||
|
Result = CreateNewProject(FullPath);
|
||||||
|
|
||||||
|
If Result["result"] Then
|
||||||
|
Text = "The project file has been successfully created!";
|
||||||
|
Response = FormResponse(True, Text, FullPath);
|
||||||
|
Else
|
||||||
|
Response = Result;
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
Else
|
||||||
|
|
||||||
|
Text = "The project file at the given path already exists!";
|
||||||
|
Response = FormResponse(False, Text, FullPath);
|
||||||
|
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
Return Response;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
Function FormResponse(Val Result, Val Text, Val Path = "")
|
||||||
|
|
||||||
|
Response = New Structure("result,message", False, Text);
|
||||||
|
|
||||||
|
If ValueIsFilled(Path) Then
|
||||||
|
Response.Insert("path", Path);
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
Return Response;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
Function ConstantValue(Val Key)
|
||||||
|
|
||||||
|
If Key = "HandlersTable" Then Return "handlers"
|
||||||
|
Else Return "" EndIf;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
Function CreateNewProject(Path)
|
||||||
|
|
||||||
|
EmptyFile = GetBinaryDataFromString("");
|
||||||
|
EmptyFile.Write(Path);
|
||||||
|
|
||||||
|
Result = CreateHandlersTable(Path);
|
||||||
|
|
||||||
|
If Not Result["reuslt"] Then
|
||||||
|
DeleteFiles(Path);
|
||||||
|
Return Result;
|
||||||
|
EndIf;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
Function CreateHandlersTable(Path)
|
||||||
|
|
||||||
|
TableStructure = New Structure();
|
||||||
|
TableStructure.Insert("id" , "INTEGER PRIMARY KEY");
|
||||||
|
TableStructure.Insert("name" , "TEXT");
|
||||||
|
TableStructure.Insert("secret", "TEXT");
|
||||||
|
TableStructure.Insert("method", "TEXT");
|
||||||
|
|
||||||
|
HandlersTableName = ConstantValue("HandlersTable");
|
||||||
|
Result = OPI_SQLite.CreateTable(HandlersTableName, TableStructure, Path);
|
||||||
|
|
||||||
|
Return Result;
|
||||||
|
|
||||||
|
EndFunction
|
||||||
|
|
||||||
|
#EndRegion
|
||||||
|
|
||||||
|
#Region Handlers
|
||||||
|
|
||||||
|
Procedure MainHandler(Context, NexHandler) Export
|
||||||
|
|
||||||
|
Try
|
||||||
|
ProcessRequest(Context);
|
||||||
|
Except
|
||||||
|
|
||||||
|
Error = ErrorDescription();
|
||||||
|
|
||||||
|
Context.Response.StatusCode = 500;
|
||||||
|
Context.Response.Write(Error);
|
||||||
|
|
||||||
|
EndTry
|
||||||
|
|
||||||
|
EndProcedure
|
||||||
|
|
||||||
|
Procedure ProcessRequest(Context)
|
||||||
|
|
||||||
|
// Path = Context.Request.Path;
|
||||||
|
|
||||||
|
Context.Response.StatusCode = 200;
|
||||||
|
Context.Response.Write("Hello world!");
|
||||||
|
|
||||||
|
EndProcedure
|
||||||
|
|
||||||
|
#EndRegion
|
||||||
|
|
||||||
|
#EndRegion
|
11
src/en/OPI/src/CommonModules/OPI_IntegrationProxy/OPI_IntegrationProxy.mdo
vendored
Normal file
11
src/en/OPI/src/CommonModules/OPI_IntegrationProxy/OPI_IntegrationProxy.mdo
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="e6d1c89a-60de-4d98-8a76-aa2fa9422fd1">
|
||||||
|
<name>OPI_IntegrationProxy</name>
|
||||||
|
<synonym>
|
||||||
|
<key>en</key>
|
||||||
|
<value>Integration proxy</value>
|
||||||
|
</synonym>
|
||||||
|
<server>true</server>
|
||||||
|
<externalConnection>true</externalConnection>
|
||||||
|
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||||
|
</mdclass:CommonModule>
|
@ -72,4 +72,5 @@
|
|||||||
<commonModules>CommonModule.OPI_Tests</commonModules>
|
<commonModules>CommonModule.OPI_Tests</commonModules>
|
||||||
<commonModules>CommonModule.OPI_TestsCLI</commonModules>
|
<commonModules>CommonModule.OPI_TestsCLI</commonModules>
|
||||||
<commonModules>CommonModule.OPI_TestDataRetrieval</commonModules>
|
<commonModules>CommonModule.OPI_TestDataRetrieval</commonModules>
|
||||||
|
<commonModules>CommonModule.OPI_IntegrationProxy</commonModules>
|
||||||
</mdclass:Configuration>
|
</mdclass:Configuration>
|
||||||
|
@ -12,33 +12,75 @@
|
|||||||
|
|
||||||
NewLine = CompositionTable.Add();
|
NewLine = CompositionTable.Add();
|
||||||
NewLine.Библиотека = "proxy";
|
NewLine.Библиотека = "proxy";
|
||||||
NewLine.Модуль = "ПроtowithandHost";
|
NewLine.Модуль = "OPI_IntegrationProxy";
|
||||||
|
NewLine.Метод = "CreateProject";
|
||||||
|
NewLine.МетодПоиска = "CREATEPROJECT";
|
||||||
|
NewLine.Параметр = "--path";
|
||||||
|
NewLine.Описание = "Project filepath";
|
||||||
|
NewLine.Область = "Proxy settings";
|
||||||
|
NewLine.ОписаниеМетода = "Creates a project file at the selected path";
|
||||||
|
|
||||||
|
|
||||||
|
NewLine = CompositionTable.Add();
|
||||||
|
NewLine.Библиотека = "proxy";
|
||||||
|
NewLine.Модуль = "OPI_IntegrationProxy";
|
||||||
|
NewLine.Метод = "AddRequestsHandler";
|
||||||
|
NewLine.МетодПоиска = "ADDREQUESTSHANDLER";
|
||||||
|
NewLine.Параметр = "--proj";
|
||||||
|
NewLine.Описание = "Project filepath";
|
||||||
|
NewLine.Область = "Proxy settings";
|
||||||
|
NewLine.ОписаниеМетода = "Adds a new handler to the project";
|
||||||
|
|
||||||
|
|
||||||
|
NewLine = CompositionTable.Add();
|
||||||
|
NewLine.Библиотека = "proxy";
|
||||||
|
NewLine.Модуль = "OPI_IntegrationProxy";
|
||||||
|
NewLine.Метод = "AddRequestsHandler";
|
||||||
|
NewLine.МетодПоиска = "ADDREQUESTSHANDLER";
|
||||||
|
NewLine.Параметр = "--name";
|
||||||
|
NewLine.Описание = "Name of the new handler";
|
||||||
|
NewLine.Область = "Proxy settings";
|
||||||
|
|
||||||
|
|
||||||
|
NewLine = CompositionTable.Add();
|
||||||
|
NewLine.Библиотека = "proxy";
|
||||||
|
NewLine.Модуль = "OPI_IntegrationProxy";
|
||||||
|
NewLine.Метод = "AddRequestsHandler";
|
||||||
|
NewLine.МетодПоиска = "ADDREQUESTSHANDLER";
|
||||||
|
NewLine.Параметр = "--secret";
|
||||||
|
NewLine.Описание = "Secret key for URL handler";
|
||||||
|
NewLine.Область = "Proxy settings";
|
||||||
|
|
||||||
|
|
||||||
|
NewLine = CompositionTable.Add();
|
||||||
|
NewLine.Библиотека = "proxy";
|
||||||
|
NewLine.Модуль = "OPI_IntegrationProxy";
|
||||||
|
NewLine.Метод = "AddRequestsHandler";
|
||||||
|
NewLine.МетодПоиска = "ADDREQUESTSHANDLER";
|
||||||
|
NewLine.Параметр = "--method";
|
||||||
|
NewLine.Описание = "HTTP method that will process the handler: GET, POST, MULTIPART (optional, def. val. - GET)";
|
||||||
|
NewLine.Область = "Proxy settings";
|
||||||
|
|
||||||
|
|
||||||
|
NewLine = CompositionTable.Add();
|
||||||
|
NewLine.Библиотека = "proxy";
|
||||||
|
NewLine.Модуль = "OPI_IntegrationProxy";
|
||||||
NewLine.Метод = "Start";
|
NewLine.Метод = "Start";
|
||||||
NewLine.МетодПоиска = "ЗАПУСТAndТЬ";
|
NewLine.МетодПоиска = "START";
|
||||||
NewLine.Параметр = "--port";
|
NewLine.Параметр = "--port";
|
||||||
NewLine.Описание = "Servers port";
|
NewLine.Описание = "Servers port";
|
||||||
NewLine.Область = "Service";
|
NewLine.Область = "Proxy settings";
|
||||||
NewLine.ОписаниеМетода = "Launches integration proxy server";
|
NewLine.ОписаниеМетода = "Launches integration proxy server";
|
||||||
|
|
||||||
|
|
||||||
NewLine = CompositionTable.Add();
|
NewLine = CompositionTable.Add();
|
||||||
NewLine.Библиотека = "proxy";
|
NewLine.Библиотека = "proxy";
|
||||||
NewLine.Модуль = "ПроtowithandHost";
|
NewLine.Модуль = "OPI_IntegrationProxy";
|
||||||
NewLine.Метод = "Start";
|
NewLine.Метод = "Start";
|
||||||
NewLine.МетодПоиска = "ЗАПУСТAndТЬ";
|
NewLine.МетодПоиска = "START";
|
||||||
NewLine.Параметр = "--proj";
|
NewLine.Параметр = "--proj";
|
||||||
NewLine.Описание = "Project filepath";
|
NewLine.Описание = "Project filepath";
|
||||||
NewLine.Область = "Service";
|
NewLine.Область = "Proxy settings";
|
||||||
|
|
||||||
|
|
||||||
NewLine = CompositionTable.Add();
|
|
||||||
NewLine.Библиотека = "proxy";
|
|
||||||
NewLine.Модуль = "ПроtowithandHost";
|
|
||||||
NewLine.Метод = "Start";
|
|
||||||
NewLine.МетодПоиска = "ЗАПУСТAndТЬ";
|
|
||||||
NewLine.Параметр = "--pass";
|
|
||||||
NewLine.Описание = "Project password";
|
|
||||||
NewLine.Область = "Service";
|
|
||||||
|
|
||||||
Return CompositionTable;
|
Return CompositionTable;
|
||||||
EndFunction
|
EndFunction
|
||||||
|
2
src/en/cli/data/Classes/СоставБиблиотеки.os
vendored
2
src/en/cli/data/Classes/СоставБиблиотеки.os
vendored
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
Функция ПолучитьСоответствиеКомандМодулей() Экспорт
|
Функция ПолучитьСоответствиеКомандМодулей() Экспорт
|
||||||
СоответствиеКомандМодулей = Новый Соответствие();
|
СоответствиеКомандМодулей = Новый Соответствие();
|
||||||
СоответствиеКомандМодулей.Вставить("proxy", "ПроксиСервер");
|
|
||||||
СоответствиеКомандМодулей.Вставить("tools", "Утилиты");
|
СоответствиеКомандМодулей.Вставить("tools", "Утилиты");
|
||||||
СоответствиеКомандМодулей.Вставить("airtable", "OPI_Airtable");
|
СоответствиеКомандМодулей.Вставить("airtable", "OPI_Airtable");
|
||||||
СоответствиеКомандМодулей.Вставить("bitrix24", "OPI_Bitrix24");
|
СоответствиеКомандМодулей.Вставить("bitrix24", "OPI_Bitrix24");
|
||||||
@ -16,6 +15,7 @@
|
|||||||
СоответствиеКомандМодулей.Вставить("gdrive", "OPI_GoogleDrive");
|
СоответствиеКомандМодулей.Вставить("gdrive", "OPI_GoogleDrive");
|
||||||
СоответствиеКомандМодулей.Вставить("gsheets", "OPI_GoogleSheets");
|
СоответствиеКомандМодулей.Вставить("gsheets", "OPI_GoogleSheets");
|
||||||
СоответствиеКомандМодулей.Вставить("google", "OPI_GoogleWorkspace");
|
СоответствиеКомандМодулей.Вставить("google", "OPI_GoogleWorkspace");
|
||||||
|
СоответствиеКомандМодулей.Вставить("proxy", "OPI_IntegrationProxy");
|
||||||
СоответствиеКомандМодулей.Вставить("mongodb", "OPI_MongoDB");
|
СоответствиеКомандМодулей.Вставить("mongodb", "OPI_MongoDB");
|
||||||
СоответствиеКомандМодулей.Вставить("neocities", "OPI_Neocities");
|
СоответствиеКомандМодулей.Вставить("neocities", "OPI_Neocities");
|
||||||
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
|
СоответствиеКомандМодулей.Вставить("notion", "OPI_Notion");
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
Процедура ОбработатьМеню(Контекст) Экспорт
|
|
||||||
|
|
||||||
Контекст.Ответ.Записать("
|
|
||||||
|<li hx-get=""/api/content/1"" hx-target=""#content"">Action 1</li>
|
|
||||||
|<li hx-get=""/api/content/2"" hx-target=""#content"">Action 2</li>
|
|
||||||
|<li hx-get=""/api/content/3"" hx-target=""#content"">Action 3</li>");
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
@ -1,33 +0,0 @@
|
|||||||
Процедура ВернутьСтатику(Контекст, ПутьКФайлу) Экспорт
|
|
||||||
|
|
||||||
ПутьКФайлуСтатики = КаталогСтатики() + ПутьКФайлу;
|
|
||||||
ФайлСтатики = Новый Файл(ПутьКФайлуСтатики);
|
|
||||||
|
|
||||||
Если ФайлСтатики.Существует() Тогда
|
|
||||||
Данные = Новый ФайловыйПоток(ПутьКФайлуСтатики, РежимОткрытияФайла.Открыть);
|
|
||||||
Данные.КопироватьВ(Контекст.Ответ.Тело);
|
|
||||||
Данные.Закрыть();
|
|
||||||
Иначе
|
|
||||||
Контекст.Ответ.КодСостояния = 404;
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Функция КаталогСтатики()
|
|
||||||
|
|
||||||
КаталогОбработчика = СтрЗаменить(ТекущийСценарий().Каталог, "\", "/");
|
|
||||||
|
|
||||||
ЭлементыПути = СтрРазделить(КаталогОбработчика, "/");
|
|
||||||
|
|
||||||
Для Н = 1 По 6 Цикл
|
|
||||||
ЭлементыПути.Удалить(ЭлементыПути.ВГраница());
|
|
||||||
КонецЦикла;
|
|
||||||
|
|
||||||
ЭлементыПути.Добавить("web");
|
|
||||||
|
|
||||||
ПутьСтатики = СтрСоединить(ЭлементыПути, "/");
|
|
||||||
ПутьСтатики = ПутьСтатики + "/";
|
|
||||||
|
|
||||||
Возврат ПутьСтатики;
|
|
||||||
|
|
||||||
КонецФункции
|
|
@ -1,40 +0,0 @@
|
|||||||
#Использовать "internal"
|
|
||||||
|
|
||||||
Перем Проект;
|
|
||||||
|
|
||||||
Процедура ПриСозданииОбъекта(ПереданныйПроект)
|
|
||||||
Проект = ПереданныйПроект;
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Процедура ОсновнаяОбработка(Контекст, СледующийОбработчик) Экспорт
|
|
||||||
|
|
||||||
Попытка
|
|
||||||
ОбработатьЗапрос(Контекст);
|
|
||||||
Исключение
|
|
||||||
Контекст.Ответ.КодСостояния = 500;
|
|
||||||
Контекст.Ответ.Записать(ОписаниеОшибки());
|
|
||||||
КонецПопытки
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
Процедура ОбработатьЗапрос(Контекст)
|
|
||||||
|
|
||||||
Путь = Контекст.Запрос.Путь;
|
|
||||||
|
|
||||||
Если Путь = "/web" Тогда
|
|
||||||
|
|
||||||
Статика.ВернутьСтатику(Контекст, "index.html");
|
|
||||||
|
|
||||||
ИначеЕсли Путь = "/api/menu" Тогда
|
|
||||||
|
|
||||||
Меню.ОбработатьМеню(Контекст, Проект);
|
|
||||||
|
|
||||||
Иначе
|
|
||||||
|
|
||||||
Контекст.Ответ.КодСостояния = 404;
|
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
КонецПроцедуры
|
|
||||||
|
|
||||||
|
|
34
src/en/cli/tools/Modules/ПроксиСервер.os
vendored
34
src/en/cli/tools/Modules/ПроксиСервер.os
vendored
@ -1,34 +0,0 @@
|
|||||||
// CLI: proxy
|
|
||||||
|
|
||||||
#Использовать "internal"
|
|
||||||
|
|
||||||
#Область СлужебныйПрограммныйИнтерфейс
|
|
||||||
|
|
||||||
// Запустить
|
|
||||||
// Запускает прокси сервер интеграций
|
|
||||||
//
|
|
||||||
// Параметры:
|
|
||||||
// Порт - Число - Порт запуска сервера - port
|
|
||||||
// Проект - Строка - Путь к файлу проекта - proj
|
|
||||||
// Пароль - Строка - Пароль проекта - pass
|
|
||||||
// Возвращаемое значение:
|
|
||||||
// Строка - пустая строка
|
|
||||||
Функция Запустить(Знач Порт, Знач Проект, Знач Пароль) Экспорт
|
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Порт);
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Проект);
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Пароль);
|
|
||||||
|
|
||||||
ВебСервер = Новый ВебСервер(Порт);
|
|
||||||
Обработчик = Новый ОбработчикЗапросов();
|
|
||||||
|
|
||||||
ВебСервер.ДобавитьОбработчикЗапросов(Обработчик, "ОсновнаяОбработка");
|
|
||||||
ВебСервер.Запустить();
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
#КонецОбласти
|
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
|
||||||
|
|
||||||
#КонецОбласти
|
|
54
src/en/cli/web/index.html
vendored
54
src/en/cli/web/index.html
vendored
@ -1,54 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="ru">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>GitHub Actions Interface with HTMX</title>
|
|
||||||
<script src="https://unpkg.com/htmx.org@1.9.10"></script>
|
|
||||||
<style>
|
|
||||||
body {
|
|
||||||
font-family: Arial, sans-serif;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
display: flex;
|
|
||||||
height: 100vh;
|
|
||||||
}
|
|
||||||
.sidebar {
|
|
||||||
width: 200px;
|
|
||||||
background-color: #f4f4f4;
|
|
||||||
padding: 20px;
|
|
||||||
box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
|
|
||||||
}
|
|
||||||
.sidebar ul {
|
|
||||||
list-style-type: none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.sidebar ul li {
|
|
||||||
margin: 15px 0;
|
|
||||||
cursor: pointer;
|
|
||||||
color: #0366d6;
|
|
||||||
}
|
|
||||||
.sidebar ul li:hover {
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
.main-content {
|
|
||||||
flex-grow: 1;
|
|
||||||
padding: 20px;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="sidebar">
|
|
||||||
<ul id="menu" hx-get="/api/menu" hx-trigger="load">
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="main-content" id="content">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<template id="menu-item-template">
|
|
||||||
<li hx-get="/api/content/{id}" hx-target="#content">{name}</li>
|
|
||||||
</template>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
120
src/ru/OInt/core/Modules/OPI_ПроксиИнтеграций.os
vendored
120
src/ru/OInt/core/Modules/OPI_ПроксиИнтеграций.os
vendored
@ -48,37 +48,37 @@
|
|||||||
|
|
||||||
// Создать проект
|
// Создать проект
|
||||||
// Создает файл проекта по выбранному пути
|
// Создает файл проекта по выбранному пути
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Путь - Строка - Путь к файлу проекта - path
|
// Путь - Строка - Путь к файлу проекта - path
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура Из КлючИЗначение - результат создания
|
// Структура Из КлючИЗначение - результат создания
|
||||||
Функция СоздатьПроект(Знач Путь) Экспорт
|
Функция СоздатьПроект(Знач Путь) Экспорт
|
||||||
|
|
||||||
Возврат НормализоватьПроект(Путь);
|
Возврат НормализоватьПроект(Путь);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Добавить обработчик запроса
|
// Добавить обработчик запросов
|
||||||
// Добавляет новый обработчик в проект
|
// Добавляет новый обработчик в проект
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Проект - Строка - Путь к файлу проекта - proj
|
// Проект - Строка - Путь к файлу проекта - proj
|
||||||
// Имя - Строка - Имя нового обработчика - name
|
// Имя - Строка - Имя нового обработчика - name
|
||||||
// СекретныйКлюч - Строка - Секретный ключ для URL обработчика - secret
|
// СекретныйКлюч - Строка - Секретный ключ для URL обработчика - secret
|
||||||
// Метод - Строка - HTTP метод, который будет обрабатывать обработчик - method
|
// Метод - Строка - HTTP метод, который будет обрабатывать обработчик: GET, POST, MULTIPART - method
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура Из КлючИЗначение - результат добавления обработчика
|
// Структура Из КлючИЗначение - результат добавления обработчика
|
||||||
Функция ДобавитьОбработчикЗапроса(Знач Проект, Знач Имя, Знач СекретныйКлюч, Знач Метод = "GET") Экспорт
|
Функция ДобавитьОбработчикЗапросов(Знач Проект, Знач Имя, Знач СекретныйКлюч, Знач Метод = "GET") Экспорт
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Имя);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Имя);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(СекретныйКлюч);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(СекретныйКлюч);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Метод);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Метод);
|
||||||
|
|
||||||
Результат = ПроверитьСуществованиеПроекта(Проект);
|
Результат = ПроверитьСуществованиеПроекта(Проект);
|
||||||
|
|
||||||
Если Не Результат["result"] Тогда
|
Если Не Результат["result"] Тогда
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
Иначе
|
Иначе
|
||||||
@ -89,36 +89,36 @@
|
|||||||
МассивДанных.Добавить(Новый Структура("name,secret,method", Имя, СекретныйКлюч, Метод));
|
МассивДанных.Добавить(Новый Структура("name,secret,method", Имя, СекретныйКлюч, Метод));
|
||||||
|
|
||||||
ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков");
|
ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков");
|
||||||
Результат = OPI_SQLite.ДобавитьЗаписи(ИмяТаблицыОбработчиков, МассивДанных, , Проект);
|
Результат = OPI_SQLite.ДобавитьЗаписи(ИмяТаблицыОбработчиков, МассивДанных, , Проект);
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Запустить
|
// Запустить
|
||||||
// Запускает прокси сервер интеграций
|
// Запускает прокси сервер интеграций
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Порт - Число - Порт запуска сервера - port
|
// Порт - Число - Порт запуска сервера - port
|
||||||
// Проект - Строка - Путь к файлу проекта - proj
|
// Проект - Строка - Путь к файлу проекта - proj
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура Из КлючИЗначение - результат остановки сервера
|
// Структура Из КлючИЗначение - результат остановки сервера
|
||||||
Функция Запустить(Знач Порт, Знач Проект) Экспорт
|
Функция Запустить(Знач Порт, Знач Проект) Экспорт
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Порт);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Порт);
|
||||||
|
|
||||||
ТипСервер = Тип("ВебСервер");
|
ТипСервер = Тип("ВебСервер");
|
||||||
|
|
||||||
ПараметрыСервера = Новый Массив(1);
|
ПараметрыСервера = Новый Массив(1);
|
||||||
ПараметрыСервера[0] = Порт;
|
ПараметрыСервера[0] = Порт;
|
||||||
|
|
||||||
ВебСервер = Новый(ТипСервер, ПараметрыСервера);
|
ВебСервер = Новый(ТипСервер, ПараметрыСервера);
|
||||||
|
|
||||||
ВебСервер.ДобавитьОбработчикЗапросов(ЭтотОбъект, "ОсновнаяОбработка");
|
ВебСервер.ДобавитьОбработчикЗапросов(ЭтотОбъект, "ОсновнаяОбработка");
|
||||||
ВебСервер.Запустить();
|
ВебСервер.Запустить();
|
||||||
|
|
||||||
Возврат СформироватьОтвет(Истина, "Остановлен");
|
Возврат СформироватьОтвет(Истина, "Остановлен");
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@ -132,23 +132,23 @@
|
|||||||
Функция ПроверитьСуществованиеПроекта(Путь)
|
Функция ПроверитьСуществованиеПроекта(Путь)
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||||
|
|
||||||
ФайлПроекта = Новый Файл(Путь);
|
ФайлПроекта = Новый Файл(Путь);
|
||||||
Текст = "Файл проекта существует!";
|
Текст = "Файл проекта существует!";
|
||||||
Результат = Истина;
|
Результат = Истина;
|
||||||
|
|
||||||
Если Не ФайлПроекта.Существует() Тогда
|
Если Не ФайлПроекта.Существует() Тогда
|
||||||
Текст = "Файл проекта по указанному пути не найден!";
|
Текст = "Файл проекта по указанному пути не найден!";
|
||||||
Результат = Ложь;
|
Результат = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ФайлПроекта.ЭтоКаталог() Тогда
|
Если ФайлПроекта.ЭтоКаталог() Тогда
|
||||||
Текст = "Передан путь к каталогу, а не файл проекта!";
|
Текст = "Передан путь к каталогу, а не файл проекта!";
|
||||||
Результат = Ложь;
|
Результат = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
СтруктураОтвета = СформироватьОтвет(Результат, Текст, ФайлПроекта.ПолноеИмя);
|
СтруктураОтвета = СформироватьОтвет(Результат, Текст, ФайлПроекта.ПолноеИмя);
|
||||||
|
|
||||||
Возврат СтруктураОтвета;
|
Возврат СтруктураОтвета;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@ -156,15 +156,15 @@
|
|||||||
Функция НормализоватьПроект(Путь)
|
Функция НормализоватьПроект(Путь)
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||||
|
|
||||||
ФайлБазы = Новый Файл(Путь);
|
ФайлБазы = Новый Файл(Путь);
|
||||||
|
|
||||||
Если ФайлБазы.ЭтоКаталог() Тогда
|
Если ФайлБазы.ЭтоКаталог() Тогда
|
||||||
|
|
||||||
Счетчик = 1;
|
Счетчик = 1;
|
||||||
|
|
||||||
Пока ФайлБазы.Существует() Цикл
|
Пока ФайлБазы.Существует() Цикл
|
||||||
|
|
||||||
Путь = Путь + "/new_project_" + Строка(Счетчик) + ".oint";
|
Путь = Путь + "/new_project_" + Строка(Счетчик) + ".oint";
|
||||||
ФайлБазы = Новый Файл(Путь);
|
ФайлБазы = Новый Файл(Путь);
|
||||||
|
|
||||||
@ -175,60 +175,60 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ПолныйПуть = ФайлБазы.ПолноеИмя;
|
ПолныйПуть = ФайлБазы.ПолноеИмя;
|
||||||
|
|
||||||
Если Не ФайлБазы.Существует() Тогда
|
Если Не ФайлБазы.Существует() Тогда
|
||||||
|
|
||||||
Результат = СоздатьНовыйПроект(ПолныйПуть);
|
Результат = СоздатьНовыйПроект(ПолныйПуть);
|
||||||
|
|
||||||
Если Результат["result"] Тогда
|
Если Результат["result"] Тогда
|
||||||
Текст = "Файл проекта успешно создан!";
|
Текст = "Файл проекта успешно создан!";
|
||||||
Ответ = СформироватьОтвет(Истина, Текст, ПолныйПуть);
|
Ответ = СформироватьОтвет(Истина, Текст, ПолныйПуть);
|
||||||
Иначе
|
Иначе
|
||||||
Ответ = Результат;
|
Ответ = Результат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Текст = "Файл проекта по заданному пути уже существует!";
|
Текст = "Файл проекта по заданному пути уже существует!";
|
||||||
Ответ = СформироватьОтвет(Ложь, Текст, ПолныйПуть);
|
Ответ = СформироватьОтвет(Ложь, Текст, ПолныйПуть);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СформироватьОтвет(Знач Результат, Знач Текст, Знач Путь = "")
|
Функция СформироватьОтвет(Знач Результат, Знач Текст, Знач Путь = "")
|
||||||
|
|
||||||
Ответ = Новый Структура("result,message", Ложь, Текст);
|
Ответ = Новый Структура("result,message", Ложь, Текст);
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(Путь) Тогда
|
Если ЗначениеЗаполнено(Путь) Тогда
|
||||||
Ответ.Вставить("path", Путь);
|
Ответ.Вставить("path", Путь);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция КонстантноеЗначение(Знач Ключ)
|
Функция КонстантноеЗначение(Знач Ключ)
|
||||||
|
|
||||||
Если Ключ = "ТаблицаОбработчиков" Тогда Возврат "handlers"
|
Если Ключ = "ТаблицаОбработчиков" Тогда Возврат "handlers"
|
||||||
Иначе Возврат "" КонецЕсли;
|
Иначе Возврат "" КонецЕсли;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СоздатьНовыйПроект(Путь)
|
Функция СоздатьНовыйПроект(Путь)
|
||||||
|
|
||||||
ПустойФайл = ПолучитьДвоичныеДанныеИзСтроки("");
|
ПустойФайл = ПолучитьДвоичныеДанныеИзСтроки("");
|
||||||
ПустойФайл.Записать(Путь);
|
ПустойФайл.Записать(Путь);
|
||||||
|
|
||||||
Результат = СоздатьТаблицуОбработчиков(Путь);
|
Результат = СоздатьТаблицуОбработчиков(Путь);
|
||||||
|
|
||||||
Если Не Результат["reuslt"] Тогда
|
Если Не Результат["reuslt"] Тогда
|
||||||
УдалитьФайлы(Путь);
|
УдалитьФайлы(Путь);
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СоздатьТаблицуОбработчиков(Путь)
|
Функция СоздатьТаблицуОбработчиков(Путь)
|
||||||
@ -240,8 +240,8 @@
|
|||||||
СтруктураТаблицы.Вставить("method", "TEXT");
|
СтруктураТаблицы.Вставить("method", "TEXT");
|
||||||
|
|
||||||
ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков");
|
ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков");
|
||||||
Результат = OPI_SQLite.СоздатьТаблицу(ИмяТаблицыОбработчиков, СтруктураТаблицы, Путь);
|
Результат = OPI_SQLite.СоздатьТаблицу(ИмяТаблицыОбработчиков, СтруктураТаблицы, Путь);
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@ -252,15 +252,15 @@
|
|||||||
|
|
||||||
Процедура ОсновнаяОбработка(Контекст, СледующийОбработчик) Экспорт
|
Процедура ОсновнаяОбработка(Контекст, СледующийОбработчик) Экспорт
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
ОбработатьЗапрос(Контекст);
|
ОбработатьЗапрос(Контекст);
|
||||||
Исключение
|
Исключение
|
||||||
|
|
||||||
Ошибка = ОписаниеОшибки();
|
Ошибка = ОписаниеОшибки();
|
||||||
|
|
||||||
Контекст.Ответ.КодСостояния = 500;
|
Контекст.Ответ.КодСостояния = 500;
|
||||||
Контекст.Ответ.Записать(Ошибка);
|
Контекст.Ответ.Записать(Ошибка);
|
||||||
|
|
||||||
КонецПопытки
|
КонецПопытки
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -268,7 +268,7 @@
|
|||||||
Процедура ОбработатьЗапрос(Контекст)
|
Процедура ОбработатьЗапрос(Контекст)
|
||||||
|
|
||||||
// Путь = Контекст.Запрос.Путь;
|
// Путь = Контекст.Запрос.Путь;
|
||||||
|
|
||||||
Контекст.Ответ.КодСостояния = 200;
|
Контекст.Ответ.КодСостояния = 200;
|
||||||
Контекст.Ответ.Записать("Hello world!");
|
Контекст.Ответ.Записать("Hello world!");
|
||||||
|
|
||||||
|
@ -2138,9 +2138,9 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ПолучитьОбщийМодуль(Знач Имя)
|
Функция ПолучитьОбщийМодуль(Знач Имя)
|
||||||
|
|
||||||
Модуль = Вычислить(Имя);
|
Модуль = Вычислить(Имя);
|
||||||
|
|
||||||
Возврат Модуль;
|
Возврат Модуль;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
@ -48,37 +48,37 @@
|
|||||||
|
|
||||||
// Создать проект
|
// Создать проект
|
||||||
// Создает файл проекта по выбранному пути
|
// Создает файл проекта по выбранному пути
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Путь - Строка - Путь к файлу проекта - path
|
// Путь - Строка - Путь к файлу проекта - path
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура Из КлючИЗначение - результат создания
|
// Структура Из КлючИЗначение - результат создания
|
||||||
Функция СоздатьПроект(Знач Путь) Экспорт
|
Функция СоздатьПроект(Знач Путь) Экспорт
|
||||||
|
|
||||||
Возврат НормализоватьПроект(Путь);
|
Возврат НормализоватьПроект(Путь);
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Добавить обработчик запросов
|
// Добавить обработчик запросов
|
||||||
// Добавляет новый обработчик в проект
|
// Добавляет новый обработчик в проект
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Проект - Строка - Путь к файлу проекта - proj
|
// Проект - Строка - Путь к файлу проекта - proj
|
||||||
// Имя - Строка - Имя нового обработчика - name
|
// Имя - Строка - Имя нового обработчика - name
|
||||||
// СекретныйКлюч - Строка - Секретный ключ для URL обработчика - secret
|
// СекретныйКлюч - Строка - Секретный ключ для URL обработчика - secret
|
||||||
// Метод - Строка - HTTP метод, который будет обрабатывать обработчик: GET, POST, MULTIPART - method
|
// Метод - Строка - HTTP метод, который будет обрабатывать обработчик: GET, POST, MULTIPART - method
|
||||||
//
|
//
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура Из КлючИЗначение - результат добавления обработчика
|
// Структура Из КлючИЗначение - результат добавления обработчика
|
||||||
Функция ДобавитьОбработчикЗапросов(Знач Проект, Знач Имя, Знач СекретныйКлюч, Знач Метод = "GET") Экспорт
|
Функция ДобавитьОбработчикЗапросов(Знач Проект, Знач Имя, Знач СекретныйКлюч, Знач Метод = "GET") Экспорт
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Имя);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Имя);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(СекретныйКлюч);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(СекретныйКлюч);
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Метод);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Метод);
|
||||||
|
|
||||||
Результат = ПроверитьСуществованиеПроекта(Проект);
|
Результат = ПроверитьСуществованиеПроекта(Проект);
|
||||||
|
|
||||||
Если Не Результат["result"] Тогда
|
Если Не Результат["result"] Тогда
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
Иначе
|
Иначе
|
||||||
@ -89,36 +89,36 @@
|
|||||||
МассивДанных.Добавить(Новый Структура("name,secret,method", Имя, СекретныйКлюч, Метод));
|
МассивДанных.Добавить(Новый Структура("name,secret,method", Имя, СекретныйКлюч, Метод));
|
||||||
|
|
||||||
ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков");
|
ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков");
|
||||||
Результат = OPI_SQLite.ДобавитьЗаписи(ИмяТаблицыОбработчиков, МассивДанных, , Проект);
|
Результат = OPI_SQLite.ДобавитьЗаписи(ИмяТаблицыОбработчиков, МассивДанных, , Проект);
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
// Запустить
|
// Запустить
|
||||||
// Запускает прокси сервер интеграций
|
// Запускает прокси сервер интеграций
|
||||||
//
|
//
|
||||||
// Параметры:
|
// Параметры:
|
||||||
// Порт - Число - Порт запуска сервера - port
|
// Порт - Число - Порт запуска сервера - port
|
||||||
// Проект - Строка - Путь к файлу проекта - proj
|
// Проект - Строка - Путь к файлу проекта - proj
|
||||||
// Возвращаемое значение:
|
// Возвращаемое значение:
|
||||||
// Структура Из КлючИЗначение - результат остановки сервера
|
// Структура Из КлючИЗначение - результат остановки сервера
|
||||||
Функция Запустить(Знач Порт, Знач Проект) Экспорт
|
Функция Запустить(Знач Порт, Знач Проект) Экспорт
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьЧисло(Порт);
|
OPI_ПреобразованиеТипов.ПолучитьЧисло(Порт);
|
||||||
|
|
||||||
ТипСервер = Тип("ВебСервер");
|
ТипСервер = Тип("ВебСервер");
|
||||||
|
|
||||||
ПараметрыСервера = Новый Массив(1);
|
ПараметрыСервера = Новый Массив(1);
|
||||||
ПараметрыСервера[0] = Порт;
|
ПараметрыСервера[0] = Порт;
|
||||||
|
|
||||||
ВебСервер = Новый(ТипСервер, ПараметрыСервера);
|
ВебСервер = Новый(ТипСервер, ПараметрыСервера);
|
||||||
|
|
||||||
ВебСервер.ДобавитьОбработчикЗапросов(ЭтотОбъект, "ОсновнаяОбработка");
|
ВебСервер.ДобавитьОбработчикЗапросов(ЭтотОбъект, "ОсновнаяОбработка");
|
||||||
ВебСервер.Запустить();
|
ВебСервер.Запустить();
|
||||||
|
|
||||||
Возврат СформироватьОтвет(Истина, "Остановлен");
|
Возврат СформироватьОтвет(Истина, "Остановлен");
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
@ -132,23 +132,23 @@
|
|||||||
Функция ПроверитьСуществованиеПроекта(Путь)
|
Функция ПроверитьСуществованиеПроекта(Путь)
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||||
|
|
||||||
ФайлПроекта = Новый Файл(Путь);
|
ФайлПроекта = Новый Файл(Путь);
|
||||||
Текст = "Файл проекта существует!";
|
Текст = "Файл проекта существует!";
|
||||||
Результат = Истина;
|
Результат = Истина;
|
||||||
|
|
||||||
Если Не ФайлПроекта.Существует() Тогда
|
Если Не ФайлПроекта.Существует() Тогда
|
||||||
Текст = "Файл проекта по указанному пути не найден!";
|
Текст = "Файл проекта по указанному пути не найден!";
|
||||||
Результат = Ложь;
|
Результат = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Если ФайлПроекта.ЭтоКаталог() Тогда
|
Если ФайлПроекта.ЭтоКаталог() Тогда
|
||||||
Текст = "Передан путь к каталогу, а не файл проекта!";
|
Текст = "Передан путь к каталогу, а не файл проекта!";
|
||||||
Результат = Ложь;
|
Результат = Ложь;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
СтруктураОтвета = СформироватьОтвет(Результат, Текст, ФайлПроекта.ПолноеИмя);
|
СтруктураОтвета = СформироватьОтвет(Результат, Текст, ФайлПроекта.ПолноеИмя);
|
||||||
|
|
||||||
Возврат СтруктураОтвета;
|
Возврат СтруктураОтвета;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@ -156,15 +156,15 @@
|
|||||||
Функция НормализоватьПроект(Путь)
|
Функция НормализоватьПроект(Путь)
|
||||||
|
|
||||||
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
OPI_ПреобразованиеТипов.ПолучитьСтроку(Путь);
|
||||||
|
|
||||||
ФайлБазы = Новый Файл(Путь);
|
ФайлБазы = Новый Файл(Путь);
|
||||||
|
|
||||||
Если ФайлБазы.ЭтоКаталог() Тогда
|
Если ФайлБазы.ЭтоКаталог() Тогда
|
||||||
|
|
||||||
Счетчик = 1;
|
Счетчик = 1;
|
||||||
|
|
||||||
Пока ФайлБазы.Существует() Цикл
|
Пока ФайлБазы.Существует() Цикл
|
||||||
|
|
||||||
Путь = Путь + "/new_project_" + Строка(Счетчик) + ".oint";
|
Путь = Путь + "/new_project_" + Строка(Счетчик) + ".oint";
|
||||||
ФайлБазы = Новый Файл(Путь);
|
ФайлБазы = Новый Файл(Путь);
|
||||||
|
|
||||||
@ -175,60 +175,60 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
ПолныйПуть = ФайлБазы.ПолноеИмя;
|
ПолныйПуть = ФайлБазы.ПолноеИмя;
|
||||||
|
|
||||||
Если Не ФайлБазы.Существует() Тогда
|
Если Не ФайлБазы.Существует() Тогда
|
||||||
|
|
||||||
Результат = СоздатьНовыйПроект(ПолныйПуть);
|
Результат = СоздатьНовыйПроект(ПолныйПуть);
|
||||||
|
|
||||||
Если Результат["result"] Тогда
|
Если Результат["result"] Тогда
|
||||||
Текст = "Файл проекта успешно создан!";
|
Текст = "Файл проекта успешно создан!";
|
||||||
Ответ = СформироватьОтвет(Истина, Текст, ПолныйПуть);
|
Ответ = СформироватьОтвет(Истина, Текст, ПолныйПуть);
|
||||||
Иначе
|
Иначе
|
||||||
Ответ = Результат;
|
Ответ = Результат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Иначе
|
Иначе
|
||||||
|
|
||||||
Текст = "Файл проекта по заданному пути уже существует!";
|
Текст = "Файл проекта по заданному пути уже существует!";
|
||||||
Ответ = СформироватьОтвет(Ложь, Текст, ПолныйПуть);
|
Ответ = СформироватьОтвет(Ложь, Текст, ПолныйПуть);
|
||||||
|
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СформироватьОтвет(Знач Результат, Знач Текст, Знач Путь = "")
|
Функция СформироватьОтвет(Знач Результат, Знач Текст, Знач Путь = "")
|
||||||
|
|
||||||
Ответ = Новый Структура("result,message", Ложь, Текст);
|
Ответ = Новый Структура("result,message", Ложь, Текст);
|
||||||
|
|
||||||
Если ЗначениеЗаполнено(Путь) Тогда
|
Если ЗначениеЗаполнено(Путь) Тогда
|
||||||
Ответ.Вставить("path", Путь);
|
Ответ.Вставить("path", Путь);
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Ответ;
|
Возврат Ответ;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция КонстантноеЗначение(Знач Ключ)
|
Функция КонстантноеЗначение(Знач Ключ)
|
||||||
|
|
||||||
Если Ключ = "ТаблицаОбработчиков" Тогда Возврат "handlers"
|
Если Ключ = "ТаблицаОбработчиков" Тогда Возврат "handlers"
|
||||||
Иначе Возврат "" КонецЕсли;
|
Иначе Возврат "" КонецЕсли;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СоздатьНовыйПроект(Путь)
|
Функция СоздатьНовыйПроект(Путь)
|
||||||
|
|
||||||
ПустойФайл = ПолучитьДвоичныеДанныеИзСтроки("");
|
ПустойФайл = ПолучитьДвоичныеДанныеИзСтроки("");
|
||||||
ПустойФайл.Записать(Путь);
|
ПустойФайл.Записать(Путь);
|
||||||
|
|
||||||
Результат = СоздатьТаблицуОбработчиков(Путь);
|
Результат = СоздатьТаблицуОбработчиков(Путь);
|
||||||
|
|
||||||
Если Не Результат["reuslt"] Тогда
|
Если Не Результат["reuslt"] Тогда
|
||||||
УдалитьФайлы(Путь);
|
УдалитьФайлы(Путь);
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СоздатьТаблицуОбработчиков(Путь)
|
Функция СоздатьТаблицуОбработчиков(Путь)
|
||||||
@ -240,8 +240,8 @@
|
|||||||
СтруктураТаблицы.Вставить("method", "TEXT");
|
СтруктураТаблицы.Вставить("method", "TEXT");
|
||||||
|
|
||||||
ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков");
|
ИмяТаблицыОбработчиков = КонстантноеЗначение("ТаблицаОбработчиков");
|
||||||
Результат = OPI_SQLite.СоздатьТаблицу(ИмяТаблицыОбработчиков, СтруктураТаблицы, Путь);
|
Результат = OPI_SQLite.СоздатьТаблицу(ИмяТаблицыОбработчиков, СтруктураТаблицы, Путь);
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
|
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@ -252,15 +252,15 @@
|
|||||||
|
|
||||||
Процедура ОсновнаяОбработка(Контекст, СледующийОбработчик) Экспорт
|
Процедура ОсновнаяОбработка(Контекст, СледующийОбработчик) Экспорт
|
||||||
|
|
||||||
Попытка
|
Попытка
|
||||||
ОбработатьЗапрос(Контекст);
|
ОбработатьЗапрос(Контекст);
|
||||||
Исключение
|
Исключение
|
||||||
|
|
||||||
Ошибка = ОписаниеОшибки();
|
Ошибка = ОписаниеОшибки();
|
||||||
|
|
||||||
Контекст.Ответ.КодСостояния = 500;
|
Контекст.Ответ.КодСостояния = 500;
|
||||||
Контекст.Ответ.Записать(Ошибка);
|
Контекст.Ответ.Записать(Ошибка);
|
||||||
|
|
||||||
КонецПопытки
|
КонецПопытки
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
@ -268,7 +268,7 @@
|
|||||||
Процедура ОбработатьЗапрос(Контекст)
|
Процедура ОбработатьЗапрос(Контекст)
|
||||||
|
|
||||||
// Путь = Контекст.Запрос.Путь;
|
// Путь = Контекст.Запрос.Путь;
|
||||||
|
|
||||||
Контекст.Ответ.КодСостояния = 200;
|
Контекст.Ответ.КодСостояния = 200;
|
||||||
Контекст.Ответ.Записать("Hello world!");
|
Контекст.Ответ.Записать("Hello world!");
|
||||||
|
|
||||||
@ -276,4 +276,4 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
@ -12,33 +12,75 @@
|
|||||||
|
|
||||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||||
НоваяСтрока.Библиотека = "proxy";
|
НоваяСтрока.Библиотека = "proxy";
|
||||||
НоваяСтрока.Модуль = "ПроксиСервер";
|
НоваяСтрока.Модуль = "OPI_ПроксиИнтеграций";
|
||||||
|
НоваяСтрока.Метод = "СоздатьПроект";
|
||||||
|
НоваяСтрока.МетодПоиска = "СОЗДАТЬПРОЕКТ";
|
||||||
|
НоваяСтрока.Параметр = "--path";
|
||||||
|
НоваяСтрока.Описание = "Путь к файлу проекта";
|
||||||
|
НоваяСтрока.Область = "Настройки прокси";
|
||||||
|
НоваяСтрока.ОписаниеМетода = "Создает файл проекта по выбранному пути";
|
||||||
|
|
||||||
|
|
||||||
|
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||||
|
НоваяСтрока.Библиотека = "proxy";
|
||||||
|
НоваяСтрока.Модуль = "OPI_ПроксиИнтеграций";
|
||||||
|
НоваяСтрока.Метод = "ДобавитьОбработчикЗапросов";
|
||||||
|
НоваяСтрока.МетодПоиска = "ДОБАВИТЬОБРАБОТЧИКЗАПРОСОВ";
|
||||||
|
НоваяСтрока.Параметр = "--proj";
|
||||||
|
НоваяСтрока.Описание = "Путь к файлу проекта";
|
||||||
|
НоваяСтрока.Область = "Настройки прокси";
|
||||||
|
НоваяСтрока.ОписаниеМетода = "Добавляет новый обработчик в проект";
|
||||||
|
|
||||||
|
|
||||||
|
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||||
|
НоваяСтрока.Библиотека = "proxy";
|
||||||
|
НоваяСтрока.Модуль = "OPI_ПроксиИнтеграций";
|
||||||
|
НоваяСтрока.Метод = "ДобавитьОбработчикЗапросов";
|
||||||
|
НоваяСтрока.МетодПоиска = "ДОБАВИТЬОБРАБОТЧИКЗАПРОСОВ";
|
||||||
|
НоваяСтрока.Параметр = "--name";
|
||||||
|
НоваяСтрока.Описание = "Имя нового обработчика";
|
||||||
|
НоваяСтрока.Область = "Настройки прокси";
|
||||||
|
|
||||||
|
|
||||||
|
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||||
|
НоваяСтрока.Библиотека = "proxy";
|
||||||
|
НоваяСтрока.Модуль = "OPI_ПроксиИнтеграций";
|
||||||
|
НоваяСтрока.Метод = "ДобавитьОбработчикЗапросов";
|
||||||
|
НоваяСтрока.МетодПоиска = "ДОБАВИТЬОБРАБОТЧИКЗАПРОСОВ";
|
||||||
|
НоваяСтрока.Параметр = "--secret";
|
||||||
|
НоваяСтрока.Описание = "Секретный ключ для URL обработчика";
|
||||||
|
НоваяСтрока.Область = "Настройки прокси";
|
||||||
|
|
||||||
|
|
||||||
|
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||||
|
НоваяСтрока.Библиотека = "proxy";
|
||||||
|
НоваяСтрока.Модуль = "OPI_ПроксиИнтеграций";
|
||||||
|
НоваяСтрока.Метод = "ДобавитьОбработчикЗапросов";
|
||||||
|
НоваяСтрока.МетодПоиска = "ДОБАВИТЬОБРАБОТЧИКЗАПРОСОВ";
|
||||||
|
НоваяСтрока.Параметр = "--method";
|
||||||
|
НоваяСтрока.Описание = "HTTP метод, который будет обрабатывать обработчик: GET, POST, MULTIPART (необяз. по ум. - GET)";
|
||||||
|
НоваяСтрока.Область = "Настройки прокси";
|
||||||
|
|
||||||
|
|
||||||
|
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||||
|
НоваяСтрока.Библиотека = "proxy";
|
||||||
|
НоваяСтрока.Модуль = "OPI_ПроксиИнтеграций";
|
||||||
НоваяСтрока.Метод = "Запустить";
|
НоваяСтрока.Метод = "Запустить";
|
||||||
НоваяСтрока.МетодПоиска = "ЗАПУСТИТЬ";
|
НоваяСтрока.МетодПоиска = "ЗАПУСТИТЬ";
|
||||||
НоваяСтрока.Параметр = "--port";
|
НоваяСтрока.Параметр = "--port";
|
||||||
НоваяСтрока.Описание = "Порт запуска сервера";
|
НоваяСтрока.Описание = "Порт запуска сервера";
|
||||||
НоваяСтрока.Область = "Служебный программный интерфейс";
|
НоваяСтрока.Область = "Настройки прокси";
|
||||||
НоваяСтрока.ОписаниеМетода = "Запускает прокси сервер интеграций";
|
НоваяСтрока.ОписаниеМетода = "Запускает прокси сервер интеграций";
|
||||||
|
|
||||||
|
|
||||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
НоваяСтрока = ТаблицаСостава.Добавить();
|
||||||
НоваяСтрока.Библиотека = "proxy";
|
НоваяСтрока.Библиотека = "proxy";
|
||||||
НоваяСтрока.Модуль = "ПроксиСервер";
|
НоваяСтрока.Модуль = "OPI_ПроксиИнтеграций";
|
||||||
НоваяСтрока.Метод = "Запустить";
|
НоваяСтрока.Метод = "Запустить";
|
||||||
НоваяСтрока.МетодПоиска = "ЗАПУСТИТЬ";
|
НоваяСтрока.МетодПоиска = "ЗАПУСТИТЬ";
|
||||||
НоваяСтрока.Параметр = "--proj";
|
НоваяСтрока.Параметр = "--proj";
|
||||||
НоваяСтрока.Описание = "Путь к файлу проекта";
|
НоваяСтрока.Описание = "Путь к файлу проекта";
|
||||||
НоваяСтрока.Область = "Служебный программный интерфейс";
|
НоваяСтрока.Область = "Настройки прокси";
|
||||||
|
|
||||||
|
|
||||||
НоваяСтрока = ТаблицаСостава.Добавить();
|
|
||||||
НоваяСтрока.Библиотека = "proxy";
|
|
||||||
НоваяСтрока.Модуль = "ПроксиСервер";
|
|
||||||
НоваяСтрока.Метод = "Запустить";
|
|
||||||
НоваяСтрока.МетодПоиска = "ЗАПУСТИТЬ";
|
|
||||||
НоваяСтрока.Параметр = "--pass";
|
|
||||||
НоваяСтрока.Описание = "Пароль проекта";
|
|
||||||
НоваяСтрока.Область = "Служебный программный интерфейс";
|
|
||||||
|
|
||||||
Возврат ТаблицаСостава;
|
Возврат ТаблицаСостава;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
Функция ПолучитьСоответствиеКомандМодулей() Экспорт
|
Функция ПолучитьСоответствиеКомандМодулей() Экспорт
|
||||||
СоответствиеКомандМодулей = Новый Соответствие();
|
СоответствиеКомандМодулей = Новый Соответствие();
|
||||||
СоответствиеКомандМодулей.Вставить("proxy", "ПроксиСервер");
|
|
||||||
СоответствиеКомандМодулей.Вставить("tools", "Утилиты");
|
СоответствиеКомандМодулей.Вставить("tools", "Утилиты");
|
||||||
СоответствиеКомандМодулей.Вставить("airtable", "OPI_Airtable");
|
СоответствиеКомандМодулей.Вставить("airtable", "OPI_Airtable");
|
||||||
СоответствиеКомандМодулей.Вставить("bitrix24", "OPI_Bitrix24");
|
СоответствиеКомандМодулей.Вставить("bitrix24", "OPI_Bitrix24");
|
||||||
@ -33,6 +32,7 @@
|
|||||||
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
СоответствиеКомандМодулей.Вставить("yandex", "OPI_YandexID");
|
||||||
СоответствиеКомандМодулей.Вставить("yamarket", "OPI_YandexMarket");
|
СоответствиеКомандМодулей.Вставить("yamarket", "OPI_YandexMarket");
|
||||||
СоответствиеКомандМодулей.Вставить("metrika", "OPI_YandexMetrika");
|
СоответствиеКомандМодулей.Вставить("metrika", "OPI_YandexMetrika");
|
||||||
|
СоответствиеКомандМодулей.Вставить("proxy", "OPI_ПроксиИнтеграций");
|
||||||
Возврат СоответствиеКомандМодулей;
|
Возврат СоответствиеКомандМодулей;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user