class Poco::Net::HTTPSessionFactory
Overview
A factory for HTTPClientSession objects. Moreā¦
#include <HTTPSessionFactory.h> class HTTPSessionFactory { public: // structs struct InstantiatorInfo; // construction HTTPSessionFactory(); HTTPSessionFactory( const std::string& proxyHost, Poco::UInt16 proxyPort ); // methods void registerProtocol( const std::string& protocol, HTTPSessionInstantiator* pSessionInstantiator ); void unregisterProtocol(const std::string& protocol); bool supportsProtocol(const std::string& protocol); HTTPClientSession* createClientSession(const Poco::URI& uri); const std::string& proxyHost() const; Poco::UInt16 proxyPort() const; void setProxy( const std::string& proxyHost, Poco::UInt16 proxyPort ); void setProxyCredentials( const std::string& username, const std::string& password ); const std::string& proxyUsername() const; const std::string& proxyPassword() const; static HTTPSessionFactory& defaultFactory(); };
Detailed Documentation
A factory for HTTPClientSession objects.
Given a URI, this class creates a HTTPClientSession (for http) or a HTTPSClientSession (for https) for accessing the URI.
The actual work of creating the session is done by HTTPSessionInstantiator objects that must be registered with a HTTPSessionFactory.
Construction
HTTPSessionFactory()
Creates the HTTPSessionFactory.
HTTPSessionFactory( const std::string& proxyHost, Poco::UInt16 proxyPort )
Creates the HTTPSessionFactory and sets the proxy host and port.
Methods
void registerProtocol( const std::string& protocol, HTTPSessionInstantiator* pSessionInstantiator )
Registers the session instantiator for the given protocol.
The factory takes ownership of the SessionInstantiator.
A protocol can be registered more than once. However, only the instantiator that has been registered first is used. Also, for each call to registerProtocol(), a corresponding call to unregisterProtocol() must be made.
void unregisterProtocol(const std::string& protocol)
Removes the registration of a protocol.
Throws a NotFoundException if no instantiator has been registered for the given protocol.
bool supportsProtocol(const std::string& protocol)
Returns true if a session instantiator for the given protocol has been registered.
HTTPClientSession* createClientSession(const Poco::URI& uri)
Creates a client session for the given uri scheme. Throws exception if no factory is registered for the given scheme.
const std::string& proxyHost() const
Returns the proxy host, if one has been set, or an empty string otherwise.
Poco::UInt16 proxyPort() const
Returns the proxy port number, if one has been set, or zero otherwise.
void setProxy( const std::string& proxyHost, Poco::UInt16 proxyPort )
Sets the proxy host and port number.
void setProxyCredentials( const std::string& username, const std::string& password )
Sets the username and password for proxy authorization (Basic auth only).
const std::string& proxyUsername() const
Returns the username for proxy authorization.
const std::string& proxyPassword() const
Returns the password for proxy authorization.
static HTTPSessionFactory& defaultFactory()
Returns the default HTTPSessionFactory.