wfrest
v0.9.8
中文版入口
快速、有效率⌛️、而且最簡單?基於C++ Workflow的 C++ 非同步微型 Web 框架。
C++ Workflow是一個輕量級的 C++ 平行運算和非同步網路引擎。
如果您需要性能和良好的生產力,您一定會喜歡wfrest 。
想了解更多信息,可以先看討論:
https://github.com/wfrest/wfrest/discussions
提示:由於在 g++ 4.9 及之前的版本中,lambda 無法擷取可變參數模板,因此我們要求您將 g++ 版本升級至 5.0 以上版本。
如果你使用的是 ubuntu 20.04,你可以透過指令安裝它們:
apt-get install build-essential cmake zlib1g-dev libssl-dev libgtest-dev -y
更多詳情,可以查看這裡:需求詳情
git clone --recursive https://github.com/wfrest/wfrest
cd wfrest
make
sudo make install
對於測試:
make check
例如 :
make example
如果想使用xmake建置wfrest,可以查看xmake建置文檔
使用dockerfile,Dockerfile位於根源程式碼儲存庫的/docker
子目錄中。
docker build -t wfrest ./docker/ubuntu/
如果您使用podman
,您也可以建置它。並在ubuntu 20.04下測試
podman build -t wfrest ./docker/ubuntu/
或者你可以從 DockerHub 拉取
docker pull wfrest/wfrest
# 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 ;
}