c++ cocoyaxi库搭建服务端
2022-02-25 本文已影响0人
一路向后
1.源码实现
#include <co/flag.h>
#include <co/log.h>
#include <co/so.h>
int main(int argc, char **argv)
{
flag::init(argc, argv);
log::init();
http::Server serv("0.0.0.0", 80);
serv.on_req([](const http::Req &req, http::Res &res) {
if(req.is_method_get())
{
if(req.url() == "/hello")
{
res.set_status(200);
res.set_body("hello world\n");
}
else
{
res.set_status(404);
}
}
else
{
res.set_status(405); // method not allowed
}
});
serv.start();
while(1)
{
sleep(1);
}
return 0;
}
2.编译源码
$ g++ -o test test.cpp -std=c++11 -lco -lpthread -ldl
3.运行及其结果
$ sudo ./test
$ curl http://localhost/hello
hello world