Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d4930319f1 | |||
| ba805fc0c8 | |||
| 3730452c47 | |||
| dd67b92118 | |||
| f980adebaa | |||
| 4d9a6741c9 |
@@ -36,6 +36,7 @@
|
|||||||
#include <websocketpp/http/response.hpp>
|
#include <websocketpp/http/response.hpp>
|
||||||
#include <websocketpp/message_buffer/message.hpp>
|
#include <websocketpp/message_buffer/message.hpp>
|
||||||
#include <websocketpp/message_buffer/alloc.hpp>
|
#include <websocketpp/message_buffer/alloc.hpp>
|
||||||
|
#include <websocketpp/logger/stub.hpp>
|
||||||
|
|
||||||
struct stub_config {
|
struct stub_config {
|
||||||
typedef websocketpp::http::parser::request request_type;
|
typedef websocketpp::http::parser::request request_type;
|
||||||
@@ -45,8 +46,13 @@ struct stub_config {
|
|||||||
<websocketpp::message_buffer::alloc::con_msg_manager> message_type;
|
<websocketpp::message_buffer::alloc::con_msg_manager> message_type;
|
||||||
typedef websocketpp::message_buffer::alloc::con_msg_manager<message_type>
|
typedef websocketpp::message_buffer::alloc::con_msg_manager<message_type>
|
||||||
con_msg_manager_type;
|
con_msg_manager_type;
|
||||||
|
|
||||||
|
typedef websocketpp::log::stub alog_type;
|
||||||
|
typedef websocketpp::log::stub elog_type;
|
||||||
|
|
||||||
static const size_t max_message_size = 16000000;
|
static const size_t max_message_size = 16000000;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct processor_setup {
|
struct processor_setup {
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
#include <websocketpp/message_buffer/alloc.hpp>
|
#include <websocketpp/message_buffer/alloc.hpp>
|
||||||
#include <websocketpp/extensions/permessage_deflate/disabled.hpp>
|
#include <websocketpp/extensions/permessage_deflate/disabled.hpp>
|
||||||
#include <websocketpp/random/none.hpp>
|
#include <websocketpp/random/none.hpp>
|
||||||
|
#include <websocketpp/logger/stub.hpp>
|
||||||
|
|
||||||
struct stub_config {
|
struct stub_config {
|
||||||
typedef websocketpp::http::parser::request request_type;
|
typedef websocketpp::http::parser::request request_type;
|
||||||
@@ -48,6 +49,9 @@ struct stub_config {
|
|||||||
typedef websocketpp::message_buffer::alloc::con_msg_manager<message_type>
|
typedef websocketpp::message_buffer::alloc::con_msg_manager<message_type>
|
||||||
con_msg_manager_type;
|
con_msg_manager_type;
|
||||||
|
|
||||||
|
typedef websocketpp::log::stub alog_type;
|
||||||
|
typedef websocketpp::log::stub elog_type;
|
||||||
|
|
||||||
typedef websocketpp::random::none::int_generator<uint32_t> rng_type;
|
typedef websocketpp::random::none::int_generator<uint32_t> rng_type;
|
||||||
|
|
||||||
static const size_t max_message_size = 16000000;
|
static const size_t max_message_size = 16000000;
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
#include <websocketpp/message_buffer/alloc.hpp>
|
#include <websocketpp/message_buffer/alloc.hpp>
|
||||||
#include <websocketpp/extensions/permessage_deflate/disabled.hpp>
|
#include <websocketpp/extensions/permessage_deflate/disabled.hpp>
|
||||||
#include <websocketpp/random/none.hpp>
|
#include <websocketpp/random/none.hpp>
|
||||||
|
#include <websocketpp/logger/stub.hpp>
|
||||||
|
|
||||||
struct stub_config {
|
struct stub_config {
|
||||||
typedef websocketpp::http::parser::request request_type;
|
typedef websocketpp::http::parser::request request_type;
|
||||||
@@ -48,6 +49,9 @@ struct stub_config {
|
|||||||
typedef websocketpp::message_buffer::alloc::con_msg_manager<message_type>
|
typedef websocketpp::message_buffer::alloc::con_msg_manager<message_type>
|
||||||
con_msg_manager_type;
|
con_msg_manager_type;
|
||||||
|
|
||||||
|
typedef websocketpp::log::stub alog_type;
|
||||||
|
typedef websocketpp::log::stub elog_type;
|
||||||
|
|
||||||
typedef websocketpp::random::none::int_generator<uint32_t> rng_type;
|
typedef websocketpp::random::none::int_generator<uint32_t> rng_type;
|
||||||
|
|
||||||
static const size_t max_message_size = 16000000;
|
static const size_t max_message_size = 16000000;
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
#include <websocketpp/message_buffer/message.hpp>
|
#include <websocketpp/message_buffer/message.hpp>
|
||||||
#include <websocketpp/message_buffer/alloc.hpp>
|
#include <websocketpp/message_buffer/alloc.hpp>
|
||||||
#include <websocketpp/random/none.hpp>
|
#include <websocketpp/random/none.hpp>
|
||||||
|
#include <websocketpp/logger/stub.hpp>
|
||||||
|
|
||||||
#include <websocketpp/extensions/permessage_deflate/disabled.hpp>
|
#include <websocketpp/extensions/permessage_deflate/disabled.hpp>
|
||||||
#include <websocketpp/extensions/permessage_deflate/enabled.hpp>
|
#include <websocketpp/extensions/permessage_deflate/enabled.hpp>
|
||||||
@@ -51,6 +52,9 @@ struct stub_config {
|
|||||||
typedef websocketpp::message_buffer::alloc::con_msg_manager<message_type>
|
typedef websocketpp::message_buffer::alloc::con_msg_manager<message_type>
|
||||||
con_msg_manager_type;
|
con_msg_manager_type;
|
||||||
|
|
||||||
|
typedef websocketpp::log::stub alog_type;
|
||||||
|
typedef websocketpp::log::stub elog_type;
|
||||||
|
|
||||||
typedef websocketpp::random::none::int_generator<uint32_t> rng_type;
|
typedef websocketpp::random::none::int_generator<uint32_t> rng_type;
|
||||||
|
|
||||||
struct permessage_deflate_config {
|
struct permessage_deflate_config {
|
||||||
@@ -73,6 +77,9 @@ struct stub_config_ext {
|
|||||||
typedef websocketpp::message_buffer::alloc::con_msg_manager<message_type>
|
typedef websocketpp::message_buffer::alloc::con_msg_manager<message_type>
|
||||||
con_msg_manager_type;
|
con_msg_manager_type;
|
||||||
|
|
||||||
|
typedef websocketpp::log::stub alog_type;
|
||||||
|
typedef websocketpp::log::stub elog_type;
|
||||||
|
|
||||||
typedef websocketpp::random::none::int_generator<uint32_t> rng_type;
|
typedef websocketpp::random::none::int_generator<uint32_t> rng_type;
|
||||||
|
|
||||||
struct permessage_deflate_config {
|
struct permessage_deflate_config {
|
||||||
|
|||||||
@@ -965,7 +965,7 @@ void connection<config>::handle_read_frame(lib::error_code const & ec,
|
|||||||
if (m_processor->ready()) {
|
if (m_processor->ready()) {
|
||||||
if (m_alog.static_test(log::alevel::devel)) {
|
if (m_alog.static_test(log::alevel::devel)) {
|
||||||
std::stringstream s;
|
std::stringstream s;
|
||||||
s << "Complete frame received. Dispatching";
|
s << "Complete message received. Dispatching";
|
||||||
m_alog.write(log::alevel::devel,s.str());
|
m_alog.write(log::alevel::devel,s.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2005,6 +2005,7 @@ connection<config>::get_processor(int version) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Settings not configured by the constructor
|
// Settings not configured by the constructor
|
||||||
|
p->init_logging(&m_alog,&m_elog);
|
||||||
p->set_max_message_size(m_max_message_size);
|
p->set_max_message_size(m_max_message_size);
|
||||||
|
|
||||||
return p;
|
return p;
|
||||||
|
|||||||
@@ -331,6 +331,14 @@ public:
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (base::m_alog->static_test(log::alevel::devel)) {
|
||||||
|
std::stringstream s;
|
||||||
|
s << "Received frame basic header: "
|
||||||
|
<< utility::to_hex(&m_basic_header.b0,1)
|
||||||
|
<< utility::to_hex(&m_basic_header.b1,1);
|
||||||
|
base::m_alog->write(log::alevel::devel,s.str());
|
||||||
|
}
|
||||||
|
|
||||||
ec = this->validate_incoming_basic_header(
|
ec = this->validate_incoming_basic_header(
|
||||||
m_basic_header, base::m_server, !m_data_msg.msg_ptr
|
m_basic_header, base::m_server, !m_data_msg.msg_ptr
|
||||||
);
|
);
|
||||||
@@ -348,6 +356,17 @@ public:
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (base::m_alog->static_test(log::alevel::devel)) {
|
||||||
|
std::stringstream s;
|
||||||
|
s << "Received frame full header: "
|
||||||
|
<< utility::to_hex(&m_basic_header.b0,1)
|
||||||
|
<< utility::to_hex(&m_basic_header.b1,1)
|
||||||
|
<< utility::to_hex(m_extended_header.bytes,
|
||||||
|
frame::get_header_len(m_basic_header) -
|
||||||
|
frame::BASIC_HEADER_LENGTH);
|
||||||
|
base::m_alog->write(log::alevel::devel,s.str());
|
||||||
|
}
|
||||||
|
|
||||||
ec = validate_incoming_extended_header(m_basic_header,m_extended_header);
|
ec = validate_incoming_extended_header(m_basic_header,m_extended_header);
|
||||||
if (ec){break;}
|
if (ec){break;}
|
||||||
|
|
||||||
|
|||||||
@@ -31,9 +31,12 @@
|
|||||||
#include <websocketpp/processors/base.hpp>
|
#include <websocketpp/processors/base.hpp>
|
||||||
#include <websocketpp/common/system_error.hpp>
|
#include <websocketpp/common/system_error.hpp>
|
||||||
|
|
||||||
|
|
||||||
#include <websocketpp/close.hpp>
|
#include <websocketpp/close.hpp>
|
||||||
|
#include <websocketpp/common/cpp11.hpp>
|
||||||
#include <websocketpp/utilities.hpp>
|
#include <websocketpp/utilities.hpp>
|
||||||
#include <websocketpp/uri.hpp>
|
#include <websocketpp/uri.hpp>
|
||||||
|
#include <websocketpp/logger/levels.hpp>
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
@@ -159,10 +162,17 @@ public:
|
|||||||
typedef typename config::message_type::ptr message_ptr;
|
typedef typename config::message_type::ptr message_ptr;
|
||||||
typedef std::pair<lib::error_code,std::string> err_str_pair;
|
typedef std::pair<lib::error_code,std::string> err_str_pair;
|
||||||
|
|
||||||
|
/// Type of this processor's error logging policy
|
||||||
|
typedef typename config::elog_type elog_type;
|
||||||
|
/// Type of this processor's access logging policy
|
||||||
|
typedef typename config::alog_type alog_type;
|
||||||
|
|
||||||
explicit processor(bool secure, bool p_is_server)
|
explicit processor(bool secure, bool p_is_server)
|
||||||
: m_secure(secure)
|
: m_secure(secure)
|
||||||
, m_server(p_is_server)
|
, m_server(p_is_server)
|
||||||
, m_max_message_size(config::max_message_size)
|
, m_max_message_size(config::max_message_size)
|
||||||
|
, m_elog(_WEBSOCKETPP_NULLPTR_TOKEN_)
|
||||||
|
, m_alog(_WEBSOCKETPP_NULLPTR_TOKEN_)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
virtual ~processor() {}
|
virtual ~processor() {}
|
||||||
@@ -170,6 +180,25 @@ public:
|
|||||||
/// Get the protocol version of this processor
|
/// Get the protocol version of this processor
|
||||||
virtual int get_version() const = 0;
|
virtual int get_version() const = 0;
|
||||||
|
|
||||||
|
/// Initialize logging
|
||||||
|
/**
|
||||||
|
* The loggers are managed by the owner of the processor. As such, the
|
||||||
|
* processor doesn't have direct access to them. This method is called by
|
||||||
|
* the owner to allow shared logging from the processor component. These are
|
||||||
|
* raw pointers to the logging types specified in the config. It is the
|
||||||
|
* responsibility of the owning object to ensure that they remain in scope
|
||||||
|
* until the processor goes out of scope.
|
||||||
|
*
|
||||||
|
* TODO: better way of handling non-initialized logging?
|
||||||
|
*
|
||||||
|
* @param a A pointer to the access logger to use.
|
||||||
|
* @param e A pointer to the error logger to use.
|
||||||
|
*/
|
||||||
|
void init_logging(alog_type * a, elog_type * e) {
|
||||||
|
m_elog = e;
|
||||||
|
m_alog = a;
|
||||||
|
}
|
||||||
|
|
||||||
/// Get maximum message size
|
/// Get maximum message size
|
||||||
/**
|
/**
|
||||||
* Get maximum message size. Maximum message size determines the point at which the
|
* Get maximum message size. Maximum message size determines the point at which the
|
||||||
@@ -389,6 +418,8 @@ protected:
|
|||||||
bool const m_secure;
|
bool const m_secure;
|
||||||
bool const m_server;
|
bool const m_server;
|
||||||
size_t m_max_message_size;
|
size_t m_max_message_size;
|
||||||
|
elog_type* m_elog;
|
||||||
|
alog_type* m_alog;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace processor
|
} // namespace processor
|
||||||
|
|||||||
Reference in New Issue
Block a user