Я хотел бы добавить заголовок к объекту cppnet-lib basic_response. Тем не менее, я получаю ошибки компиляции.
Я могу добавить заголовок к basic_request следующим образом, который компилируется нормально:
boost::network::http::basic_request<boost::network::http::tags::http_server> request;
request << header("test", "test");
Тем не менее, выполнение того же для объекта ответа следующим образом получает ошибку компиляции:
boost::network::http::basic_response<boost::network::http::tags::http_server> response;
response << header("test", "test");
Ошибка компиляции:
'headers_container_type': the symbol to the left of a '::' must be a type (header.hpp)
'value_type': is not a member of boost::network::http::basic_response<boost::network::http::tags::http_server> (header.hpp)
syntax error: missing ';' before identifier 'value_type' (header.hpp)
Это предполагает, что это невозможно на объекте ответа, но следующая страница, кажется, предполагает, что это так. Я явно где-то ошибаюсь!
Документация: http://cpp-netlib.org/0.8/reference_http_response.html
Моя среда это:
Любая помощь будет очень высоко ценится! Благодарю.
Во-первых, я думаю, что вы используете неправильную документацию, поскольку вы используете версию 0.11.0 (я предлагаю вам использовать 0.11.1, в которой есть множество исправлений ошибок поверх 0.11.0). Вот ссылка, которую вы на самом деле хотите найти для документации по 0.11.0:
http://cpp-netlib.org/0.11.0/reference/http_server.html#response-object
Во-вторых, вы хотите добавить заголовки непосредственно к объекту ответа headers
член. Нет необходимости использовать функции для этого:
struct my_server {
void operator(server::request const& req, server::response & res) {
// do something with the request and/or response
res.headers.push_back(server::response::header("Name", "value"));
// do more things
}
// ...
};