// Test that only cookies we manually add to the header are sent. void HttpClientTest::testCookies() { bp::url::Url url(m_testServer.getEchoUrl()); RequestPtr ptrReq(new Request(Method::HTTP_POST, url)); // Tell the test server to echo request headers in response body. QueryString qs; qs.add("EchoHeaders", bp::conv::toString(1)); ptrReq->url.setQuery(qs.toString()); // Add some cookie headers. string sCookie = "kind=oatmeal"; Headers hdrs; hdrs.add( Headers::ksCookie, "kind=oatmeal" ); ptrReq->headers = hdrs; // Dummy body. const string ksBody = "Cookies are delicious"; ptrReq->body.assign(ksBody); // Execute the transaction. SyncTransactionPtr tran = SyncTransaction::alloc(ptrReq); SyncTransaction::FinalStatus results; ResponsePtr ptrResp = tran->execute(results); CPPUNIT_ASSERT(results.code == SyncTransaction::FinalStatus::eOk); CPPUNIT_ASSERT(ptrResp->status.code() == Status::OK); string sBody = ptrResp->body.toString(); string sCookieHdr = "Cookie: " + sCookie; string::size_type nIdx = sBody.find( sCookieHdr ); CPPUNIT_ASSERT( nIdx != string::npos); }