使用例子:
#include "httpservice.hpp"
#include "boost/bind.hpp"
#include <iostream>
using namespace std;
void handle_test1(boost::shared_ptr<Response> res, boost::shared_ptr<Request> req){
res->write(req->body());
}
class CLASSA {
public:
CLASSA(){};
void handle_test2(boost::shared_ptr<Response> res, boost::shared_ptr<Request> req){
//cout << "收到参数: name" << req->query<std::string>("name") << ", age:" << req->query<int>("age") << endl;
res->set_header("Content-Type", "application/json");
res->write("{\"name\":\"button\", \"age\":100}");
}
};
int main()
{
LsHTTP http(8888);
// 可以用自由函数注册
http.POST("/chen/test1", handle_test1);
// 可以用成员函数注册
CLASSA testclass;
http.GET("/chen/test2", boost::bind(&CLASSA::handle_test2, &testclass, _1, _2));
// 可以用lambda注册
http.GET("/chen/test3", [](boost::shared_ptr<Response> res, boost::shared_ptr<Request> req){
res->write("handle test3 url request");
});
http.run();
(void) getchar ();
return 0;
}
目前使用 vs2010编译的, 下载工程:
点击打开链接