Definition at line 90 of file includes/opentelemetry/ext/http/server/http_server.h.


Data Structures | |
| struct | Connection |
| class | HttpRequestHandler |
Public Member Functions | |
| void | setKeepalive (bool keepAlive) |
| HttpServer () | |
| HttpServer (const std::string &serverHost, int port=30000) | |
| ~HttpServer () override | |
| void | setRequestLimits (size_t maxRequestHeadersSize, size_t maxRequestContentSize) |
| void | setServerName (std::string const &name) |
| int | addListeningPort (int port) |
| HttpRequestHandler & | addHandler (const std::string &root, HttpRequestCallback &handler) |
| HttpRequestHandler & | operator[] (const std::string &root) |
| HttpServer & | operator+= (std::pair< const std::string &, HttpRequestCallback & > other) |
| void | start () |
| void | stop () |
| void | setKeepalive (bool keepAlive) |
| HttpServer () | |
| HttpServer (const std::string &serverHost, int port=30000) | |
| ~HttpServer () override | |
| void | setRequestLimits (size_t maxRequestHeadersSize, size_t maxRequestContentSize) |
| void | setServerName (std::string const &name) |
| int | addListeningPort (int port) |
| HttpRequestHandler & | addHandler (const std::string &root, HttpRequestCallback &handler) |
| HttpRequestHandler & | operator[] (const std::string &root) |
| HttpServer & | operator+= (std::pair< const std::string &, HttpRequestCallback & > other) |
| void | start () |
| void | stop () |
Static Public Member Functions | |
| static const char * | getDefaultResponseMessage (int code) |
| static const char * | getDefaultResponseMessage (int code) |
Protected Member Functions | |
| virtual void | onSocketAcceptable (SocketTools::Socket socket) override |
| virtual void | onSocketReadable (SocketTools::Socket socket) override |
| virtual void | onSocketWritable (SocketTools::Socket socket) override |
| virtual void | onSocketClosed (SocketTools::Socket socket) override |
| bool | sendMore (Connection &conn) |
| void | handleConnectionClosed (Connection &conn) |
| void | handleConnection (Connection &conn) |
| bool | parseHeaders (Connection &conn) |
| void | processRequest (Connection &conn) |
| virtual void | onSocketAcceptable (SocketTools::Socket socket) override |
| virtual void | onSocketReadable (SocketTools::Socket socket) override |
| virtual void | onSocketWritable (SocketTools::Socket socket) override |
| virtual void | onSocketClosed (SocketTools::Socket socket) override |
| bool | sendMore (Connection &conn) |
| void | handleConnectionClosed (Connection &conn) |
| void | handleConnection (Connection &conn) |
| bool | parseHeaders (Connection &conn) |
| void | processRequest (Connection &conn) |
Static Protected Member Functions | |
| static bool | equalsLowercased (std::string const &str, char const *mask) |
| static std::string | normalizeHeaderName (char const *begin, char const *end) |
| static std::string | formatTimestamp (time_t time) |
| static bool | equalsLowercased (std::string const &str, char const *mask) |
| static std::string | normalizeHeaderName (char const *begin, char const *end) |
| static std::string | formatTimestamp (time_t time) |
Protected Attributes | |
| std::string | m_serverHost |
| bool | allowKeepalive {true} |
| SocketTools::Reactor | m_reactor |
| std::list< SocketTools::Socket > | m_listeningSockets |
| std::list< HttpRequestHandler > | m_handlers |
| std::map< SocketTools::Socket, Connection > | m_connections |
| size_t | m_maxRequestHeadersSize |
| size_t | m_maxRequestContentSize |
|
inline |
Definition at line 163 of file includes/opentelemetry/ext/http/server/http_server.h.
|
inline |
Definition at line 171 of file includes/opentelemetry/ext/http/server/http_server.h.
References addListeningPort(), and setServerName().
|
inlineoverride |
Definition at line 179 of file includes/opentelemetry/ext/http/server/http_server.h.
References m_listeningSockets.
|
inline |
Definition at line 163 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
|
inline |
Definition at line 171 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References addListeningPort(), and setServerName().
|
inlineoverride |
Definition at line 179 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References m_listeningSockets.
|
inline |
Definition at line 213 of file includes/opentelemetry/ext/http/server/http_server.h.
References LOG_INFO, and m_handlers.
|
inline |
Definition at line 213 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References LOG_INFO, and m_handlers.
|
inline |
Definition at line 195 of file includes/opentelemetry/ext/http/server/http_server.h.
References SocketTools::Reactor::Acceptable, SocketTools::Reactor::addSocket(), SocketTools::Socket::bind(), SocketTools::Socket::getsockname(), SocketTools::Socket::listen(), LOG_INFO, m_listeningSockets, m_reactor, SocketTools::SocketAddr::port(), SocketTools::Socket::setNonBlocking(), SocketTools::Socket::setReuseAddr(), and SocketTools::SocketAddr::toString().
Referenced by HTTP_SERVER_NS::FileHttpServer::FileHttpServer(), and HttpServer().
|
inline |
Definition at line 195 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References SocketTools::Reactor::Acceptable, SocketTools::Reactor::addSocket(), SocketTools::Socket::bind(), SocketTools::Socket::getsockname(), SocketTools::Socket::listen(), LOG_INFO, m_listeningSockets, m_reactor, SocketTools::SocketAddr::port(), SocketTools::Socket::setNonBlocking(), SocketTools::Socket::setReuseAddr(), and SocketTools::SocketAddr::toString().
|
inlinestaticprotected |
Definition at line 684 of file includes/opentelemetry/ext/http/server/http_server.h.
Referenced by handleConnection().
|
inlinestaticprotected |
Definition at line 684 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
|
inlinestaticprotected |
Definition at line 763 of file includes/opentelemetry/ext/http/server/http_server.h.
Referenced by processRequest().
|
inlinestaticprotected |
Definition at line 763 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
|
inlinestatic |
Definition at line 777 of file includes/opentelemetry/ext/http/server/http_server.h.
Referenced by processRequest().
|
inlinestatic |
Definition at line 777 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
|
inlineprotected |
Definition at line 366 of file includes/opentelemetry/ext/http/server/http_server.h.
References SocketTools::Reactor::addSocket(), allowKeepalive, HTTP_SERVER_NS::HttpResponse::body, HTTP_SERVER_NS::HttpRequest::client, SocketTools::Reactor::Closed, HTTP_SERVER_NS::HttpServer::Connection::Closing, HTTP_SERVER_NS::HttpResponse::code, HTTP_SERVER_NS::HttpRequest::content, HTTP_SERVER_NS::HttpServer::Connection::contentLength, equalsLowercased(), HTTP_SERVER_NS::HttpRequest::headers, HTTP_SERVER_NS::HttpResponse::headers, HTTP_SERVER_NS::HttpServer::Connection::Idle, HTTP_SERVER_NS::HttpServer::Connection::keepalive, LOG_INFO, LOG_TRACE, LOG_WARN, m_maxRequestContentSize, m_maxRequestHeadersSize, m_reactor, HTTP_SERVER_NS::HttpResponse::message, HTTP_SERVER_NS::HttpRequest::method, absl::move(), parseHeaders(), HTTP_SERVER_NS::HttpServer::Connection::Processing, processRequest(), HTTP_SERVER_NS::HttpRequest::protocol, SocketTools::Reactor::Readable, HTTP_SERVER_NS::HttpServer::Connection::receiveBuffer, HTTP_SERVER_NS::HttpServer::Connection::ReceivingBody, HTTP_SERVER_NS::HttpServer::Connection::ReceivingHeaders, HTTP_SERVER_NS::HttpServer::Connection::request, HTTP_SERVER_NS::HttpServer::Connection::response, HTTP_SERVER_NS::HttpServer::Connection::sendBuffer, HTTP_SERVER_NS::HttpServer::Connection::Sending100Continue, HTTP_SERVER_NS::HttpServer::Connection::SendingBody, HTTP_SERVER_NS::HttpServer::Connection::SendingHeaders, sendMore(), SocketTools::Socket::shutdown(), SocketTools::Socket::ShutdownSend, HTTP_SERVER_NS::HttpServer::Connection::socket, HTTP_SERVER_NS::HttpServer::Connection::state, and HTTP_SERVER_NS::HttpRequest::uri.
Referenced by onSocketReadable(), and onSocketWritable().
|
inlineprotected |
Definition at line 366 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References SocketTools::Reactor::addSocket(), allowKeepalive, SocketTools::Reactor::Closed, HTTP_SERVER_NS::HttpServer::Connection::Closing, equalsLowercased(), HTTP_SERVER_NS::HttpServer::Connection::Idle, LOG_INFO, LOG_TRACE, LOG_WARN, m_maxRequestContentSize, m_maxRequestHeadersSize, m_reactor, absl::move(), parseHeaders(), HTTP_SERVER_NS::HttpServer::Connection::Processing, processRequest(), SocketTools::Reactor::Readable, HTTP_SERVER_NS::HttpServer::Connection::ReceivingBody, HTTP_SERVER_NS::HttpServer::Connection::ReceivingHeaders, HTTP_SERVER_NS::HttpServer::Connection::Sending100Continue, HTTP_SERVER_NS::HttpServer::Connection::SendingBody, HTTP_SERVER_NS::HttpServer::Connection::SendingHeaders, sendMore(), and SocketTools::Socket::ShutdownSend.
|
inlineprotected |
Definition at line 353 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References HTTP_SERVER_NS::HttpServer::Connection::Closing, HTTP_SERVER_NS::HttpServer::Connection::Idle, LOG_TRACE, LOG_WARN, m_connections, m_reactor, and SocketTools::Reactor::removeSocket().
|
inlineprotected |
Definition at line 353 of file includes/opentelemetry/ext/http/server/http_server.h.
References HTTP_SERVER_NS::HttpRequest::client, SocketTools::Socket::close(), HTTP_SERVER_NS::HttpServer::Connection::Closing, HTTP_SERVER_NS::HttpServer::Connection::Idle, LOG_TRACE, LOG_WARN, m_connections, m_reactor, SocketTools::Reactor::removeSocket(), HTTP_SERVER_NS::HttpServer::Connection::request, HTTP_SERVER_NS::HttpServer::Connection::socket, and HTTP_SERVER_NS::HttpServer::Connection::state.
Referenced by onSocketClosed(), onSocketReadable(), and processRequest().
|
inlinestaticprotected |
Definition at line 695 of file includes/opentelemetry/ext/http/server/http_server.h.
References pydeepstreamdoc::osd::ArrowHeadDoc::end.
Referenced by parseHeaders().
|
inlinestaticprotected |
Definition at line 695 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References pydeepstreamdoc::osd::ArrowHeadDoc::end.
|
inlineoverrideprotectedvirtual |
Implements SocketTools::Reactor::SocketCallback.
Definition at line 241 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References SocketTools::Socket::accept(), SocketTools::Reactor::addSocket(), SocketTools::Reactor::Closed, pydeepstreamdoc::node::NodeDoc::find, HTTP_SERVER_NS::HttpServer::Connection::Idle, LOG_TRACE, m_connections, m_listeningSockets, m_reactor, SocketTools::Socket::m_sock, SocketTools::Reactor::Readable, SocketTools::Socket::setNonBlocking(), and SocketTools::SocketAddr::toString().
|
inlineoverrideprotectedvirtual |
Implements SocketTools::Reactor::SocketCallback.
Definition at line 241 of file includes/opentelemetry/ext/http/server/http_server.h.
References SocketTools::Socket::accept(), SocketTools::Reactor::addSocket(), HTTP_SERVER_NS::HttpRequest::client, SocketTools::Reactor::Closed, pydeepstreamdoc::node::NodeDoc::find, HTTP_SERVER_NS::HttpServer::Connection::Idle, LOG_TRACE, m_connections, m_listeningSockets, m_reactor, SocketTools::Socket::m_sock, SocketTools::Reactor::Readable, HTTP_SERVER_NS::HttpServer::Connection::request, SocketTools::Socket::setNonBlocking(), HTTP_SERVER_NS::HttpServer::Connection::socket, HTTP_SERVER_NS::HttpServer::Connection::state, and SocketTools::SocketAddr::toString().
|
inlineoverrideprotectedvirtual |
Implements SocketTools::Reactor::SocketCallback.
Definition at line 311 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References pydeepstreamdoc::node::NodeDoc::find, handleConnectionClosed(), LOG_TRACE, m_connections, m_listeningSockets, and SocketTools::Socket::m_sock.
|
inlineoverrideprotectedvirtual |
Implements SocketTools::Reactor::SocketCallback.
Definition at line 311 of file includes/opentelemetry/ext/http/server/http_server.h.
References pydeepstreamdoc::node::NodeDoc::find, handleConnectionClosed(), LOG_TRACE, m_connections, m_listeningSockets, and SocketTools::Socket::m_sock.
|
inlineoverrideprotectedvirtual |
Implements SocketTools::Reactor::SocketCallback.
Definition at line 261 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References pydeepstreamdoc::node::NodeDoc::find, handleConnection(), handleConnectionClosed(), LOG_TRACE, m_connections, m_listeningSockets, SocketTools::Socket::m_sock, and SocketTools::Socket::recv().
|
inlineoverrideprotectedvirtual |
Implements SocketTools::Reactor::SocketCallback.
Definition at line 261 of file includes/opentelemetry/ext/http/server/http_server.h.
References HTTP_SERVER_NS::HttpRequest::client, pydeepstreamdoc::node::NodeDoc::find, handleConnection(), handleConnectionClosed(), LOG_TRACE, m_connections, m_listeningSockets, SocketTools::Socket::m_sock, HTTP_SERVER_NS::HttpServer::Connection::receiveBuffer, SocketTools::Socket::recv(), and HTTP_SERVER_NS::HttpServer::Connection::request.
|
inlineoverrideprotectedvirtual |
Implements SocketTools::Reactor::SocketCallback.
Definition at line 289 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References pydeepstreamdoc::node::NodeDoc::find, handleConnection(), LOG_TRACE, m_connections, m_listeningSockets, SocketTools::Socket::m_sock, and sendMore().
|
inlineoverrideprotectedvirtual |
Implements SocketTools::Reactor::SocketCallback.
Definition at line 289 of file includes/opentelemetry/ext/http/server/http_server.h.
References pydeepstreamdoc::node::NodeDoc::find, handleConnection(), LOG_TRACE, m_connections, m_listeningSockets, SocketTools::Socket::m_sock, and sendMore().
|
inline |
Definition at line 229 of file includes/opentelemetry/ext/http/server/http_server.h.
References LOG_INFO, and m_handlers.
|
inline |
Definition at line 229 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References LOG_INFO, and m_handlers.
|
inline |
Definition at line 221 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References LOG_INFO, and m_handlers.
|
inline |
Definition at line 221 of file includes/opentelemetry/ext/http/server/http_server.h.
References LOG_INFO, and m_handlers.
|
inlineprotected |
Definition at line 568 of file includes/opentelemetry/ext/http/server/http_server.h.
References HTTP_SERVER_NS::HttpRequest::headers, HTTP_SERVER_NS::HttpRequest::method, normalizeHeaderName(), HTTP_SERVER_NS::HttpRequest::protocol, HTTP_SERVER_NS::HttpServer::Connection::receiveBuffer, HTTP_SERVER_NS::HttpServer::Connection::request, and HTTP_SERVER_NS::HttpRequest::uri.
Referenced by handleConnection().
|
inlineprotected |
Definition at line 568 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References normalizeHeaderName().
|
inlineprotected |
Definition at line 718 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References formatTimestamp(), getDefaultResponseMessage(), handleConnectionClosed(), LOG_TRACE, m_handlers, and m_serverHost.
|
inlineprotected |
Definition at line 718 of file includes/opentelemetry/ext/http/server/http_server.h.
References HTTP_SERVER_NS::HttpResponse::body, HTTP_SERVER_NS::HttpRequest::client, HTTP_SERVER_NS::HttpResponse::code, formatTimestamp(), getDefaultResponseMessage(), handleConnectionClosed(), HTTP_SERVER_NS::HttpResponse::headers, HTTP_SERVER_NS::HttpServer::Connection::keepalive, LOG_TRACE, m_handlers, m_serverHost, HTTP_SERVER_NS::HttpResponse::message, HTTP_SERVER_NS::HttpServer::Connection::request, HTTP_SERVER_NS::HttpServer::Connection::response, and HTTP_SERVER_NS::HttpRequest::uri.
Referenced by handleConnection().
|
inlineprotected |
Definition at line 327 of file includes/opentelemetry/ext/http/server/http_server.h.
References SocketTools::Reactor::addSocket(), HTTP_SERVER_NS::HttpRequest::client, SocketTools::Reactor::Closed, SocketTools::Socket::error(), SocketTools::Socket::ErrorWouldBlock, LOG_TRACE, m_reactor, HTTP_SERVER_NS::HttpServer::Connection::request, SocketTools::Socket::send(), HTTP_SERVER_NS::HttpServer::Connection::sendBuffer, HTTP_SERVER_NS::HttpServer::Connection::socket, and SocketTools::Reactor::Writable.
Referenced by handleConnection(), and onSocketWritable().
|
inlineprotected |
Definition at line 327 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References SocketTools::Reactor::addSocket(), SocketTools::Reactor::Closed, SocketTools::Socket::ErrorWouldBlock, LOG_TRACE, m_reactor, and SocketTools::Reactor::Writable.
|
inline |
Definition at line 161 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References allowKeepalive.
|
inline |
Definition at line 161 of file includes/opentelemetry/ext/http/server/http_server.h.
References allowKeepalive.
|
inline |
Definition at line 187 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References m_maxRequestContentSize, and m_maxRequestHeadersSize.
|
inline |
Definition at line 187 of file includes/opentelemetry/ext/http/server/http_server.h.
References m_maxRequestContentSize, and m_maxRequestHeadersSize.
|
inline |
Definition at line 193 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References m_serverHost.
|
inline |
Definition at line 193 of file includes/opentelemetry/ext/http/server/http_server.h.
References m_serverHost.
Referenced by HTTP_SERVER_NS::FileHttpServer::FileHttpServer(), and HttpServer().
|
inline |
Definition at line 236 of file includes/opentelemetry/ext/http/server/http_server.h.
References m_reactor, and SocketTools::Reactor::start().
|
inline |
Definition at line 236 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References m_reactor, and SocketTools::Reactor::start().
|
inline |
Definition at line 238 of file includes/opentelemetry/ext/http/server/http_server.h.
References m_reactor, and SocketTools::Reactor::stop().
|
inline |
Definition at line 238 of file 9.2/includes/opentelemetry/ext/http/server/http_server.h.
References m_reactor, and SocketTools::Reactor::stop().
|
protected |
Definition at line 116 of file includes/opentelemetry/ext/http/server/http_server.h.
Referenced by handleConnection(), and setKeepalive().
|
protected |
Definition at line 157 of file includes/opentelemetry/ext/http/server/http_server.h.
Referenced by handleConnectionClosed(), onSocketAcceptable(), onSocketClosed(), onSocketReadable(), and onSocketWritable().
|
protected |
Definition at line 155 of file includes/opentelemetry/ext/http/server/http_server.h.
Referenced by addHandler(), operator+=(), operator[](), and processRequest().
|
protected |
Definition at line 118 of file includes/opentelemetry/ext/http/server/http_server.h.
Referenced by addListeningPort(), onSocketAcceptable(), onSocketClosed(), onSocketReadable(), onSocketWritable(), and ~HttpServer().
|
protected |
Definition at line 158 of file includes/opentelemetry/ext/http/server/http_server.h.
Referenced by handleConnection(), and setRequestLimits().
|
protected |
Definition at line 158 of file includes/opentelemetry/ext/http/server/http_server.h.
Referenced by handleConnection(), and setRequestLimits().
|
protected |
Definition at line 117 of file includes/opentelemetry/ext/http/server/http_server.h.
Referenced by addListeningPort(), handleConnection(), handleConnectionClosed(), onSocketAcceptable(), sendMore(), start(), and stop().
|
protected |
Definition at line 115 of file includes/opentelemetry/ext/http/server/http_server.h.
Referenced by processRequest(), and setServerName().