开发者

Using cpp-netlib 0.8 as a HTTP Proxy - Helpless

I am trying to use cpp-netlib in a project of mine. I simply need to create a HTTP proxy into which I can plug in some functionality later. For now, I just need to listen to requests, send request to a new site, and forward the answer of the new request to the first request.

This is the code I have so far:

std::string ip = source(request);
http::client client;
std::ostringstream url;
url << "www.example.com/image.jpg";
http::client::request clientRequest(url.str());
http::client::response clientResponse = client.get(clientRequest);
response = server::response::stock_reply(server::response::ok);
response.headers =开发者_如何学运维 clientResponse.headers(); //This is not possible - not correct type or something
response.content = clientResponse.body();

Results in error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::multimap<_Kty,_Ty>' (or there is no acceptable conversion)

A request to the test image I am using yields 19.4kb data in the response. If I do the same request through the above code (without header copying) I get an answer with about 4kb data, which the browser tries to show as text (default header). It does seem like an image though, even in text.

Anyone out there that is familiar with cpp-netlib-0.8? is response.content = clientResponse.body(); the correct way? How can I add the correct headers?

It's altogether too much template weirdness in cpp-netlib for me to understand it right now!

Thanks...


Instead of using:

response.content = clientResponse.body();

the correct way is:

std::string body_content = body(clientResponse);

also, you are using response as variable, while your variable is actually clientResponse

For more examples read cpp-netlib v0.8 documentation

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜