Мы обновили свою легковесную C++14 библиотеку для встраивания HTTP-входа в C++ приложения до версии 0.4.3.
Основные изменения в RESTinio со времени последнего анонса:
новые варианты restinio::run(), позволяющие задать внешний asio::io_context для RESTinio;
добавлена поддержка sendfile (https://stiffstream.com/en/docs/restinio/0.4/sendfile.html);
request_id теперь доступен внутри обработчика входящего HTTP-запроса;
плюс несколько мелких изменений и улучшений в коде самого RESTinio.
Библиотека живет на bitbucket-е (
https://bitbucket.org/sobjectizerteam/restinio-0.4) c зеркалом на github-е (
https://github.com/Stiffstream/restinio), документация доступна у нас на сайте (
https://stiffstream.com/en/docs/restinio/0.4/). Распространяется под BSD-3-CLAUSE лицензией.
Мы создавали RESTinio для того, чтобы иметь возможность асинхронной обработки входящих запросов в случаях, когда для формирования ответа нужно обратиться к медленно отвечающему стороннему сервису. Иногда обращения к таким сторонним сервисам нужно делать посредством HTTP. Для таких целей широко используется Си-шная библиотека libcurl. Подружить асинхронную обработку входящих запросов посредством RESTinio с асинхронной обработкой исходящих запросов посредством libcurl можно несколькими способами. Подробнее эту тему мой коллега раскрыл в небольшой серии статей:
часть 1,
часть 2,
часть 3.
Развитие RESTinio продолжается. У нас есть свои идеи о том, что можно было бы добавить в следующих версиях библиотеки. Но нам было бы очень интересно услышать пожелания от тех, кто смотрел на RESTinio, но еще не начал её использовать:
что бы вам хотелось увидеть в RESTinio?
чего не хотелось бы видеть?
что останавливает вас от использования RESTinio?