diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-06-25 22:06:29 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-06-25 22:06:29 +0900 |
| commit | 4803482a51bbb0de968fe301bcea42bc41b8cf46 (patch) | |
| tree | d03e911786a3d28d45e79c2f91dca035cf6215f3 | |
| parent | 6bcf33a69e1bfa9f7679b78f9f287d84798015aa (diff) | |
HttpRequest: Store non-owning raw pointer for authConfigFactory_
| -rw-r--r-- | src/DownloadEngine.cc | 9 | ||||
| -rw-r--r-- | src/DownloadEngine.h | 9 | ||||
| -rw-r--r-- | src/HttpRequest.cc | 23 | ||||
| -rw-r--r-- | src/HttpRequest.h | 6 | ||||
| -rw-r--r-- | src/HttpRequestCommand.cc | 17 | ||||
| -rw-r--r-- | src/MultiUrlRequestInfo.cc | 4 | ||||
| -rw-r--r-- | test/HttpRequestTest.cc | 135 |
7 files changed, 105 insertions, 98 deletions
diff --git a/src/DownloadEngine.cc b/src/DownloadEngine.cc index bc315b24..6742d8b7 100644 --- a/src/DownloadEngine.cc +++ b/src/DownloadEngine.cc @@ -544,9 +544,14 @@ void DownloadEngine::removeCachedIPAddress } void DownloadEngine::setAuthConfigFactory -(const std::shared_ptr<AuthConfigFactory>& factory) +(std::unique_ptr<AuthConfigFactory> factory) { - authConfigFactory_ = factory; + authConfigFactory_ = std::move(factory); +} + +AuthConfigFactory* DownloadEngine::getAuthConfigFactory() const +{ + return authConfigFactory_.get(); } void DownloadEngine::setRefreshInterval(int64_t interval) diff --git a/src/DownloadEngine.h b/src/DownloadEngine.h index 5784b0d1..f0ba7ae2 100644 --- a/src/DownloadEngine.h +++ b/src/DownloadEngine.h @@ -147,7 +147,7 @@ private: std::shared_ptr<DNSCache> dnsCache_; - std::shared_ptr<AuthConfigFactory> authConfigFactory_; + std::unique_ptr<AuthConfigFactory> authConfigFactory_; #ifdef ENABLE_WEBSOCKET std::shared_ptr<rpc::WebSocketSessionMan> webSocketSessionMan_; @@ -334,12 +334,9 @@ public: void removeCachedIPAddress(const std::string& hostname, uint16_t port); - void setAuthConfigFactory(const std::shared_ptr<AuthConfigFactory>& factory); + void setAuthConfigFactory(std::unique_ptr<AuthConfigFactory> factory); - const std::shared_ptr<AuthConfigFactory>& getAuthConfigFactory() const - { - return authConfigFactory_; - } + AuthConfigFactory* getAuthConfigFactory() const; void setRefreshInterval(int64_t interval); diff --git a/src/HttpRequest.cc b/src/HttpRequest.cc index d7320d00..87882743 100644 --- a/src/HttpRequest.cc +++ b/src/HttpRequest.cc @@ -57,13 +57,15 @@ namespace aria2 { const std::string HttpRequest::USER_AGENT("aria2"); -HttpRequest::HttpRequest():contentEncodingEnabled_(true), - userAgent_(USER_AGENT), - acceptMetalink_(false), - option_(0), - noCache_(true), - acceptGzip_(false), - endOffsetOverride_(0) +HttpRequest::HttpRequest() + : contentEncodingEnabled_(true), + userAgent_(USER_AGENT), + acceptMetalink_(false), + authConfigFactory_(0), + option_(0), + noCache_(true), + acceptGzip_(false), + endOffsetOverride_(0) {} HttpRequest::~HttpRequest() {} @@ -333,10 +335,13 @@ void HttpRequest::setCookieStorage cookieStorage_ = cookieStorage; } -void HttpRequest::setAuthConfigFactory -(const std::shared_ptr<AuthConfigFactory>& factory, const Option* option) +void HttpRequest::setAuthConfigFactory(AuthConfigFactory* factory) { authConfigFactory_ = factory; +} + +void HttpRequest::setOption(const Option* option) +{ option_ = option; } diff --git a/src/HttpRequest.h b/src/HttpRequest.h index a9ac38c0..58b0a53f 100644 --- a/src/HttpRequest.h +++ b/src/HttpRequest.h @@ -76,7 +76,7 @@ private: std::shared_ptr<CookieStorage> cookieStorage_; - std::shared_ptr<AuthConfigFactory> authConfigFactory_; + AuthConfigFactory* authConfigFactory_; const Option* option_; @@ -192,8 +192,8 @@ public: return cookieStorage_; } - void setAuthConfigFactory - (const std::shared_ptr<AuthConfigFactory>& factory, const Option* option); + void setAuthConfigFactory(AuthConfigFactory* factory); + void setOption(const Option* option); /* * To use proxy, pass proxy string to Request::setUri() and set it this diff --git a/src/HttpRequestCommand.cc b/src/HttpRequestCommand.cc index 53f73007..678bec18 100644 --- a/src/HttpRequestCommand.cc +++ b/src/HttpRequestCommand.cc @@ -86,11 +86,9 @@ std::shared_ptr<HttpRequest> createHttpRequest(const std::shared_ptr<Request>& req, const std::shared_ptr<FileEntry>& fileEntry, const std::shared_ptr<Segment>& segment, - int64_t totalLength, const std::shared_ptr<Option>& option, const RequestGroup* rg, - const std::shared_ptr<CookieStorage>& cookieStorage, - const std::shared_ptr<AuthConfigFactory>& authConfigFactory, + const DownloadEngine* e, const std::shared_ptr<Request>& proxyRequest, int64_t endOffset = 0) { @@ -100,8 +98,9 @@ createHttpRequest(const std::shared_ptr<Request>& req, httpRequest->setFileEntry(fileEntry); httpRequest->setSegment(segment); httpRequest->addHeader(option->get(PREF_HEADER)); - httpRequest->setCookieStorage(cookieStorage); - httpRequest->setAuthConfigFactory(authConfigFactory, option.get()); + httpRequest->setCookieStorage(e->getCookieStorage()); + httpRequest->setAuthConfigFactory(e->getAuthConfigFactory()); + httpRequest->setOption(option.get()); httpRequest->setProxyRequest(proxyRequest); httpRequest->setAcceptMetalink(rg->getDownloadContext()-> getAcceptMetalink()); @@ -140,11 +139,9 @@ bool HttpRequestCommand::executeInternal() { (createHttpRequest(getRequest(), getFileEntry(), std::shared_ptr<Segment>(), - getRequestGroup()->getTotalLength(), getOption(), getRequestGroup(), - getDownloadEngine()->getCookieStorage(), - getDownloadEngine()->getAuthConfigFactory(), + getDownloadEngine(), proxyRequest_)); if(getOption()->getAsBool(PREF_CONDITIONAL_GET) && (getRequest()->getProtocol() == "http" || @@ -192,11 +189,9 @@ bool HttpRequestCommand::executeInternal() { (createHttpRequest(getRequest(), getFileEntry(), segment, - getRequestGroup()->getTotalLength(), getOption(), getRequestGroup(), - getDownloadEngine()->getCookieStorage(), - getDownloadEngine()->getAuthConfigFactory(), + getDownloadEngine(), proxyRequest_, endOffset)); httpConnection_->sendRequest(httpRequest); diff --git a/src/MultiUrlRequestInfo.cc b/src/MultiUrlRequestInfo.cc index bb054469..107d3ce0 100644 --- a/src/MultiUrlRequestInfo.cc +++ b/src/MultiUrlRequestInfo.cc @@ -187,7 +187,7 @@ int MultiUrlRequestInfo::prepare() } } - std::shared_ptr<AuthConfigFactory> authConfigFactory(new AuthConfigFactory()); + auto authConfigFactory = make_unique<AuthConfigFactory>(); File netrccf(option_->get(PREF_NETRC_PATH)); if(!option_->getAsBool(PREF_NO_NETRC) && netrccf.isFile()) { #ifdef __MINGW32__ @@ -205,7 +205,7 @@ int MultiUrlRequestInfo::prepare() authConfigFactory->setNetrc(netrc); } } - e_->setAuthConfigFactory(authConfigFactory); + e_->setAuthConfigFactory(std::move(authConfigFactory)); #ifdef ENABLE_SSL std::shared_ptr<TLSContext> clTlsContext(TLSContext::make(TLS_CLIENT)); diff --git a/test/HttpRequestTest.cc b/test/HttpRequestTest.cc index ffe4d128..c7d09892 100644 --- a/test/HttpRequestTest.cc +++ b/test/HttpRequestTest.cc @@ -40,8 +40,8 @@ class HttpRequestTest : public CppUnit::TestFixture { CPPUNIT_TEST(testConditionalRequest); CPPUNIT_TEST_SUITE_END(); private: - std::shared_ptr<Option> option_; - std::shared_ptr<AuthConfigFactory> authConfigFactory_; + std::unique_ptr<Option> option_; + std::unique_ptr<AuthConfigFactory> authConfigFactory_; public: void setUp() { @@ -74,9 +74,9 @@ CPPUNIT_TEST_SUITE_REGISTRATION( HttpRequestTest ); void HttpRequestTest::testGetStartByte() { HttpRequest httpRequest; - std::shared_ptr<Piece> p(new Piece(1, 1024)); - std::shared_ptr<Segment> segment(new PiecedSegment(1024, p)); - std::shared_ptr<FileEntry> fileEntry(new FileEntry("file", 1024*10, 0)); + auto p = std::make_shared<Piece>(1, 1024); + auto segment = std::make_shared<PiecedSegment>(1024, p); + auto fileEntry = std::make_shared<FileEntry>("file", 1024*10, 0); CPPUNIT_ASSERT_EQUAL((int64_t)0LL, httpRequest.getStartByte()); @@ -93,9 +93,9 @@ void HttpRequestTest::testGetEndByte() size_t segmentLength = 1024*1024; HttpRequest httpRequest; - std::shared_ptr<Piece> piece(new Piece(index, length)); - std::shared_ptr<Segment> segment(new PiecedSegment(segmentLength, piece)); - std::shared_ptr<FileEntry> fileEntry(new FileEntry("file", segmentLength*10, 0)); + auto piece = std::make_shared<Piece>(index, length); + auto segment = std::make_shared<PiecedSegment>(segmentLength, piece); + auto fileEntry = std::make_shared<FileEntry>("file", segmentLength*10, 0); CPPUNIT_ASSERT_EQUAL((int64_t)0LL, httpRequest.getEndByte()); @@ -103,7 +103,7 @@ void HttpRequestTest::testGetEndByte() CPPUNIT_ASSERT_EQUAL((int64_t)0LL, httpRequest.getEndByte()); - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->supportsPersistentConnection(true); request->setPipeliningHint(true); @@ -126,23 +126,21 @@ void HttpRequestTest::testGetEndByte() void HttpRequestTest::testCreateRequest() { - std::shared_ptr<Piece> p; - - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->supportsPersistentConnection(true); - request->setUri("http://localhost:8080/archives/aria2-1.0.0.tar.bz2"); - p.reset(new Piece(0, 1024)); - std::shared_ptr<Segment> segment(new PiecedSegment(1024, p)); - std::shared_ptr<FileEntry> fileEntry(new FileEntry("file", 1024*1024*10, 0)); + auto p = std::make_shared<Piece>(0, 1024); + auto segment = std::make_shared<PiecedSegment>(1024, p); + auto fileEntry = std::make_shared<FileEntry>("file", 1024*1024*10, 0); HttpRequest httpRequest; httpRequest.disableContentEncoding(); httpRequest.setRequest(request); httpRequest.setSegment(segment); httpRequest.setFileEntry(fileEntry); - httpRequest.setAuthConfigFactory(authConfigFactory_, option_.get()); + httpRequest.setAuthConfigFactory(authConfigFactory_.get()); + httpRequest.setOption(option_.get()); // remove "Connection: close" and add end byte range request->setPipeliningHint(true); @@ -259,7 +257,7 @@ void HttpRequestTest::testCreateRequest() CPPUNIT_ASSERT_EQUAL(expectedText, httpRequest.createRequest()); // enable http proxy auth - std::shared_ptr<Request> proxyRequest(new Request()); + auto proxyRequest = std::make_shared<Request>(); CPPUNIT_ASSERT(proxyRequest->setUri ("http://aria2proxyuser:aria2proxypasswd@localhost:9000")); httpRequest.setProxyRequest(proxyRequest); @@ -316,24 +314,24 @@ void HttpRequestTest::testCreateRequest_ftp() option_->put(PREF_FTP_USER, "aria2user"); option_->put(PREF_FTP_PASSWD, "aria2passwd"); - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->setUri("ftp://localhost:8080/archives/aria2-1.0.0.tar.bz2"); - std::shared_ptr<Request> proxyRequest(new Request()); + auto proxyRequest = std::make_shared<Request>(); CPPUNIT_ASSERT(proxyRequest->setUri ("http://localhost:9000")); HttpRequest httpRequest; - std::shared_ptr<Piece> p(new Piece(0, 1024*1024)); - std::shared_ptr<Segment> segment - (new PiecedSegment(1024*1024, p)); - std::shared_ptr<FileEntry> fileEntry(new FileEntry("file", 1024*1024*10, 0)); + auto p = std::make_shared<Piece>(0, 1024*1024); + auto segment = std::make_shared<PiecedSegment>(1024*1024, p); + auto fileEntry = std::make_shared<FileEntry>("file", 1024*1024*10, 0); httpRequest.disableContentEncoding(); httpRequest.setRequest(request); httpRequest.setSegment(segment); httpRequest.setFileEntry(fileEntry); - httpRequest.setAuthConfigFactory(authConfigFactory_, option_.get()); + httpRequest.setAuthConfigFactory(authConfigFactory_.get()); + httpRequest.setOption(option_.get()); httpRequest.setProxyRequest(proxyRequest); std::string expectedText = @@ -372,14 +370,13 @@ void HttpRequestTest::testCreateRequest_ftp() void HttpRequestTest::testCreateRequest_with_cookie() { - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2"); - std::shared_ptr<Piece> p(new Piece(0, 1024*1024)); - std::shared_ptr<Segment> segment - (new PiecedSegment(1024*1024, p)); - std::shared_ptr<FileEntry> fileEntry(new FileEntry("file", 1024*1024*10, 0)); + auto p = std::make_shared<Piece>(0, 1024*1024); + auto segment = std::make_shared<PiecedSegment>(1024*1024, p); + auto fileEntry = std::make_shared<FileEntry>("file", 1024*1024*10, 0); - Cookie cookies[] = { + std::vector<Cookie> cookies { createCookie("name1", "value1", "localhost", true, "/archives", false), createCookie("name2", "value2", "localhost", true, "/archives/download", false), @@ -388,9 +385,9 @@ void HttpRequestTest::testCreateRequest_with_cookie() createCookie("name4", "value4", "aria2.org", false, "/archives/", true), createCookie("name5", "value5", "example.org", false, "/", false) }; - std::shared_ptr<CookieStorage> st(new CookieStorage()); - for(size_t i = 0; i < A2_ARRAY_LEN(cookies); ++i) { - CPPUNIT_ASSERT(st->store(cookies[i], 0)); + auto st = std::make_shared<CookieStorage>(); + for(auto c : cookies) { + CPPUNIT_ASSERT(st->store(c, 0)); } HttpRequest httpRequest; @@ -400,7 +397,8 @@ void HttpRequestTest::testCreateRequest_with_cookie() httpRequest.setSegment(segment); httpRequest.setFileEntry(fileEntry); httpRequest.setCookieStorage(st); - httpRequest.setAuthConfigFactory(authConfigFactory_, option_.get()); + httpRequest.setAuthConfigFactory(authConfigFactory_.get()); + httpRequest.setOption(option_.get()); std::string expectedText = "GET /archives/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n" "User-Agent: aria2\r\n" @@ -489,12 +487,13 @@ void HttpRequestTest::testCreateRequest_with_cookie() void HttpRequestTest::testCreateRequest_query() { - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->setUri("http://localhost/wiki?id=9ad5109a-b8a5-4edf-9373-56a1c34ae138"); HttpRequest httpRequest; httpRequest.disableContentEncoding(); httpRequest.setRequest(request); - httpRequest.setAuthConfigFactory(authConfigFactory_, option_.get()); + httpRequest.setAuthConfigFactory(authConfigFactory_.get()); + httpRequest.setOption(option_.get()); std::string expectedText = "GET /wiki?id=9ad5109a-b8a5-4edf-9373-56a1c34ae138 HTTP/1.1\r\n" @@ -511,13 +510,14 @@ void HttpRequestTest::testCreateRequest_query() void HttpRequestTest::testCreateRequest_head() { - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->setMethod(Request::METHOD_HEAD); request->setUri("http://localhost/aria2-1.0.0.tar.bz2"); HttpRequest httpRequest; httpRequest.setRequest(request); - httpRequest.setAuthConfigFactory(authConfigFactory_, option_.get()); + httpRequest.setAuthConfigFactory(authConfigFactory_.get()); + httpRequest.setOption(option_.get()); std::stringstream result(httpRequest.createRequest()); std::string line; @@ -528,18 +528,18 @@ void HttpRequestTest::testCreateRequest_head() void HttpRequestTest::testCreateRequest_endOffsetOverride() { - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->setUri("http://localhost/myfile"); HttpRequest httpRequest; httpRequest.disableContentEncoding(); httpRequest.setRequest(request); - httpRequest.setAuthConfigFactory(authConfigFactory_, option_.get()); - std::shared_ptr<Piece> p(new Piece(0, 1024*1024)); - std::shared_ptr<Segment> segment(new PiecedSegment(1024*1024, p)); + httpRequest.setAuthConfigFactory(authConfigFactory_.get()); + httpRequest.setOption(option_.get()); + auto p = std::make_shared<Piece>(0, 1024*1024); + auto segment = std::make_shared<PiecedSegment>(1024*1024, p); httpRequest.setSegment(segment); httpRequest.setEndOffsetOverride(1024*1024*1024); - std::shared_ptr<FileEntry> fileEntry - (new FileEntry("file", 1024*1024*1024*10LL, 0)); + auto fileEntry = std::make_shared<FileEntry>("file", 1024*1024*1024*10LL, 0); httpRequest.setFileEntry(fileEntry); // End byte is passed if it is not 0 std::string expectedText = @@ -573,12 +573,12 @@ void HttpRequestTest::testCreateRequest_endOffsetOverride() void HttpRequestTest::testCreateProxyRequest() { - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2"); - std::shared_ptr<Piece> p(new Piece(0, 1024*1024)); - std::shared_ptr<Segment> segment(new PiecedSegment(1024*1024, p)); + auto p = std::make_shared<Piece>(0, 1024*1024); + auto segment = std::make_shared<PiecedSegment>(1024*1024, p); - std::shared_ptr<Request> proxyRequest(new Request()); + auto proxyRequest = std::make_shared<Request>(); CPPUNIT_ASSERT(proxyRequest->setUri("http://localhost:9000")); HttpRequest httpRequest; @@ -636,13 +636,13 @@ void HttpRequestTest::testCreateProxyRequest() void HttpRequestTest::testIsRangeSatisfied() { - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->supportsPersistentConnection(true); request->setUri("http://localhost:8080/archives/aria2-1.0.0.tar.bz2"); request->setPipeliningHint(false); // default: false - std::shared_ptr<Piece> p(new Piece(0, 1024*1024)); - std::shared_ptr<Segment> segment(new PiecedSegment(1024*1024, p)); - std::shared_ptr<FileEntry> fileEntry(new FileEntry("file", 0, 0)); + auto p = std::make_shared<Piece>(0, 1024*1024); + auto segment = std::make_shared<PiecedSegment>(1024*1024, p); + auto fileEntry = std::make_shared<FileEntry>("file", 0, 0); HttpRequest httpRequest; @@ -699,7 +699,7 @@ void HttpRequestTest::testIsRangeSatisfied() void HttpRequestTest::testUserAgent() { - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->setUri("http://localhost:8080/archives/aria2-1.0.0.tar.bz2"); //std::shared_ptr<Piece> p(new Piece(0, 1024)); @@ -710,7 +710,8 @@ void HttpRequestTest::testUserAgent() httpRequest.setRequest(request); //httpRequest.setSegment(segment); httpRequest.setUserAgent("aria2 (Linux)"); - httpRequest.setAuthConfigFactory(authConfigFactory_, option_.get()); + httpRequest.setAuthConfigFactory(authConfigFactory_.get()); + httpRequest.setOption(option_.get()); std::string expectedText = "GET /archives/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n" "User-Agent: aria2 (Linux)\r\n" @@ -723,7 +724,7 @@ void HttpRequestTest::testUserAgent() CPPUNIT_ASSERT_EQUAL(expectedText, httpRequest.createRequest()); - std::shared_ptr<Request> proxyRequest(new Request()); + auto proxyRequest = std::make_shared<Request>(); CPPUNIT_ASSERT(proxyRequest->setUri("http://localhost:9000")); httpRequest.setProxyRequest(proxyRequest); @@ -739,13 +740,14 @@ void HttpRequestTest::testUserAgent() void HttpRequestTest::testAddHeader() { - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2"); HttpRequest httpRequest; httpRequest.disableContentEncoding(); httpRequest.setRequest(request); - httpRequest.setAuthConfigFactory(authConfigFactory_, option_.get()); + httpRequest.setAuthConfigFactory(authConfigFactory_.get()); + httpRequest.setOption(option_.get()); httpRequest.addHeader("X-ARIA2: v0.13\nX-ARIA2-DISTRIBUTE: enabled\n"); httpRequest.addHeader("Accept: text/html"); std::string expectedText = "GET /archives/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n" @@ -764,13 +766,14 @@ void HttpRequestTest::testAddHeader() void HttpRequestTest::testAcceptMetalink() { - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2"); HttpRequest httpRequest; httpRequest.disableContentEncoding(); httpRequest.setRequest(request); - httpRequest.setAuthConfigFactory(authConfigFactory_, option_.get()); + httpRequest.setAuthConfigFactory(authConfigFactory_.get()); + httpRequest.setOption(option_.get()); httpRequest.setAcceptMetalink(true); std::string expectedText = @@ -788,12 +791,13 @@ void HttpRequestTest::testAcceptMetalink() void HttpRequestTest::testEnableAcceptEncoding() { - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->setUri("http://localhost/archives/aria2-1.0.0.tar.bz2"); HttpRequest httpRequest; httpRequest.setRequest(request); - httpRequest.setAuthConfigFactory(authConfigFactory_, option_.get()); + httpRequest.setAuthConfigFactory(authConfigFactory_.get()); + httpRequest.setOption(option_.get()); std::string acceptEncodings; #ifdef HAVE_ZLIB @@ -829,16 +833,17 @@ void HttpRequestTest::testEnableAcceptEncoding() void HttpRequestTest::testCreateRequest_ipv6LiteralAddr() { - std::shared_ptr<Request> request(new Request()); + auto request = std::make_shared<Request>(); request->setUri("http://[::1]/path"); HttpRequest httpRequest; httpRequest.disableContentEncoding(); httpRequest.setRequest(request); - httpRequest.setAuthConfigFactory(authConfigFactory_, option_.get()); + httpRequest.setAuthConfigFactory(authConfigFactory_.get()); + httpRequest.setOption(option_.get()); CPPUNIT_ASSERT(httpRequest.createRequest().find("Host: [::1]") != std::string::npos); - std::shared_ptr<Request> proxy(new Request()); + auto proxy = std::make_shared<Request>(); proxy->setUri("http://proxy"); httpRequest.setProxyRequest(proxy); std::string proxyRequest = httpRequest.createProxyRequest(); |
