/* */ #ifndef _D_REQUEST_FACTORY_H_ #define _D_REQUEST_FACTORY_H_ #include "common.h" #include "Request.h" #include "Option.h" #include "Netrc.h" class RequestFactory { private: const Option* _option; NetrcHandle _netrc; string _method; string _referer; AuthConfigHandle createAuthConfig(const string& user, const string& password) const; public: RequestFactory():_option(0), _netrc(0), _method(Request::METHOD_GET) {} RequestHandle createRequest(); AuthResolverHandle createHttpAuthResolver(); AuthResolverHandle createHttpProxyAuthResolver(); AuthResolverHandle createFtpAuthResolver(); void setOption(const Option* option) { _option = option; } void setNetrc(const NetrcHandle& netrc) { _netrc = netrc; } void setMethod(const string& method) { _method = method; } void setReferer(const string& referer) { _referer = referer; } }; typedef SharedHandle RequestFactoryHandle; typedef SingletonHolder RequestFactorySingletonHolder; #endif // _D_REQUEST_FACTORY_H_