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