You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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/), поддерживая большинство оригинальных эндпоинтов.
9
9
10
10
* 1\.[Установка](#installation)
11
11
* 2\.[Использование](#usage)
12
12
* 2.1\.[CLI приложение](#cli-app)
13
-
* 2.2\.[Тестирование через asserts и 1connector](#testing)
13
+
* 2.2\.[Тестирование с asserts и 1connector](#testing)
Запуск сервиса через команду **run**: `httpbin run`
31
+
Запустите сервис с помощью команды:
31
32
32
-
Опции команды:</br>
33
-
`-h`, `--host` - имя хоста / IP адрес сервиса</br>
34
-
`-p`, `--port` - порт сервиса
33
+
```bash
34
+
httpbin run
35
+
```
36
+
37
+
#### Опции команды:
38
+
39
+
| Опция | Описание | Значение по умолчанию |
40
+
| --- | --- | --- |
41
+
|`-h`, `--host`| Имя хоста или IP-адрес сервиса |`127.0.0.1`|
42
+
|`-p`, `--port`| TCP-порт сервиса |`3333`|
43
+
|`--routes-handlers`| Путь к файлу или каталогу кастомных контроллеров ||
44
+
45
+
### Тестирование с [asserts](https://github.com/oscript-library/asserts) и [1connector](https://github.com/vbondarevsky/1connector) <aname="testing"></a>
35
46
36
-
### Тестирование через [asserts](https://github.com/oscript-library/asserts) и [1connector](https://github.com/vbondarevsky/1connector) <aname="testing"></a>
На стартовой странице сервиса (адрес по умолчанию: `http://127.0.0.1:3334`) доступна визуальная документация API, а также возможность отправки запросов и получения ответов.
85
+
На стартовой странице сервиса (по умолчанию: `http://127.0.0.1:3333`) доступна интерактивная документация API через **Swagger UI**, а также возможность отправки запросов и получения ответов.
73
86
74
87
## Совместимость <aname="compatibility"></a>
75
88
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>
89
+
Сервис протестирован и поддерживается на следующих платформах и версиях OneScript:
90
+
91
+
| ОС | OneScript 1.9 | OneScript 2.0 |
92
+
| --- | --- | --- |
93
+
|**Windows**| ✅ | ✅ |
94
+
|**Linux**| ✅ | ✅ |
95
+
|**MacOS**| ✅ | ✅ |
103
96
104
97
## Программный интерфейс <aname="api"></a>
105
98
106
99
### Класс `HttpBin`
107
100
108
-
Сервис по умолчанию запускается по адресу `127.0.0.1:3334` в фоновом режиме и с ожиданием завершения запуска сервиса.</br>
109
-
Класс реализован с текучим интерфейсом.
101
+
Класс предназначен для управления локальным HTTP-сервисом.
|`УстановитьПорт(<Порт>)`| Устанавливает порт сервиса |
120
-
|`ЗапускатьВФоне(<Флаг>)`| Запуск сервиса будет выполнен в фоновом режиме |
121
-
|`ОжидатьЗапуск(<Флаг>)`| Ожидать завершение запуска сервиса, запущенного в фоновом режиме |
122
-
|`УстановитьТаймаутОжидания(<Таймаут>)`| Устанавливает таймаут ожидания запуска сервиса, запущенного в фоновом режиме |
124
+
|`Запустить()`| Запускает сервис в синхронном режиме с ожиданием полной готовности. |
125
+
|`ЗапуститьАсинх()`| Запускает сервис в асинхронном режиме без ожидания готовности. |
126
+
|`Остановить()`| Останавливает сервис. |
127
+
|`ОжидатьЗавершения()`| Ожидает завершения работы сервиса, приостанавливая выполнение текущего потока. |
128
+
|`Отвечает()`| Проверяет доступность сервиса через HTTP-запрос. |
129
+
|`Активен()`| Проверяет, что процесс сервиса запущен и не завершен. |
130
+
|`Порт()`| Возвращает номер TCP-порта, на котором работает сервис. |
131
+
|`УстановитьПорт(<Порт>)`| Устанавливает TCP-порт для запуска сервиса. |
132
+
|`Хост()`| Возвращает имя хоста или IP-адрес сервиса. |
133
+
|`УстановитьХост(<Хост>)`| Устанавливает имя хоста или IP-адрес для запуска сервиса. |
134
+
|`URL(<АдресРесурса>)`| Формирует полный URL-адрес сервиса с опциональным путем к ресурсу. |
135
+
|`ТаймаутЗапуска()`| Возвращает текущее значение таймаута запуска сервиса. |
136
+
|`УстановитьТаймаутЗапуска(<Таймаут>)`| Устанавливает максимальное время ожидания запуска сервиса. Применяется при синхронном запуске. |
137
+
|`РасположениеКонтроллеров()`| Возвращает текущий путь к файлу или каталогу с кастомными контроллерами. |
138
+
|`УстановитьРасположениеКонтроллеров(<Расположение>)`| Устанавливает путь к файлу или каталогу с кастомными контроллерами, определяющими точки маршрута сервиса. |
0 commit comments