wfrest

基于Sogou C++ Workflow开发的高性能异步RESTful网络框架,提供简洁接口和高性能HTTP服务,支持与Workflow互通,便于开发各类网络应用。

项目地址https://github.com/wfrest/wfrest## 项目描述- 基于Sogou C++ Workflow开发的高性能异步restful网络框架- 低门槛,简洁的接口使c++用户能像go语言的gin,python的flask一样快速开发http restful的应用- 高性能,wfrest提供的http性能优于nginx- 与workflow互通,使得计算调度、异步文件IO等功能的使用更为方便,也可使用workflow的其他功能比如服务治理,mysql,redis等- 代码简洁易读,内部架构精巧,弥补了 workflow 在 web 功能上的不足,同时性能上有保证。- 独特的内存管理方式,不用借助智能指针,让内存管理更加方便### 示例代码:cpp#include "wfrest/HttpServer.h"using namespace wfrest;int main(){ HttpServer svr; // curl -v http://ip:port/hello svr.GET("/hello", [](const HttpReq *req, HttpResp *resp) { resp->String("world\n"); }); // curl -v http://ip:port/data svr.GET("/data", [](const HttpReq *req, HttpResp *resp) { std::string str = "Hello world"; resp->String(std::move(str)); }); // curl -v http://ip:port/post -d 'post hello world' svr.POST("/post", [](const HttpReq *req, HttpResp *resp) { // reference, no copy here std::string& body = req->body(); fprintf(stderr, "post data : %s\n", body.c_str()); }); if (svr.start(8888) == 0) { getchar(); svr.stop(); } else { fprintf(stderr, "Cannot start server"); exit(1); } return 0;}