]>
git.proxmox.com Git - ceph.git/blob - ceph/src/Beast/examples/http_example.cpp
2 // Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
4 // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 #include <beast/http.hpp>
9 #include <boost/asio.hpp>
10 #include <boost/lexical_cast.hpp>
16 // Normal boost::asio setup
17 std::string
const host
= "boost.org";
18 boost::asio::io_service ios
;
19 boost::asio::ip::tcp::resolver r
{ios
};
20 boost::asio::ip::tcp::socket sock
{ios
};
21 boost::asio::connect(sock
,
22 r
.resolve(boost::asio::ip::tcp::resolver::query
{host
, "http"}));
24 // Send HTTP request using beast
25 beast::http::request
<beast::http::string_body
> req
;
29 req
.fields
.replace("Host", host
+ ":" +
30 boost::lexical_cast
<std::string
>(sock
.remote_endpoint().port()));
31 req
.fields
.replace("User-Agent", "Beast");
32 beast::http::prepare(req
);
33 beast::http::write(sock
, req
);
35 // Receive and print HTTP response using beast
37 beast::http::response
<beast::http::streambuf_body
> resp
;
38 beast::http::read(sock
, sb
, resp
);