Skip to content

Commit f3d6958

Browse files
authored
docs: Update README.md
1 parent 9ca168b commit f3d6958

File tree

1 file changed

+63
-51
lines changed

1 file changed

+63
-51
lines changed

README.md

Lines changed: 63 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
[![Release](https://img.shields.io/github/release/Stivo182/oscript-httpbin.svg)](https://github.com/Stivo182/oscript-httpbin/releases)
44
[![Тестирование](https://github.com/stivo182/oscript-httpbin/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/stivo182/oscript-httpbin/actions/workflows/test.yml)
55
[![Статус порога качества](https://sonar.openbsl.ru/api/project_badges/measure?project=httpbin&metric=alert_status&token=sqb_2f7c84743fd1b295085c25a1b96cc8d975cd4dc7)](https://sonar.openbsl.ru/dashboard?id=httpbin)
6-
[![Покрытие](https://sonar.openbsl.ru/api/project_badges/measure?project=httpbin&metric=coverage&token=sqb_2f7c84743fd1b295085c25a1b96cc8d975cd4dc7)](https://sonar.openbsl.ru/dashboard?id=httpbin)
76

8-
Cервис позволяющий локально тестировать HTTP клиент. Разработан на [OneScript](https://github.com/EvilBeaver/OneScript) + [WINOW](https://github.com/autumn-library/winow). Поддерживает бо́льшую часть эндпоинтов [httpbin.org](https://httpbin.org/).
7+
Локальный сервис для тестирования HTTP-клиентов, реализованный на [OneScript](https://github.com/EvilBeaver/OneScript) с использованием библиотеки [WINOW](https://github.com/autumn-library/winow).
8+
Проект предоставляет функциональность, аналогичную [httpbin.org](https://httpbin.org/), поддерживая большинство его эндпоинтов.
99

1010
* 1\. [Установка](#installation)
1111
* 2\. [Использование](#usage)
1212
* 2.1\. [CLI приложение](#cli-app)
13-
* 2.2\. [Тестирование через asserts и 1connector](#testing)
13+
* 2.2\. [Тестирование с asserts и 1connector](#testing)
1414
* 2.3\. [Swagger UI](#swagger-ui)
1515
* 3\. [Совместимость](#compatibility)
1616
* 4\. [Программный интерфейс](#api)
@@ -27,16 +27,25 @@ opm install httpbin
2727

2828
### CLI приложение <a name="cli-app"></a>
2929

30-
Запуск сервиса через команду **run**: `httpbin run`
30+
Запустите сервис с помощью команды:
3131

32-
Опции команды:</br>
33-
`-h`, `--host` - имя хоста / IP адрес сервиса</br>
34-
`-p`, `--port` - порт сервиса
32+
``` bash
33+
httpbin run
34+
```
35+
36+
#### Опции команды:
37+
38+
| Опция | Описание | Значение по умолчанию |
39+
| --- | --- | --- |
40+
| `-h`, `--host` | Имя хоста или IP-адрес сервиса | `127.0.0.1` |
41+
| `-p`, `--port` | TCP-порт сервиса | `3333` |
42+
43+
### Тестирование с [asserts](https://github.com/oscript-library/asserts) и [1connector](https://github.com/vbondarevsky/1connector) <a name="testing"></a>
3544

36-
### Тестирование через [asserts](https://github.com/oscript-library/asserts) и [1connector](https://github.com/vbondarevsky/1connector) <a name="testing"></a>
3745

38-
_test.os:_
3946
``` bsl
47+
# test.os
48+
4049
#Использовать asserts
4150
#Использовать 1connector
4251
#Использовать httpbin
@@ -56,74 +65,77 @@ _test.os:_
5665
5766
&Тест
5867
Процедура ТестДолжен_ПроверитьПараметрыЗапроса() Экспорт
68+
5969
ПараметрыЗапроса = Новый Структура();
6070
ПараметрыЗапроса.Вставить("key", "value");
6171
62-
Ответ = КоннекторHTTP.Get(HttpBin.URL() + "/get", ПараметрыЗапроса);
72+
Ответ = КоннекторHTTP.Get(HttpBin.URL("/get"), ПараметрыЗапроса);
6373
6474
Ожидаем.Что(Ответ.КодСостояния).Равно(200);
6575
Ожидаем.Что(Ответ.Заголовки["Content-Type"]).Содержит("application/json");
6676
Ожидаем.Что(Ответ.Json()["args"]["key"]).Равно("value");
77+
6778
КонецПроцедуры
6879
```
6980

7081
### Swagger UI
7182

72-
На стартовой странице сервиса (адрес по умолчанию: `http://127.0.0.1:3333`) доступна визуальная документация API, а также возможность отправки запросов и получения ответов.
83+
На стартовой странице сервиса (по умолчанию: `http://127.0.0.1:3333`) доступна интерактивная документация API через **Swagger UI**, а также возможность отправки запросов и получения ответов.
7384

7485
## Совместимость <a name="compatibility"></a>
7586

76-
<table>
77-
<thead>
78-
<tr>
79-
<th colspan="2">Windows</th>
80-
<th colspan="2">Linux</th>
81-
<th colspan="2">MacOS</th>
82-
</tr>
83-
<tr>
84-
<th>OneScript 1.9</th>
85-
<th>OneScript 2.0</th>
86-
<th>OneScript 1.9</th>
87-
<th>OneScript 2.0</th>
88-
<th>OneScript 1.9</th>
89-
<th>OneScript 2.0</th>
90-
</tr>
91-
</thead>
92-
<tbody>
93-
<tr>
94-
<td align="center">✅</td>
95-
<td align="center">✅</td>
96-
<td align="center">✅</td>
97-
<td align="center">✅</td>
98-
<td align="center">✅</td>
99-
<td align="center">✅</td>
100-
</tr>
101-
</tbody>
102-
</table>
87+
Сервис протестирован и поддерживается на следующих платформах и версиях OneScript:
88+
89+
| ОС | OneScript 1.9 | OneScript 2.0 |
90+
| --- | --- | --- |
91+
| **Windows** |||
92+
| **Linux** |||
93+
| **MacOS** |||
10394

10495
## Программный интерфейс <a name="api"></a>
10596

10697
### Класс `HttpBin`
10798

108-
Сервис по умолчанию запускается по адресу `127.0.0.1:3333` в фоновом режиме и с ожиданием завершения запуска сервиса.</br>
109-
Класс реализован с текучим интерфейсом.
99+
Класс предназначен для управления локальным HTTP-сервисом.
100+
Реализован с использованием текучего интерфейса.
101+
102+
#### Синтаксис
103+
104+
`Новый HttpBin(<Хост>, <Порт>)`
105+
106+
#### Параметры
107+
108+
<ins><Хост> (необязательный)</ins></br>
109+
Тип: _Строка_.</br>
110+
IP-адрес или имя хоста.</br>
111+
По умолчанию: _127.0.0.1_
112+
113+
<ins><Порт> (необязательный)</ins></br>
114+
Тип: _Строка_.</br>
115+
Номер TCP-порта.</br>
116+
По умолчанию: _3333_
117+
118+
#### Методы
110119

111120
| Метод | Описание |
112121
| --- | --- |
113-
| `Запустить()` | Запускает сервис |
114-
| `Остановить()` | Останавливает сервис |
115-
| `URL()` | URL сервиса |
116-
| `Хост()` | Хост сервиса |
117-
| `Порт()` | Порт сервиса |
118-
| `УстановитьХост(<Хост>)` | Устанавливает хост сервиса |
119-
| `УстановитьПорт(<Порт>)` | Устанавливает порт сервиса |
120-
| `ЗапускатьВФоне(<Флаг>)` | Запуск сервиса будет выполнен в фоновом режиме |
121-
| `ОжидатьЗапуск(<Флаг>)` | Ожидать завершение запуска сервиса, запущенного в фоновом режиме |
122-
| `УстановитьТаймаутОжидания(<Таймаут>)` | Устанавливает таймаут ожидания запуска сервиса, запущенного в фоновом режиме |
122+
| `Запустить()` | Запускает сервис в синхронном режиме с ожиданием полной готовности. |
123+
| `ЗапуститьАсинх()` | Запускает сервис в асинхронном режиме без ожидания готовности. |
124+
| `Остановить()` | Останавливает сервис. |
125+
| `ОжидатьЗавершения()` | Ожидает завершения работы сервиса, приостанавливая выполнение текущего потока. |
126+
| `Отвечает()` | Проверяет доступность сервиса через HTTP-запрос. |
127+
| `Активен()` | Проверяет, что процесс сервиса запущен и не завершен. |
128+
| `Порт()` | Возвращает номер TCP-порта, на котором работает сервис. |
129+
| `УстановитьПорт(<Порт>)` | Устанавливает TCP-порт для запуска сервиса. |
130+
| `Хост()` | Возвращает имя хоста или IP-адрес сервиса. |
131+
| `УстановитьХост(<Хост>)` | Устанавливает имя хоста или IP-адрес для запуска сервиса. |
132+
| `URL(<АдресРесурса>)` | Формирует полный URL-адрес сервиса с опциональным путем к ресурсу. |
133+
| `ТаймаутЗапуска()` | Возвращает текущее значение таймаута запуска сервиса. |
134+
| `УстановитьТаймаутЗапуска(<Таймаут>)` | Устанавливает максимальное время ожидания запуска сервиса. Применяется при синхронном запуске. |
123135

124136
## Ограничения <a name="limitations"></a>
125137

126-
На данный момент нет поддержки https.
138+
- **Отсутствие поддержки HTTPS**: Сервис работает только по протоколу HTTP.
127139

128140
## Сравнение с httpbin.org <a name="comparison"></a>
129141

0 commit comments

Comments
 (0)