c++ - "Body requirements not met"将请求传递给 c++ 中的方法(Boost Beast 库)

标签 c++ boost boost-asio boost-beast

我正在尝试将请求传递给方法。我的代码是:

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.

最佳答案

该消息可能是 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 源已损坏,要么是您的编译器被误导了。

更有可能的是您没有提到实际触发错误的代码,或者您没有编译您在编辑器中看到的代码。

关于c++ - "Body requirements not met"将请求传递给 c++ 中的方法(Boost Beast 库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52061373/

相关文章:

networking - 连接 "connection less"boost::asio::ip::udp::socket

c# - 在运行时用另一个窗口控件替换窗口控件

c++ - 如何在 VC++ 2010 中使用带有 boost::bind/std::bind 的 lambda 函数?

c++ - 通过 boost 获取自本地时间上午 8 点以来耗时

C++ vector 问题

c++ - 如何运行时检查代码是否由给定的 asio::strand 实例保护

c++ - 在 MinGW g++ 编译器中获取 "tlhelp32.h"的编译错误

c++ - 如何生成位图头数据然后使用C++写入文件

C++ 如何从线程生成函数捕获 Boost 中线程抛出的异常

c++ - Boost::Asio 异步 UDP 服务器 - 未处理的异常消息