HTTP
Обмен сообщения происходит по адресу: host:port/tsrv
По умолчанию HTTP сервер стартует на 0.0.0.0:1828
, однако
это можно поменяв, установив переменную окружения TSRV_ADDR
в значение формата host:port
Все запросы совершаются методом POST
Заголовок Content-Type
должен иметь значение application/json
Пример:
> POST /tsrv HTTP/1.1
> Host: localhost:1828
> User-Agent: insomnia/2021.5.3
> Content-Type: application/json
> Accept: */*
> Content-Length: 109
| {
| "address": "ik.service.app",
| "headers": {
| "action": "init_session"
| },
| "data": null,
| "type": "send"
| }
Альтернативный способ взаимодействия по HTTP
Возможен так же вариант взаимодействия по следующему URL методом POST: /tsrv/{address}/{action}
.
В данном варианте все заголовки (поле headers
сообщения) могут быть помещены в заголовки HTTP запроса,
а заголовок action
может быть опущен, т.к. находится внутри пути запроса. В тело HTTP запроса
помещается поле data
сообщения.
В данном случае пример инициализации сессии выглядит следующим образом:
> POST /tsrv/ik.service.app/init_session HTTP/1.1
> Host: localhost:1828
> User-Agent: insomnia/2021.5.3
> Content-Type: application/json
> Accept: */*
> Content-Length: 0
В то же время запрос на авторизацию (с телом запроса) выглядит следующим образом:
> POST /tsrv/ik.service.token.authority/authorize HTTP/1.1
> Host: localhost:1828
> User-Agent: insomnia/2021.5.3
> Content-Type: application/json
> sid: 630862a0-30cb-4743-82c9-c42a875beeba
> token: AVQ11071080687
> tokens.refresh: true
> Accept: */*
> Content-Length: 19
| {
| "pin": "47702"
| }
Требуется обратить внимание на HTTP заголовки sid, token и tokens.refresh - они находятся в HTTP запросе