私は cpp-netlib (v0.11.0) を正常に使用しており、HTTP サーバーとハンドラー機能をテストするための単体テストを開発しています。
ハンドラー関数には、次の必要な署名があります。
typedef boost::network::http::server<RequestHandler> HttpServerType;
void operator()(const HttpServerType::request& request, HttpServerType::response& response)
私ができるようにしたいのは、要求オブジェクトをインスタンス化して、ハンドラーの関数呼び出し演算子を呼び出すことができるようにすることです。しかし、私はそれをコンパイルすることができません。
上記の署名では、request
は の typedef ですbasic_request<Tag>
。
への参照を取るコンストラクターがありますboost::network::uri::uri
。
以下のコードは、clang 3.5 を使用してコンパイルするとエラーが発生します。
boost::network::uri::uri url;
url << uri::scheme("http") << uri::host(host) << uri::port(port) << uri::path(path);
HttpServerType::request request(url);
No matching constructor for initialization of 'HttpServerType::request' (aka 'basic_request<boost::network::http::tags::http_server>');
私は何を間違っていますか?