RESTinio-0.4.3 с поддержкой sendfile
Мы обновили свою легковесную 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?