Boost io_service.accept:获取URI调用

时间:2013-06-07 09:14:54

标签: boost boost-asio

我想通过boost来调用URI。

如果调用了http://localhost:8080/users/4,我想知道URI或只是/users/4

#include <boost/bind.hpp>
#include <boost/asio.hpp>
using boost::asio::ip::tcp;

int main()
{
  boost::asio::io_service io;
  tcp::acceptor acceptor(io, tcp::endpoint(tcp::v4(), 8080));
  tcp::socket socket(io);
  acceptor.accept(socket);

  // Do stuff to get URI
  // ...

  if (uri == "http://localhost:8080/users/4") {
     std::cout << "User 4 uri called" << std::endl;
  }
  return 0;
}

1 个答案:

答案 0 :(得分:2)

查看ASIO's http server exampleconnection::handle_read方法使用request_parser类实例解析请求,因此request结构的实例包含所需的URI。