Сообщение RESTinio-0.4.4 с поддержкой компрессии от 05.04.2018 17:13
Изменено 05.04.2018 19:13 so5team
Re: RESTinio-0.4.4 с поддержкой компрессии
RESTinio обновился до версии 0.4.4.
Что изменилось:
Добавлена функция value_or(), с помощью которой можно получить значение параметра из key-value контейнера RESTinio с подстановкой значения по-умолчанию. Подробне смотри: Get values from RESTinio key-value containers.
Ранее приходилось писать так:
Сейчас можно писать так:
Переход на библиотеку https://github.com/martinmoene/string-view-lite для string_view (которая использует string_view из STL если это возможно).
Добавлена сторонняя библиотека https://github.com/martinmoene/optional-lite для optional (которая использует optional из STL если это возможно).
Библиотека по-прежнему живет на 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 лицензией.
Что изменилось:
- Добавлена концепция преобразователя данных, которая реализована для компрессии/декомпрессии данных с помощью библиотеки zlib. Подробнее смотри: Compression (defalate, gzip).
router->http_get(R"(/port/:id/latest)",
[](auto req, auto params) {
auto resp = req->create_response();
resp.append_header_date_field()
.append_header(restinio::http_field::content_type, "application/json");
restinio::transforms::zlib::gzip_body_appender(resp)
.append(load_port_data(params["id"]))
.complete();
return resp.done();
});
router->http_post(R"(/port/:id/data)",
[](auto req, auto params) {
return restinio::transforms::zlib::handle_body(*req, [&](auto uncompressed_body) {
store_port_data(params["id"], upcompressed_body);
return req->create_response()
...
.done();
});
});
Добавлена функция value_or(), с помощью которой можно получить значение параметра из key-value контейнера RESTinio с подстановкой значения по-умолчанию. Подробне смотри: Get values from RESTinio key-value containers.
Ранее приходилось писать так:
const auto count = qp.has( "count" ) ? restinio::cast_to<unsigned>( qp[ "count" ] ) : 100u;
Сейчас можно писать так:
const auto count = restinio::value_or(qp, "count", 100u ) );
Переход на библиотеку https://github.com/martinmoene/string-view-lite для string_view (которая использует string_view из STL если это возможно).
Добавлена сторонняя библиотека https://github.com/martinmoene/optional-lite для optional (которая использует optional из STL если это возможно).
Библиотека по-прежнему живет на 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-0.4.4 с поддержкой компрессии
RESTinio обновился до версии 0.4.4.
Что изменилось:
Добавлена функция value_or(), с помощью которой можно получить значение параметра из key-value контейнера RESTinio с подстановкой значения по-умолчанию. Подробне смотри: Get values from RESTinio key-value containers.
Ранее приходилось писать так:
Сейчас можно писать так:
Переход на библиотеку https://github.com/martinmoene/string-view-lite для string_view (которая использует string_view из STL если это возможно).
Добавлена сторонняя библиотека https://github.com/martinmoene/optional-lite для optional (которая использует optional из STL если это возможно).
Библиотека по-прежнему живет на 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 лицензией.
Что изменилось:
- Добавлена концепция преобразователя данных, которая реализована для компрессии/декомпрессии данных с помощью библиотеки zlib. Подробнее смотри: Compression (defalate, gzip).
router->http_get(R"(/port/:id/latest)",
[](auto req, auto params) {
auto resp = req->create_response();
resp.append_header_date_field()
.append_header(restinio::http_field::content_type, "application/json");
restinio::transforms::zlib::gzip_body_appender(resp)
.append(load_port_data(params["id"]))
.complete();
return resp.done();
});
router->http_post(R"(/port/:id/data)",
[](auto req, auto params) {
return restinio::transforms::zlib::handle_body(*req, [&](auto uncompressed_body) {
store_port_data(params["id"], upcompressed_body);
return req->create_response()
...
.done();
});
});
Добавлена функция value_or(), с помощью которой можно получить значение параметра из key-value контейнера RESTinio с подстановкой значения по-умолчанию. Подробне смотри: Get values from RESTinio key-value containers.
Ранее приходилось писать так:
const auto count = qp.has( "count" ) ? restinio::cast_to<unsigned>( qp[ "count" ] ) : 100u;
Сейчас можно писать так:
const auto count = restinio::value_or(qp, "count", 100u ) );
Переход на библиотеку https://github.com/martinmoene/string-view-lite для string_view (которая использует string_view из STL если это возможно).
Добавлена сторонняя библиотека https://github.com/martinmoene/optional-lite для optional (которая использует optional из STL если это возможно).
Библиотека по-прежнему живет на 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 лицензией.