Мы выпустили RESTinio 0.4.8!
2018.08.21
Мы добавили в RESTinio очередную порцию новой и полезной функциональности.
Что нового:
- Добавлены нотификаторы о статусе записи данных. Нужно определить был ли ответ отправлен и каков статус записи данных в сокет? Тогда используйте нотификаторы:
int main() { restinio::run( restinio::on_this_thread<>() .port(8080) .address("localhost") .request_handler([](auto req) { return req->create_response() .set_body("Hello, World!") .done( [](const auto & ec ){ std::cout << "Sending response status: " << ec << std::endl; }); })); return 0; }
- Добавлена поддержка datasizeable типов в качестве буфера. Теперь с определенными ограничениями в качестве буфера можно использовать любой тип.
// Blob for image, wraps a Image magick Blob // that is already a smart pointer. struct datasizable_blob_t { // Datasizeable interface: const void * data() const noexcept { return m_blob.data(); } std::size_t size() const noexcept { return m_blob.length(); } //! Image data blob. Magick::Blob m_blob; }; // Somewhere in handler: datasizable_blob_t body; image.write( &(body.m_blob) ); // Writes image binary data to blob. resp.set_body( body );
- В логирование добавлено сообщение со статусом (status line) отправляемых ответов:
[2018-08-20 21:46:58.482] TRACE: [connection:1] start connection with 127.0.0.1:53908 [2018-08-20 21:46:58.482] TRACE: [connection:1] start waiting for request [2018-08-20 21:46:58.482] TRACE: [connection:1] continue reading request [2018-08-20 21:46:58.482] TRACE: [connection:1] received 78 bytes [2018-08-20 21:46:58.482] TRACE: [connection:1] request received (#0): GET / [2018-08-20 21:46:58.482] TRACE: [connection:1] append response (#0), flags: { final_parts, connection_keepalive }, write group size: 2 [2018-08-20 21:46:58.482] TRACE: [connection:1] start next write group for response (#0), size: 2 [2018-08-20 21:46:58.482] TRACE: [connection:1] start response (#0): HTTP/1.1 200 OK [2018-08-20 21:46:58.482] TRACE: [connection:1] sending resp data, buf count: 2, total size: 192
- В построители ответов (response builders) добавлены перегрузки сеттеров с квалификатором rvalue.
Основной репозиторий RESTinio находится на bitbucket (есть github зеркало).
Архивы зафиксированных версий находятся в download section.
Документация находится здесь.
Также доступна Doxygen документация: RESTinio-0.4 API Reference.
Если вам чего-то не хватает в RESTinio и вы хотели бы увидеть в RESTinio нужную вам функциональность, то можете написать нам об этом на info@stiffstream.com.