Мы выпустили небольшое обновление для RESTinio, в котором добавили возможность получить remote_endpoint для HTTP-запроса или WS-соединения. В классы request_t и websocket::basic::ws_t добавлен метод remote_endpoint(), возвращающий ссылку на значение типа asio::ip::tcp::endpoint.
Свежую версию, 0.4.8.5, в настоящее время можно взять с BitBucket или GitHub. Обновление пакетов для vcpkg и conan-а последует несколько позднее.
В принципе, появление remote_endpoint() рассматривается как первый шаг к тому, чтобы добавить в RESTinio возможность блокировки нежелательных подключений. Например, приложение может контролировать активность клиентских подключений и если видит что-то подозрительное (скажем, большое количество однотипных запросов или запросов с некорректными параметрами от одного узла), то приложение может на какое-то время прекратить обработку подключений от этого узла. Ну, или в совсем простом варианте -- тупо поддержать что-то вроде black/white lists.
Но это большой кусок работы, в котором пока много чего непонятного. Так что пока ограничились добавлением remote_endpoint(), а остальное будем выкладывать по мере готовности. Но если кому-то хотелось бы видеть подобную функциональность в RESTinio, то дайте знать. Возможность пообсуждать новую функциональность предметно пойдет на пользу всем сторонам.
Пару слов о состоянии RESTinio. У нас сейчас нет достаточных ресурсов для активной работы над RESTinio, поэтому разработка новой функциональности несколько заморожена. Но если вы встречаетесь с какими-то косяками или непонятными моментами в работе RESTinio, то дайте нам знать. Мы стараемся с такими случаями разбираться максимально оперативно.
Так же, если вы хотите что-то увидеть в RESTinio, то дайте нам знать. Хотелки пользователей упрощают нам планирование наших работ.