Информация об изменениях

Сообщение RESTinio-0.4.4 с поддержкой компрессии от 05.04.2018 17:13

Изменено 05.04.2018 17:14 so5team

Re: RESTinio-0.4.3 с поддержкой компрессии
RESTinio обновился до версии 0.4.4.

Что изменилось:
  • Добавлена концепция преобразователя данных, которая реализована для компрессии/декомпрессии данных с помощью библиотеки 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 лицензией.
c++ http server
Re: RESTinio-0.4.4 с поддержкой компрессии
RESTinio обновился до версии 0.4.4.

Что изменилось:
  • Добавлена концепция преобразователя данных, которая реализована для компрессии/декомпрессии данных с помощью библиотеки 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 лицензией.
c++ http server