200 OK
API v1

Тестовый API для разработки и отладки.

Эндпоинты

IP

/v1/ip

Формат ответа
GET

IPv4 и IPv6 адрес клиента.

Подробнее
Примеры запросов

GET

curl 'http://localhost:3000/v1/ip'
Ответы
200 OK

Адрес соединения клиента. Пример использует демонстрационный IP. Неизвестное семейство: unknown в тексте и null в JSON.

Пример · text/plain

v4: 192.0.2.1
v6: unknown
400 Bad Request

Недопустимый format, например ?format=xml. Эта ошибка всегда возвращается обычным текстом.

Пример · text/plain

Unsupported format: xml
Valid values: text, json

/v1/ip/v4

Формат ответа
GET

IPv4 адрес клиента.

Подробнее
Примеры запросов

GET

curl 'http://localhost:3000/v1/ip/v4'
Ответы
200 OK

Адрес соединения клиента. Пример использует демонстрационный IP. Неизвестное семейство: unknown в тексте и null в JSON.

Пример · text/plain

192.0.2.1
400 Bad Request

Недопустимый format, например ?format=xml. Эта ошибка всегда возвращается обычным текстом.

Пример · text/plain

Unsupported format: xml
Valid values: text, json

/v1/ip/v6

Формат ответа
GET

IPv6 адрес клиента.

Подробнее
Примеры запросов

GET

curl 'http://localhost:3000/v1/ip/v6'
Ответы
200 OK

Адрес соединения клиента. Пример использует демонстрационный IP. Неизвестное семейство: unknown в тексте и null в JSON.

Пример · text/plain

2001:db8::1
400 Bad Request

Недопустимый format, например ?format=xml. Эта ошибка всегда возвращается обычным текстом.

Пример · text/plain

Unsupported format: xml
Valid values: text, json

Echo

/v1/echo

Формат ответа
GETPOSTPUTPATCHDELETE

Возвращает метод и тело запроса. Принимает JSON, обычный текст, простые формы и бинарные данные.

Подробнее
Примеры запросов

POST · JSON

curl 'http://localhost:3000/v1/echo' \
  -H 'Content-Type: application/json' \
  --data-binary '{"name":"Bob"}'

POST · Обычный текст

curl 'http://localhost:3000/v1/echo' \
  -H 'Content-Type: text/plain' \
  --data-binary 'Hello!'

POST · Форма

curl 'http://localhost:3000/v1/echo' \
  --data-urlencode 'name=Bob' \
  --data-urlencode 'age=42'

POST · Бинарный файл

curl 'http://localhost:3000/v1/echo' \
  -H 'Content-Type: application/octet-stream' \
  --data-binary '@./file.bin'
Ответы
200 OK

Метод и разобранное тело запроса. Пример ниже: GET без тела.

Пример · text/plain

GET

null
400 Bad Request

Недопустимый format, например ?format=xml. Эта ошибка всегда возвращается обычным текстом.

Пример · text/plain

Unsupported format: xml
Valid values: text, json
413 Payload Too Large

Тело превышает 102 400 байт (100 КиБ).

Пример · text/plain

Request body exceeds the size limit of 100 KiB
415 Unsupported Media Type

Неподдерживаемый или отсутствующий Content-Type у непустого тела.

Пример · text/plain

Unsupported Content-Type. Supported: application/json, text/plain, application/x-www-form-urlencoded, application/octet-stream

Некорректный JSON также возвращает 400. Ошибки синтаксиса и кодировки парсера пока используют стандартный HTML-ответ Express, независимо от выбранного формата.

Headers

/v1/headers

Формат ответа
GET

Заголовки входящего запроса.

Подробнее
Примеры запросов

С собственным заголовком

curl 'http://localhost:3000/v1/headers' \
  -H 'X-Test: hello'
Ответы
200 OK

Заголовки входящего запроса. Набор и значения зависят от клиента.

Пример · text/plain

host:  localhost:3000

accept:  */*
400 Bad Request

Недопустимый format, например ?format=xml. Эта ошибка всегда возвращается обычным текстом.

Пример · text/plain

Unsupported format: xml
Valid values: text, json