«Требования тела не выполнены» при передаче запроса методу в c ++ (библиотека Boost Beast) - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь передать требование методу. Мой код:

void handle_request(boost::beast::string_view doc_root, http::request<http::string_body> req, Send send)
{
   some code here
}

но когда я пытаюсь его скомпилировать, я получаю эту ошибку:

  "Body requirements not met"

Как я могу это исправить?

Ошибка не появляется в этих строках, но если я удалю определение функции из кода, она не покажет никакой ошибки.

Есть несколько других ошибок, которые происходят от

beast\http\message.hpp.

1 Ответ

0 голосов
/ 28 августа 2018

Сообщение является вероятным результатом проверки концепции is_body.

Код, который вы показали, не может вызвать ошибку, поскольку этот фрагмент демонстрирует:

Live On Coliru

#include <boost/beast.hpp>
#include <boost/beast/http/type_traits.hpp>

int main() {
    using namespace boost::beast;

    http::request<http::string_body> req;

    static_assert(http::is_body<http::string_body>::value, "all good");
}

Если это не скомпилируется для вас, то либо ваши источники Boost испорчены, либо ваш компилятор очень ошибочен.

Скорее всего, вы не упомянули код, который фактически вызывает ошибку, или что вы не компилируете код, который вы видите в редакторе.

...