Library: Net
Package: HTTPClient
Header: Poco/Net/HTTPSessionFactory.h
Description
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.
Member Summary
Member Functions: createClientSession, defaultFactory, getProxyConfig, proxyHost, proxyPassword, proxyPort, proxyUsername, registerProtocol, setProxy, setProxyConfig, setProxyCredentials, supportsProtocol, unregisterProtocol
Constructors
HTTPSessionFactory
Creates the HTTPSessionFactory.
HTTPSessionFactory
HTTPSessionFactory(
const HTTPClientSession::ProxyConfig & proxyConfig
);
Creates the HTTPSessionFactory and sets the proxy configuration.
HTTPSessionFactory
HTTPSessionFactory(
const std::string & proxyHost,
Poco::UInt16 proxyPort
);
Creates the HTTPSessionFactory and sets the proxy host and port.
Destructor
~HTTPSessionFactory
Destroys the HTTPSessionFactory.
Member Functions
createClientSession
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
defaultFactory
static HTTPSessionFactory & defaultFactory();
Returns the default HTTPSessionFactory.
getProxyConfig
const HTTPClientSession::ProxyConfig & getProxyConfig() const;
Returns the proxy configuration.
proxyHost
const std::string & proxyHost() const;
Returns the proxy host, if one has been set, or an empty string otherwise.
proxyPassword
const std::string & proxyPassword() const;
Returns the password for proxy authorization.
proxyPort
Poco::UInt16 proxyPort() const;
Returns the proxy port number, if one has been set, or zero otherwise.
proxyUsername
const std::string & proxyUsername() const;
Returns the username for proxy authorization.
registerProtocol
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.
setProxy
void setProxy(
const std::string & proxyHost,
Poco::UInt16 proxyPort
);
Sets the proxy host and port number.
setProxyConfig
void setProxyConfig(
const HTTPClientSession::ProxyConfig & proxyConfig
);
Sets the proxy configuration.
setProxyCredentials
void setProxyCredentials(
const std::string & username,
const std::string & password
);
Sets the username and password for proxy authorization (Basic auth only).
supportsProtocol
bool supportsProtocol(
const std::string & protocol
);
Returns true if a session instantiator for the given protocol has been registered.
unregisterProtocol
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.