cpp-netlib
(安定版リリース 0.10.1)を使用して HTTP サーバーの開発を開始しましたが、利用可能なドキュメントから、サーバー ハンドラーで HTTP 要求ヘッダーにアクセスする方法がわかりません。次のようなラッパーを使用して実行できることを認識しています。
void operator()(async_server::request const &Request, async_server::connection_ptr pConnection)
{
http::impl::request_headers_wrapper<http::tags::http_async_server> Headers = headers(Request);
}
しかし、これの定義によるとnot_quite_pod_request_base
、headers.hpp
これは実際にはペアのベクトルであり、特定のヘッダーが存在するかどうかなどを検索したい場合、検索が困難です。他のオプションがない場合は、もちろんこれに固執しますが、最初は、少なくとも以下から判断すると、マルチマップとして意図されていたようですheaders_container.hpp
。
namespace boost { namespace network {
template <class Tag>
struct headers_container {
typedef std::multimap<
typename string<Tag>::type,
typename string<Tag>::type
> type;
};
} // namespace network
} // namespace boost
だから、誰でもそのような再定義がある理由を指摘できますか、実際に取得する方法がありませんか、またはヘッダーを操作するための「頼りになる」方法をmultimap
備えたラッパーですか? 少なくとも私には、 a の方がはるかに扱いやすいように思えます。vector
cpp-netlib
multimap
アップデート
また、POCO ライブラリをざっと見てみましたが、それらの認証クラスがクライアント セッションのみを対象としているのか、サーバーのみを対象としているのかも理解できませんでした。誰かがこれについてヒントを与えることができれば、POCO に切り替えることができれば、生活がずっと楽になるかもしれません。