Library: Net
Package: HTTPServer
Header: Poco/Net/HTTPServer.h
A subclass of TCPServer that implements a full-featured multithreaded HTTP server.
A HTTPRequestHandlerFactory must be supplied. The ServerSocket must be bound and in listening state.
To configure various aspects of the server, a HTTPServerParams object can be passed to the constructor.
The server supports:
Please see the TCPServer class for information about connection and thread handling.
See RFC 2616 <http://www.faqs.org/rfcs/rfc2616.html> for more information about the HTTP protocol.
Direct Base Classes: TCPServer
All Base Classes: TCPServer, Poco::Runnable
Member Functions: stopAll
Inherited Functions: currentConnections, currentThreads, maxConcurrentConnections, params, port, queuedConnections, refusedConnections, run, start, stop, threadName, totalConnections
HTTPServer(
HTTPRequestHandlerFactory::Ptr pFactory,
const ServerSocket & socket,
HTTPServerParams::Ptr pParams
);
Creates the HTTPServer, using the given ServerSocket.
New threads are taken from the default thread pool.
HTTPServer(
HTTPRequestHandlerFactory::Ptr pFactory,
Poco::ThreadPool & threadPool,
const ServerSocket & socket,
HTTPServerParams::Ptr pParams
);
Creates the HTTPServer, using the given ServerSocket.
New threads are taken from the given thread pool.
~HTTPServer();
Destroys the HTTPServer and its HTTPRequestHandlerFactory.
void stopAll(
bool abortCurrent = false
);
Stops the server. In contrast to TCPServer::stop(), which also stops the server, but allows all client connections to finish at their pace, this allows finer control over client connections.
If abortCurrent is false, all current requests are allowed to complete. If abortCurrent is false, the underlying sockets of all client connections are shut down, causing all requests to abort.