wfrest
v0.9.8
中国語版エントリー
高速、効率的⌛️、そして簡単? C ++ ワークフローに基づく C++ 非同期マイクロ Web フレームワーク。
C++ ワークフローは、軽量の C++ 並列コンピューティングおよび非同期ネットワーキング エンジンです。
パフォーマンスと高い生産性が必要な場合は、 wfrest を気に入っていただけるでしょう。
詳細については、まずディスカッションを参照してください。
https://github.com/wfrest/wfrest/Discussions
ヒント : g++ 4.9 および以前のバージョンでは、ラムダは可変個引数テンプレートをキャプチャできないため、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 ;
}