跳到主要内容
amass
一个躺不平的板砖人
查看所有作者

使用Boost.URL实现http路由

· 阅读需 4 分钟
amass
一个躺不平的板砖人

使用Boost.Beast实现http服务器时,一直没有一个好的方式解决路由的问题。Boost.URL的发布给了一个比较好的实现方案。

最开始是直接使用硬编码来实现的:

void handleRequest(const boost::beast::http::request<boost::beast::http::string_body> &request) {
if(request.target()=="/public") {
// do something
} else if(request.target()=="/login") {
// do something
} else if(request.target()=="/about") {
// do something
}
}

这是最简单粗暴的方式,当然缺点有很多。扩展性差,不易于维护,会出现代码文件爆炸的情况。