You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-27 22:18:36 +02:00
Main build (Jenkins)
This commit is contained in:
4
ci/cli_ostestru
vendored
4
ci/cli_ostestru
vendored
@@ -797,6 +797,10 @@ pipeline {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_HTTP_УстановкаТела"'
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_ТестыCLI.os" "CLI_HTTP_Настройки"'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
4
ci/ostestru
vendored
4
ci/ostestru
vendored
@@ -797,6 +797,10 @@ pipeline {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "HTTP_УстановкаТела"'
|
||||
}
|
||||
|
||||
catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
|
||||
powershell encoding: 'UTF-8', script:'1testrunner -run "./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os" "HTTP_Настройки"'
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
4
docs/en/data/HTTPClient/UseGzipCompression.json
vendored
Normal file
4
docs/en/data/HTTPClient/UseGzipCompression.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"URL": "https://httpbin.org",
|
||||
"Image": "https://api.athenaeum.digital/test_data/picture.jpg"
|
||||
}
|
||||
11
docs/en/examples/HTTPClient/UseGzipCompression.txt
vendored
Normal file
11
docs/en/examples/HTTPClient/UseGzipCompression.txt
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
URL = "https://httpbin.org";
|
||||
URL = URL + "/post";
|
||||
|
||||
Image = "https://api.athenaeum.digital/test_data/picture.jpg"; // URL, Path or Binary Data
|
||||
|
||||
Result = OPI_HTTPRequests.NewRequest()
|
||||
.Initialize(URL)
|
||||
.SetBinaryBody(Image)
|
||||
.UseGzipCompression(True) // <---
|
||||
.ProcessRequest("POST", False)
|
||||
.ReturnRequest();
|
||||
@@ -1,6 +1,6 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
Chat = "-1001971186208";
|
||||
Topic = "9380";
|
||||
Topic = "9501";
|
||||
|
||||
Result = OPI_Telegram.ClearThreadPinnedMessagesList(Token, Chat);
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
Chat = "-1001971186208";
|
||||
Topic = "9380";
|
||||
Topic = "9501";
|
||||
|
||||
Result = OPI_Telegram.CloseForumThread(Token, Chat); // Closes main topic
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
Chat = "-1001971186208";
|
||||
Topic = "9380";
|
||||
Topic = "9501";
|
||||
|
||||
Result = OPI_Telegram.DeleteForumTopic(Token, Chat, Topic);
|
||||
|
||||
2
docs/en/examples/Telegram/DeleteMessage.txt
vendored
2
docs/en/examples/Telegram/DeleteMessage.txt
vendored
@@ -1,5 +1,5 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChatID = "@testsichee";
|
||||
MessageID = "16818";
|
||||
MessageID = "16843";
|
||||
|
||||
Result = OPI_Telegram.DeleteMessage(Token, ChatID, MessageID);
|
||||
|
||||
2
docs/en/examples/Telegram/DownloadFile.txt
vendored
2
docs/en/examples/Telegram/DownloadFile.txt
vendored
@@ -1,4 +1,4 @@
|
||||
FileID = "CQACAgIAAx0EcNsaZQACQPRoEn4N8q46RiaMrRJhtG9hRymgGgACRXkAAjMGkEghikYRor4RHjYE";
|
||||
FileID = "CQACAgIAAx0EcNsaZQACQdRoGbvF3fuKZMsxtEog0TwMMxooCAACJn0AAr4g0UiDZa2BkAzQeDYE";
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
|
||||
Result = OPI_Telegram.DownloadFile(Token, FileID);
|
||||
|
||||
2
docs/en/examples/Telegram/EditForumTopic.txt
vendored
2
docs/en/examples/Telegram/EditForumTopic.txt
vendored
@@ -1,6 +1,6 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
Chat = "-1001971186208";
|
||||
Topic = "9380";
|
||||
Topic = "9501";
|
||||
NewName = "NewTestTitle";
|
||||
NewIcon = "5310132165583840589";
|
||||
|
||||
|
||||
2
docs/en/examples/Telegram/ForwardMessage.txt
vendored
2
docs/en/examples/Telegram/ForwardMessage.txt
vendored
@@ -1,6 +1,6 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChatID = "461699897";
|
||||
ChannelID = "@testsichee";
|
||||
MessageID = "16818";
|
||||
MessageID = "16843";
|
||||
|
||||
Result = OPI_Telegram.ForwardMessage(Token, MessageID, ChannelID, ChatID);
|
||||
|
||||
2
docs/en/examples/Telegram/OpenForumTopic.txt
vendored
2
docs/en/examples/Telegram/OpenForumTopic.txt
vendored
@@ -1,6 +1,6 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
Chat = "-1001971186208";
|
||||
Topic = "9380";
|
||||
Topic = "9501";
|
||||
|
||||
Result = OPI_Telegram.OpenForumThread(Token, Chat); // Opens main topic
|
||||
|
||||
|
||||
2
docs/en/examples/Telegram/PinMessage.txt
vendored
2
docs/en/examples/Telegram/PinMessage.txt
vendored
@@ -1,5 +1,5 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChannelID = "@testsichee";
|
||||
MessageID = "16818";
|
||||
MessageID = "16843";
|
||||
|
||||
Result = OPI_Telegram.PinMessage(Token, ChannelID, MessageID);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChatID = "461699897";
|
||||
MessageID = "13338";
|
||||
MessageID = "13498";
|
||||
|
||||
Description = "New picture description";
|
||||
Result = OPI_Telegram.ReplaceMessageCaption(Token, ChatID, MessageID, Description);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChatID = "461699897";
|
||||
MessageID = "13480";
|
||||
MessageID = "13495";
|
||||
|
||||
ButtonArray = New Array;
|
||||
ButtonArray.Add("New button 3");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChatID = "@testsichee";
|
||||
MessageID = "16818";
|
||||
MessageID = "16843";
|
||||
Text = "New message text";
|
||||
|
||||
Result = OPI_Telegram.ReplaceMessageText(Token, ChatID, MessageID, Text);
|
||||
|
||||
2
docs/en/examples/Telegram/UnpinMessage.txt
vendored
2
docs/en/examples/Telegram/UnpinMessage.txt
vendored
@@ -1,5 +1,5 @@
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChannelID = "@testsichee";
|
||||
MessageID = "16818";
|
||||
MessageID = "16843";
|
||||
|
||||
Result = OPI_Telegram.UnpinMessage(Token, ChannelID, MessageID);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
sidebar_position: 3
|
||||
description: Add AWS4 authorization and other functions to work with HTTP-client in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, HTTP-client]
|
||||
---
|
||||
|
||||
36
docs/en/md/HTTP-client/Authorization/Add-bearer-authorization.mdx
vendored
Normal file
36
docs/en/md/HTTP-client/Authorization/Add-bearer-authorization.mdx
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
description: Add Bearer authorization and other functions to work with HTTP-client in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, HTTP-client]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Add Bearer authorization
|
||||
Adds a request header for Bearer authorization
|
||||
|
||||
|
||||
|
||||
`Function AddBearerAuthorization(Val Token) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Token | --token | String | ✔ | Bearer token value |
|
||||
|
||||
|
||||
Returns: DataProcessorObject.OPI_HTTPClient - This processor object
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
42
docs/en/md/HTTP-client/Headers-setting/Add-header.mdx
vendored
Normal file
42
docs/en/md/HTTP-client/Headers-setting/Add-header.mdx
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
description: Add header and other functions to work with HTTP-client in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
||||
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, HTTP-client]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Add header
|
||||
Adds a header to the request header set
|
||||
|
||||
|
||||
|
||||
`Function AddHeader(Val Name, Val Value) Export`
|
||||
|
||||
| Parameter | CLI option | Type | Required | Description |
|
||||
|-|-|-|-|-|
|
||||
| Name | - | String | ✔ | Header key |
|
||||
| Value | - | String | ✔ | Header value |
|
||||
|
||||
|
||||
Returns: DataProcessorObject.OPI_HTTPClient - This processor object
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** this method is not available in CLI version
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -35,7 +35,17 @@ By default, the response from the server is requested with gzip compression
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
URL = "https://httpbin.org";
|
||||
URL = URL + "/post";
|
||||
|
||||
Image = "https://api.athenaeum.digital/test_data/picture.jpg"; // URL, Path or Binary Data
|
||||
|
||||
Result = OPI_HTTPRequests.NewRequest()
|
||||
.Initialize(URL)
|
||||
.SetBinaryBody(Image)
|
||||
.UseGzipCompression(True) // <---
|
||||
.ProcessRequest("POST", False)
|
||||
.ReturnRequest();
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ Method at API documentation: [pinChatMessage](https://core.telegram.org/bots/api
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChannelID = "@testsichee";
|
||||
MessageID = "16818";
|
||||
MessageID = "16843";
|
||||
|
||||
Result = OPI_Telegram.PinMessage(Token, ChannelID, MessageID);
|
||||
```
|
||||
|
||||
@@ -35,7 +35,7 @@ Method at API documentation: [unpinChatMessage](https://core.telegram.org/bots/a
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChannelID = "@testsichee";
|
||||
MessageID = "16818";
|
||||
MessageID = "16843";
|
||||
|
||||
Result = OPI_Telegram.UnpinMessage(Token, ChannelID, MessageID);
|
||||
```
|
||||
|
||||
@@ -32,7 +32,7 @@ Method at API documentation: [getFile](https://core.telegram.org/bots/api#getfil
|
||||
|
||||
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
FileID = "CQACAgIAAx0EcNsaZQACQPRoEn4N8q46RiaMrRJhtG9hRymgGgACRXkAAjMGkEghikYRor4RHjYE";
|
||||
FileID = "CQACAgIAAx0EcNsaZQACQdRoGbvF3fuKZMsxtEog0TwMMxooCAACJn0AAr4g0UiDZa2BkAzQeDYE";
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
|
||||
Result = OPI_Telegram.DownloadFile(Token, FileID);
|
||||
|
||||
@@ -35,7 +35,7 @@ Method at API documentation: [deleteMessage](https://core.telegram.org/bots/api#
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChatID = "@testsichee";
|
||||
MessageID = "16818";
|
||||
MessageID = "16843";
|
||||
|
||||
Result = OPI_Telegram.DeleteMessage(Token, ChatID, MessageID);
|
||||
```
|
||||
|
||||
@@ -37,7 +37,7 @@ Method at API documentation: [forwardMessage](https://core.telegram.org/bots/api
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChatID = "461699897";
|
||||
ChannelID = "@testsichee";
|
||||
MessageID = "16818";
|
||||
MessageID = "16843";
|
||||
|
||||
Result = OPI_Telegram.ForwardMessage(Token, MessageID, ChannelID, ChatID);
|
||||
```
|
||||
|
||||
@@ -37,7 +37,7 @@ Method at API documentation: [editMessageCaption](https://core.telegram.org/bots
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChatID = "461699897";
|
||||
MessageID = "13338";
|
||||
MessageID = "13498";
|
||||
|
||||
Description = "New picture description";
|
||||
Result = OPI_Telegram.ReplaceMessageCaption(Token, ChatID, MessageID, Description);
|
||||
|
||||
@@ -36,7 +36,7 @@ Method at API documentation: [editMessageReplyMarkup](https://core.telegram.org/
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChatID = "461699897";
|
||||
MessageID = "13480";
|
||||
MessageID = "13495";
|
||||
|
||||
ButtonArray = New Array;
|
||||
ButtonArray.Add("New button 3");
|
||||
|
||||
@@ -37,7 +37,7 @@ Method at API documentation: [editMessageText](https://core.telegram.org/bots/ap
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
ChatID = "@testsichee";
|
||||
MessageID = "16818";
|
||||
MessageID = "16843";
|
||||
Text = "New message text";
|
||||
|
||||
Result = OPI_Telegram.ReplaceMessageText(Token, ChatID, MessageID, Text);
|
||||
|
||||
@@ -35,7 +35,7 @@ Method at API documentation: [deleteForumTopic](https://core.telegram.org/bots/a
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
Chat = "-1001971186208";
|
||||
Topic = "9380";
|
||||
Topic = "9501";
|
||||
|
||||
Result = OPI_Telegram.DeleteForumTopic(Token, Chat, Topic);
|
||||
```
|
||||
|
||||
@@ -37,7 +37,7 @@ Method at API documentation: [editForumTopic](https://core.telegram.org/bots/api
|
||||
```bsl title="1C:Enterprise/OneScript code example"
|
||||
Token = "6129457865:AAFyzNYOAFbu...";
|
||||
Chat = "-1001971186208";
|
||||
Topic = "9380";
|
||||
Topic = "9501";
|
||||
NewName = "NewTestTitle";
|
||||
NewIcon = "5310132165583840589";
|
||||
|
||||
|
||||
4
docs/ru/data/HTTPКлиент/ИспользоватьСжатиеGzip.json
vendored
Normal file
4
docs/ru/data/HTTPКлиент/ИспользоватьСжатиеGzip.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"URL": "https://httpbin.org",
|
||||
"Картинка": "https://api.athenaeum.digital/test_data/picture.jpg"
|
||||
}
|
||||
11
docs/ru/examples/HTTPКлиент/ИспользоватьСжатиеGzip.txt
vendored
Normal file
11
docs/ru/examples/HTTPКлиент/ИспользоватьСжатиеGzip.txt
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
URL = "https://httpbin.org";
|
||||
URL = URL + "/post";
|
||||
|
||||
Картинка = "https://api.athenaeum.digital/test_data/picture.jpg"; // URL, Путь или Двоичные данные
|
||||
|
||||
Результат = OPI_ЗапросыHTTP.НовыйЗапрос()
|
||||
.Инициализировать(URL)
|
||||
.УстановитьДвоичноеТело(Картинка)
|
||||
.ИспользоватьСжатиеGzip(Истина) // <---
|
||||
.ОбработатьЗапрос("POST", Ложь)
|
||||
.ВернутьЗапрос();
|
||||
@@ -1,5 +1,5 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDКанала = "@testsichee";
|
||||
IDСообщения = "16818";
|
||||
IDСообщения = "16843";
|
||||
|
||||
Результат = OPI_Telegram.ЗакрепитьСообщение(Токен, IDКанала, IDСообщения);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
Чат = "-1001971186208";
|
||||
Тема = "9380";
|
||||
Тема = "9501";
|
||||
|
||||
Результат = OPI_Telegram.ЗакрытьТемуФорума(Токен, Чат); // Закрывает главную тему
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDЧата = "461699897";
|
||||
IDСообщения = "13480";
|
||||
IDСообщения = "13495";
|
||||
|
||||
МассивКнопок = Новый Массив;
|
||||
МассивКнопок.Добавить("Новая кнопка 1");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDЧата = "461699897";
|
||||
IDСообщения = "13338";
|
||||
IDСообщения = "13498";
|
||||
|
||||
Описание = "Новое описание картинки";
|
||||
Результат = OPI_Telegram.ЗаменитьОписаниеСообщения(Токен, IDЧата, IDСообщения, Описание);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDЧата = "@testsichee";
|
||||
IDСообщения = "16818";
|
||||
IDСообщения = "16843";
|
||||
Текст = "Новый текст сообщения";
|
||||
|
||||
Результат = OPI_Telegram.ЗаменитьТекстСообщения(Токен, IDЧата, IDСообщения, Текст);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
Чат = "-1001971186208";
|
||||
Тема = "9380";
|
||||
Тема = "9501";
|
||||
НовоеИмя = "Новый тестовый заголовок";
|
||||
НовяИконка = "5310132165583840589";
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDКанала = "@testsichee";
|
||||
IDСообщения = "16818";
|
||||
IDСообщения = "16843";
|
||||
|
||||
Результат = OPI_Telegram.ОткрепитьСообщение(Токен, IDКанала, IDСообщения);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
Чат = "-1001971186208";
|
||||
Тема = "9380";
|
||||
Тема = "9501";
|
||||
|
||||
Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат); // Открывает главную тему
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
Чат = "-1001971186208";
|
||||
Тема = "9380";
|
||||
Тема = "9501";
|
||||
|
||||
Результат = OPI_Telegram.ОчиститьСписокЗакрепленныхСообщенийТемы(Токен, Чат);
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDЧата = "461699897";
|
||||
IDКанала = "@testsichee";
|
||||
IDСообщения = "16818";
|
||||
IDСообщения = "16843";
|
||||
|
||||
Результат = OPI_Telegram.ПереслатьСообщение(Токен, IDСообщения, IDКанала, IDЧата);
|
||||
|
||||
2
docs/ru/examples/Telegram/СкачатьФайл.txt
vendored
2
docs/ru/examples/Telegram/СкачатьФайл.txt
vendored
@@ -1,4 +1,4 @@
|
||||
IDФайла = "CQACAgIAAx0EcNsaZQACQPRoEn4N8q46RiaMrRJhtG9hRymgGgACRXkAAjMGkEghikYRor4RHjYE";
|
||||
IDФайла = "CQACAgIAAx0EcNsaZQACQdRoGbvF3fuKZMsxtEog0TwMMxooCAACJn0AAr4g0UiDZa2BkAzQeDYE";
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
|
||||
Результат = OPI_Telegram.СкачатьФайл(Токен, IDФайла);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDЧата = "@testsichee";
|
||||
IDСообщения = "16818";
|
||||
IDСообщения = "16843";
|
||||
|
||||
Результат = OPI_Telegram.УдалитьСообщение(Токен, IDЧата, IDСообщения);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
Чат = "-1001971186208";
|
||||
Тема = "9380";
|
||||
Тема = "9501";
|
||||
|
||||
Результат = OPI_Telegram.УдалитьТемуФорума(Токен, Чат, Тема);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
sidebar_position: 3
|
||||
description: Добавить AWS4 авторизацию и другие функции для работы с HTTP-клиент в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, HTTP-клиент]
|
||||
---
|
||||
|
||||
41
docs/ru/md/HTTP-client/Authorization/Add-bearer-authorization.mdx
vendored
Normal file
41
docs/ru/md/HTTP-client/Authorization/Add-bearer-authorization.mdx
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
description: Добавить Bearer авторизацию и другие функции для работы с HTTP-клиент в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, HTTP-клиент]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Добавить Bearer авторизацию
|
||||
Добавляет заголовок запроса для Bearer авторизации
|
||||
|
||||
|
||||
|
||||
`Функция ДобавитьBearerАвторизацию(Знач Токен) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Токен | - | Строка | ✔ | Значение Bearer токена |
|
||||
|
||||
|
||||
Возвращаемое значение: ОбработкаОбъект.OPI_HTTPКлиент - Этот же объект обработки
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** данный метод недоступен для использования в CLI версии
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
42
docs/ru/md/HTTP-client/Headers-setting/Add-header.mdx
vendored
Normal file
42
docs/ru/md/HTTP-client/Headers-setting/Add-header.mdx
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
description: Добавить заголовок и другие функции для работы с HTTP-клиент в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
|
||||
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, HTTP-клиент]
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Добавить заголовок
|
||||
Добавляет заголовок в набор заголовков запроса
|
||||
|
||||
|
||||
|
||||
`Функция ДобавитьЗаголовок(Знач Имя, Знач Значение) Экспорт`
|
||||
|
||||
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|
||||
|-|-|-|-|-|
|
||||
| Имя | - | Строка | ✔ | Ключ заголовка |
|
||||
| Значение | - | Строка | ✔ | Значение заголовка |
|
||||
|
||||
|
||||
Возвращаемое значение: ОбработкаОбъект.OPI_HTTPКлиент - Этот же объект обработки
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
:::caution
|
||||
**NOCLI:** данный метод недоступен для использования в CLI версии
|
||||
:::
|
||||
<br/>
|
||||
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -35,7 +35,17 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
URL = "https://httpbin.org";
|
||||
URL = URL + "/post";
|
||||
|
||||
Картинка = "https://api.athenaeum.digital/test_data/picture.jpg"; // URL, Путь или Двоичные данные
|
||||
|
||||
Результат = OPI_ЗапросыHTTP.НовыйЗапрос()
|
||||
.Инициализировать(URL)
|
||||
.УстановитьДвоичноеТело(Картинка)
|
||||
.ИспользоватьСжатиеGzip(Истина) // <---
|
||||
.ОбработатьЗапрос("POST", Ложь)
|
||||
.ВернутьЗапрос();
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ import TabItem from '@theme/TabItem';
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDКанала = "@testsichee";
|
||||
IDСообщения = "16818";
|
||||
IDСообщения = "16843";
|
||||
|
||||
Результат = OPI_Telegram.ЗакрепитьСообщение(Токен, IDКанала, IDСообщения);
|
||||
```
|
||||
|
||||
@@ -35,7 +35,7 @@ import TabItem from '@theme/TabItem';
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDКанала = "@testsichee";
|
||||
IDСообщения = "16818";
|
||||
IDСообщения = "16843";
|
||||
|
||||
Результат = OPI_Telegram.ОткрепитьСообщение(Токен, IDКанала, IDСообщения);
|
||||
```
|
||||
|
||||
@@ -32,7 +32,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
IDФайла = "CQACAgIAAx0EcNsaZQACQPRoEn4N8q46RiaMrRJhtG9hRymgGgACRXkAAjMGkEghikYRor4RHjYE";
|
||||
IDФайла = "CQACAgIAAx0EcNsaZQACQdRoGbvF3fuKZMsxtEog0TwMMxooCAACJn0AAr4g0UiDZa2BkAzQeDYE";
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
|
||||
Результат = OPI_Telegram.СкачатьФайл(Токен, IDФайла);
|
||||
|
||||
@@ -35,7 +35,7 @@ import TabItem from '@theme/TabItem';
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDЧата = "@testsichee";
|
||||
IDСообщения = "16818";
|
||||
IDСообщения = "16843";
|
||||
|
||||
Результат = OPI_Telegram.УдалитьСообщение(Токен, IDЧата, IDСообщения);
|
||||
```
|
||||
|
||||
@@ -37,7 +37,7 @@ import TabItem from '@theme/TabItem';
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDЧата = "461699897";
|
||||
IDКанала = "@testsichee";
|
||||
IDСообщения = "16818";
|
||||
IDСообщения = "16843";
|
||||
|
||||
Результат = OPI_Telegram.ПереслатьСообщение(Токен, IDСообщения, IDКанала, IDЧата);
|
||||
```
|
||||
|
||||
@@ -37,7 +37,7 @@ import TabItem from '@theme/TabItem';
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDЧата = "461699897";
|
||||
IDСообщения = "13338";
|
||||
IDСообщения = "13498";
|
||||
|
||||
Описание = "Новое описание картинки";
|
||||
Результат = OPI_Telegram.ЗаменитьОписаниеСообщения(Токен, IDЧата, IDСообщения, Описание);
|
||||
|
||||
@@ -36,7 +36,7 @@ import TabItem from '@theme/TabItem';
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDЧата = "461699897";
|
||||
IDСообщения = "13480";
|
||||
IDСообщения = "13495";
|
||||
|
||||
МассивКнопок = Новый Массив;
|
||||
МассивКнопок.Добавить("Новая кнопка 1");
|
||||
|
||||
@@ -37,7 +37,7 @@ import TabItem from '@theme/TabItem';
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
IDЧата = "@testsichee";
|
||||
IDСообщения = "16818";
|
||||
IDСообщения = "16843";
|
||||
Текст = "Новый текст сообщения";
|
||||
|
||||
Результат = OPI_Telegram.ЗаменитьТекстСообщения(Токен, IDЧата, IDСообщения, Текст);
|
||||
|
||||
@@ -35,7 +35,7 @@ import TabItem from '@theme/TabItem';
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
Чат = "-1001971186208";
|
||||
Тема = "9380";
|
||||
Тема = "9501";
|
||||
|
||||
Результат = OPI_Telegram.ОчиститьСписокЗакрепленныхСообщенийТемы(Токен, Чат);
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ import TabItem from '@theme/TabItem';
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
Чат = "-1001971186208";
|
||||
Тема = "9380";
|
||||
Тема = "9501";
|
||||
|
||||
Результат = OPI_Telegram.ЗакрытьТемуФорума(Токен, Чат); // Закрывает главную тему
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ import TabItem from '@theme/TabItem';
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
Чат = "-1001971186208";
|
||||
Тема = "9380";
|
||||
Тема = "9501";
|
||||
|
||||
Результат = OPI_Telegram.УдалитьТемуФорума(Токен, Чат, Тема);
|
||||
```
|
||||
|
||||
@@ -37,7 +37,7 @@ import TabItem from '@theme/TabItem';
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
Чат = "-1001971186208";
|
||||
Тема = "9380";
|
||||
Тема = "9501";
|
||||
НовоеИмя = "Новый тестовый заголовок";
|
||||
НовяИконка = "5310132165583840589";
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ import TabItem from '@theme/TabItem';
|
||||
```bsl title="Пример использования для 1С:Предприятие/OneScript"
|
||||
Токен = "6129457865:AAFyzNYOAFbu...";
|
||||
Чат = "-1001971186208";
|
||||
Тема = "9380";
|
||||
Тема = "9501";
|
||||
|
||||
Результат = OPI_Telegram.ОткрытьТемуФорума(Токен, Чат); // Открывает главную тему
|
||||
|
||||
|
||||
15200
service/dictionaries/en.json
vendored
15200
service/dictionaries/en.json
vendored
File diff suppressed because it is too large
Load Diff
26
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
26
src/en/OInt/tests/Modules/internal/OPI_Tests.os
vendored
@@ -2662,8 +2662,10 @@ Procedure HTTP_Settings() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("HTTP_URL", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
HTTPClient_UseEncoding(TestParameters);
|
||||
HTTPClient_UseGzipCompression(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@@ -21863,6 +21865,30 @@ Procedure HTTPClient_UseEncoding(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure HTTPClient_UseGzipCompression(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["HTTP_URL"];
|
||||
URL = URL + "/post";
|
||||
|
||||
Image = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
|
||||
Result = OPI_HTTPRequests.NewRequest()
|
||||
.Initialize(URL)
|
||||
.SetBinaryBody(Image)
|
||||
.UseGzipCompression(True) // <---
|
||||
.ProcessRequest("POST", False)
|
||||
.ReturnRequest();
|
||||
|
||||
// END
|
||||
|
||||
|
||||
Data = Result.ПолучитьТелоКакДвоичныеДанные();
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "UseGzipCompression", "HTTPClient");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["headers"]["Accept-Encoding"]).Равно("gzip");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["headers"]["Content-Encoding"]).Равно("gzip");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -2587,6 +2587,28 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region HTTP
|
||||
|
||||
Procedure CLI_HTTP_Initialization() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_HTTP_BodySet() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_HTTP_Settings() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -305,6 +305,7 @@ Function GetTestTable() Export
|
||||
NewTest(TestTable, "OLLM_WorkingWithBlob" , "Working with Blob" , Ollama);
|
||||
NewTest(TestTable, "HTTP_Initialization" , "Initialization" , Http);
|
||||
NewTest(TestTable, "HTTP_BodySet" , "Body set" , Http);
|
||||
NewTest(TestTable, "HTTP_Settings" , "Settings" , Http);
|
||||
|
||||
Return TestTable;
|
||||
|
||||
|
||||
@@ -89,6 +89,10 @@ Var BodyTemporaryFile; // Flag to delete the body file if it was created automat
|
||||
Var AWS4Using; // Flag to use AWS4 authorization
|
||||
Var AWS4Data; // Credentials structure
|
||||
|
||||
// Bearer
|
||||
|
||||
Var Bearer; // Bearer token
|
||||
|
||||
// Response
|
||||
|
||||
Var Response; // HTTPResponse object
|
||||
@@ -833,6 +837,36 @@ Function SetHeaders(Val Value, Val FullReplace = False) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add header !NOCLI
|
||||
// Adds a header to the request header set
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Header key - header
|
||||
// Value - String - Header value - value
|
||||
//
|
||||
// Returns:
|
||||
// DataProcessorObject.OPI_HTTPClient - This processor object
|
||||
Function AddHeader(Val Name, Val Value) Export
|
||||
|
||||
Try
|
||||
|
||||
If StopExecution() Then Return ЭтотОбъект; EndIf;
|
||||
If Not ValueIsFilled(Value) Then Value = New Map; EndIf;
|
||||
|
||||
OPI_TypeConversion.GetLine(Name);
|
||||
OPI_TypeConversion.GetLine(Value);
|
||||
|
||||
AddLog("AddHeader: header setting");
|
||||
|
||||
RequestHeaders.Insert(Name, Value);
|
||||
|
||||
Return ЭтотОбъект;
|
||||
|
||||
Except
|
||||
Return Error(DetailErrorDescription(ErrorInfo()));
|
||||
EndTry;
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Authorization
|
||||
@@ -866,6 +900,31 @@ Function AddBasicAuthorization(Val User, Val Password) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add Bearer authorization
|
||||
// Adds a request header for Bearer authorization
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Bearer token value - token
|
||||
//
|
||||
// Returns:
|
||||
// DataProcessorObject.OPI_HTTPClient - This processor object
|
||||
Function AddBearerAuthorization(Val Token) Export
|
||||
|
||||
Try
|
||||
|
||||
If StopExecution() Then Return ЭтотОбъект; EndIf;
|
||||
|
||||
OPI_TypeConversion.GetLine(Token);
|
||||
Bearer = Token;
|
||||
|
||||
Return ЭтотОбъект;
|
||||
|
||||
Except
|
||||
Return Error(DetailErrorDescription(ErrorInfo()));
|
||||
EndTry;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add AWS4 authorization !NOCLI
|
||||
// Adds data for AWS4 authorization
|
||||
//
|
||||
@@ -1441,14 +1500,6 @@ Function GetDefaultHeaders()
|
||||
Headers.Insert("Connection" , "keep-alive");
|
||||
Headers.Insert("Accept-Charset" , "utf-8");
|
||||
|
||||
If GetSetting("gzip") Then
|
||||
Headers.Insert("Accept-Encoding", "gzip");
|
||||
EndIf;
|
||||
|
||||
If ValueIsFilled(RequestDataType) Then
|
||||
Headers.Insert("Content-Type", RequestDataType);
|
||||
EndIf;
|
||||
|
||||
Return Headers;
|
||||
|
||||
EndFunction
|
||||
@@ -1480,10 +1531,24 @@ Function CompleteHeaders()
|
||||
EndIf;
|
||||
|
||||
If AWS4Using Then
|
||||
AddLog("CompleteHeaders: Generating AWS4 Authorization Header");
|
||||
AddLog("CompleteHeaders: generating AWS4 Authorization Header");
|
||||
AddAWS4();
|
||||
EndIf;
|
||||
|
||||
If ValueIsFilled(Bearer) Then
|
||||
AddLog("CompleteHeaders: generating Bearer Authorization Header");
|
||||
Request.Headers.Insert("Authorization", StrTemplate("Bearer %1", Bearer));
|
||||
EndIf;
|
||||
|
||||
If GetSetting("gzip") Then
|
||||
AddLog("CompleteHeaders: setting the gzip header");
|
||||
Request.Headers.Insert("Accept-Encoding", "gzip");
|
||||
EndIf;
|
||||
|
||||
If ValueIsFilled(RequestDataType) Then
|
||||
Request.Headers.Insert("Content-Type", RequestDataType);
|
||||
EndIf;
|
||||
|
||||
If TypeOf(RequestHeaders) = Type("Map") Then
|
||||
|
||||
For Each Title In RequestHeaders Do
|
||||
@@ -1516,7 +1581,7 @@ Function SetRequestBody()
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ExecuteMethod()
|
||||
Function ExecuteMethod(Val RedirectCount = 0)
|
||||
|
||||
If ValueIsFilled(RequestOutputFile) Then
|
||||
Response = Connection.CallHTTPMethod(RequestMethod, Request, RequestOutputFile);
|
||||
@@ -1526,10 +1591,18 @@ Function ExecuteMethod()
|
||||
|
||||
If ThisIsRedirection(Response) Then
|
||||
|
||||
If RedirectCount = 5 Then
|
||||
Error("ExecuteMethod: the number of redirects has been exceeded");
|
||||
Return ЭтотОбъект;
|
||||
EndIf;
|
||||
|
||||
URL = Response.Headers["Location"];
|
||||
SetURL(URL);
|
||||
|
||||
ProcessRequest(RequestMethod);
|
||||
CreateConnection();
|
||||
Request.ResourceAddress = RequestAdress;
|
||||
|
||||
ExecuteMethod(RedirectCount + 1);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -1602,6 +1675,18 @@ Function GetResponseBodyAsBinaryData()
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetResponseBodyAsBinaryOrPath()
|
||||
|
||||
BodyFileName = Response.GetBodyFileName();
|
||||
|
||||
If Not ValueIsFilled(BodyFileName) Then
|
||||
Return GetResponseBodyAsBinaryData();
|
||||
Else
|
||||
Return BodyFileName;
|
||||
EndIf;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetRequestBodyAsBinaryData()
|
||||
|
||||
If ValueIsFilled(RequestBodyFile) Then
|
||||
@@ -1741,14 +1826,14 @@ EndProcedure
|
||||
Function UnpackResponse(Response)
|
||||
|
||||
Try
|
||||
Return ReadGZip(GetResponseBodyAsBinaryData());
|
||||
Return ReadGZip(GetResponseBodyAsBinaryOrPath());
|
||||
Except
|
||||
Return Response;
|
||||
EndTry;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ReadGZip(CompressedData) Export
|
||||
Function ReadGZip(CompressedData)
|
||||
|
||||
GZipPrefixSize = 10;
|
||||
GZipPostfixSize = 8;
|
||||
@@ -2274,18 +2359,6 @@ Procedure EncodeURLInURL(URL) Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Function FunctionTemplate()
|
||||
|
||||
Try
|
||||
|
||||
If StopExecution() Then Return ЭтотОбъект; EndIf;
|
||||
|
||||
Except
|
||||
Return Error(DetailErrorDescription(ErrorInfo()));
|
||||
EndTry;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -305,6 +305,7 @@ Function GetTestTable() Export
|
||||
NewTest(TestTable, "OLLM_WorkingWithBlob" , "Working with Blob" , Ollama);
|
||||
NewTest(TestTable, "HTTP_Initialization" , "Initialization" , Http);
|
||||
NewTest(TestTable, "HTTP_BodySet" , "Body set" , Http);
|
||||
NewTest(TestTable, "HTTP_Settings" , "Settings" , Http);
|
||||
|
||||
Return TestTable;
|
||||
|
||||
|
||||
@@ -2662,8 +2662,10 @@ Procedure HTTP_Settings() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
OPI_TestDataRetrieval.ParameterToCollection("HTTP_URL", TestParameters);
|
||||
OPI_TestDataRetrieval.ParameterToCollection("Picture" , TestParameters);
|
||||
|
||||
HTTPClient_UseEncoding(TestParameters);
|
||||
HTTPClient_UseGzipCompression(TestParameters);
|
||||
|
||||
EndProcedure
|
||||
|
||||
@@ -21863,6 +21865,30 @@ Procedure HTTPClient_UseEncoding(FunctionParameters)
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure HTTPClient_UseGzipCompression(FunctionParameters)
|
||||
|
||||
URL = FunctionParameters["HTTP_URL"];
|
||||
URL = URL + "/post";
|
||||
|
||||
Image = FunctionParameters["Picture"]; // URL, Path or Binary Data
|
||||
|
||||
Result = OPI_HTTPRequests.NewRequest()
|
||||
.Initialize(URL)
|
||||
.SetBinaryBody(Image)
|
||||
.UseGzipCompression(True) // <---
|
||||
.ProcessRequest("POST", False)
|
||||
.ReturnRequest();
|
||||
|
||||
// END
|
||||
|
||||
|
||||
Data = Result.GetBodyAsBinaryData();
|
||||
OPI_TestDataRetrieval.WriteLog(Result, "UseGzipCompression", "HTTPClient");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["headers"]["Accept-Encoding"]).Равно("gzip");
|
||||
OPI_TestDataRetrieval.ExpectsThat(Result["headers"]["Content-Encoding"]).Равно("gzip");
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -2587,6 +2587,28 @@ EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region HTTP
|
||||
|
||||
Procedure CLI_HTTP_Initialization() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_HTTP_BodySet() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure CLI_HTTP_Settings() Export
|
||||
|
||||
TestParameters = New Structure;
|
||||
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -89,6 +89,10 @@ Var BodyTemporaryFile; // Flag to delete the body file if it was created automat
|
||||
Var AWS4Using; // Flag to use AWS4 authorization
|
||||
Var AWS4Data; // Credentials structure
|
||||
|
||||
// Bearer
|
||||
|
||||
Var Bearer; // Bearer token
|
||||
|
||||
// Response
|
||||
|
||||
Var Response; // HTTPResponse object
|
||||
@@ -833,6 +837,36 @@ Function SetHeaders(Val Value, Val FullReplace = False) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add header !NOCLI
|
||||
// Adds a header to the request header set
|
||||
//
|
||||
// Parameters:
|
||||
// Name - String - Header key - header
|
||||
// Value - String - Header value - value
|
||||
//
|
||||
// Returns:
|
||||
// DataProcessorObject.OPI_HTTPClient - This processor object
|
||||
Function AddHeader(Val Name, Val Value) Export
|
||||
|
||||
Try
|
||||
|
||||
If StopExecution() Then Return ThisObject; EndIf;
|
||||
If Not ValueIsFilled(Value) Then Value = New Map; EndIf;
|
||||
|
||||
OPI_TypeConversion.GetLine(Name);
|
||||
OPI_TypeConversion.GetLine(Value);
|
||||
|
||||
AddLog("AddHeader: header setting");
|
||||
|
||||
RequestHeaders.Insert(Name, Value);
|
||||
|
||||
Return ThisObject;
|
||||
|
||||
Except
|
||||
Return Error(DetailErrorDescription(ErrorInfo()));
|
||||
EndTry;
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#Region Authorization
|
||||
@@ -866,6 +900,31 @@ Function AddBasicAuthorization(Val User, Val Password) Export
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add Bearer authorization
|
||||
// Adds a request header for Bearer authorization
|
||||
//
|
||||
// Parameters:
|
||||
// Token - String - Bearer token value - token
|
||||
//
|
||||
// Returns:
|
||||
// DataProcessorObject.OPI_HTTPClient - This processor object
|
||||
Function AddBearerAuthorization(Val Token) Export
|
||||
|
||||
Try
|
||||
|
||||
If StopExecution() Then Return ThisObject; EndIf;
|
||||
|
||||
OPI_TypeConversion.GetLine(Token);
|
||||
Bearer = Token;
|
||||
|
||||
Return ThisObject;
|
||||
|
||||
Except
|
||||
Return Error(DetailErrorDescription(ErrorInfo()));
|
||||
EndTry;
|
||||
|
||||
EndFunction
|
||||
|
||||
// Add AWS4 authorization !NOCLI
|
||||
// Adds data for AWS4 authorization
|
||||
//
|
||||
@@ -1441,14 +1500,6 @@ Function GetDefaultHeaders()
|
||||
Headers.Insert("Connection" , "keep-alive");
|
||||
Headers.Insert("Accept-Charset" , "utf-8");
|
||||
|
||||
If GetSetting("gzip") Then
|
||||
Headers.Insert("Accept-Encoding", "gzip");
|
||||
EndIf;
|
||||
|
||||
If ValueIsFilled(RequestDataType) Then
|
||||
Headers.Insert("Content-Type", RequestDataType);
|
||||
EndIf;
|
||||
|
||||
Return Headers;
|
||||
|
||||
EndFunction
|
||||
@@ -1480,10 +1531,24 @@ Function CompleteHeaders()
|
||||
EndIf;
|
||||
|
||||
If AWS4Using Then
|
||||
AddLog("CompleteHeaders: Generating AWS4 Authorization Header");
|
||||
AddLog("CompleteHeaders: generating AWS4 Authorization Header");
|
||||
AddAWS4();
|
||||
EndIf;
|
||||
|
||||
If ValueIsFilled(Bearer) Then
|
||||
AddLog("CompleteHeaders: generating Bearer Authorization Header");
|
||||
Request.Headers.Insert("Authorization", StrTemplate("Bearer %1", Bearer));
|
||||
EndIf;
|
||||
|
||||
If GetSetting("gzip") Then
|
||||
AddLog("CompleteHeaders: setting the gzip header");
|
||||
Request.Headers.Insert("Accept-Encoding", "gzip");
|
||||
EndIf;
|
||||
|
||||
If ValueIsFilled(RequestDataType) Then
|
||||
Request.Headers.Insert("Content-Type", RequestDataType);
|
||||
EndIf;
|
||||
|
||||
If TypeOf(RequestHeaders) = Type("Map") Then
|
||||
|
||||
For Each Title In RequestHeaders Do
|
||||
@@ -1516,7 +1581,7 @@ Function SetRequestBody()
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ExecuteMethod()
|
||||
Function ExecuteMethod(Val RedirectCount = 0)
|
||||
|
||||
If ValueIsFilled(RequestOutputFile) Then
|
||||
Response = Connection.CallHTTPMethod(RequestMethod, Request, RequestOutputFile);
|
||||
@@ -1526,10 +1591,18 @@ Function ExecuteMethod()
|
||||
|
||||
If ThisIsRedirection(Response) Then
|
||||
|
||||
If RedirectCount = 5 Then
|
||||
Error("ExecuteMethod: the number of redirects has been exceeded");
|
||||
Return ThisObject;
|
||||
EndIf;
|
||||
|
||||
URL = Response.Headers["Location"];
|
||||
SetURL(URL);
|
||||
|
||||
ProcessRequest(RequestMethod);
|
||||
CreateConnection();
|
||||
Request.ResourceAddress = RequestAdress;
|
||||
|
||||
ExecuteMethod(RedirectCount + 1);
|
||||
|
||||
EndIf;
|
||||
|
||||
@@ -1602,6 +1675,18 @@ Function GetResponseBodyAsBinaryData()
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetResponseBodyAsBinaryOrPath()
|
||||
|
||||
BodyFileName = Response.GetBodyFileName();
|
||||
|
||||
If Not ValueIsFilled(BodyFileName) Then
|
||||
Return GetResponseBodyAsBinaryData();
|
||||
Else
|
||||
Return BodyFileName;
|
||||
EndIf;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function GetRequestBodyAsBinaryData()
|
||||
|
||||
If ValueIsFilled(RequestBodyFile) Then
|
||||
@@ -1741,14 +1826,14 @@ EndProcedure
|
||||
Function UnpackResponse(Response)
|
||||
|
||||
Try
|
||||
Return ReadGZip(GetResponseBodyAsBinaryData());
|
||||
Return ReadGZip(GetResponseBodyAsBinaryOrPath());
|
||||
Except
|
||||
Return Response;
|
||||
EndTry;
|
||||
|
||||
EndFunction
|
||||
|
||||
Function ReadGZip(CompressedData) Export
|
||||
Function ReadGZip(CompressedData)
|
||||
|
||||
GZipPrefixSize = 10;
|
||||
GZipPostfixSize = 8;
|
||||
@@ -2274,18 +2359,6 @@ Procedure EncodeURLInURL(URL) Export
|
||||
|
||||
EndProcedure
|
||||
|
||||
Function FunctionTemplate()
|
||||
|
||||
Try
|
||||
|
||||
If StopExecution() Then Return ThisObject; EndIf;
|
||||
|
||||
Except
|
||||
Return Error(DetailErrorDescription(ErrorInfo()));
|
||||
EndTry;
|
||||
|
||||
EndFunction
|
||||
|
||||
#EndRegion
|
||||
|
||||
#EndRegion
|
||||
|
||||
@@ -1531,17 +1531,17 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если AWS4Использовать Тогда
|
||||
ДобавитьЛог("ДополнитьЗаголовки: Формирование заголовка AWS4 авторизации");
|
||||
ДобавитьЛог("ДополнитьЗаголовки: формирование заголовка AWS4 авторизации");
|
||||
ДобавитьAWS4();
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Bearer) Тогда
|
||||
ДобавитьЛог("ДополнитьЗаголовки: Формирование заголовка Bearer авторизации");
|
||||
ДобавитьЛог("ДополнитьЗаголовки: формирование заголовка Bearer авторизации");
|
||||
Запрос.Заголовки.Вставить("Authorization", СтрШаблон("Bearer %1", Bearer));
|
||||
КонецЕсли;
|
||||
|
||||
Если ПолучитьНастройку("gzip") Тогда
|
||||
ДобавитьЛог("ДополнитьЗаголовки: Установка заголовка ожидания gzip");
|
||||
ДобавитьЛог("ДополнитьЗаголовки: установка заголовка ожидания gzip");
|
||||
Запрос.Заголовки.Вставить("Accept-Encoding", "gzip");
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
|
||||
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
|
||||
|
||||
// MIT License
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
|
||||
|
||||
// MIT License
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// OneScript: ./OInt/tools/Modules/internal/Classes/OPI_HTTPКлиент.os
|
||||
// OneScript: ./OInt/tools/Modules/internal/Classes/OPI_HTTPКлиент.os
|
||||
// Lib: HTTP-клиент
|
||||
// CLI: none
|
||||
|
||||
|
||||
Reference in New Issue
Block a user