Skip to content

Commit 6fb01d8

Browse files
author
Sebastiano Merlino
committed
Changed default log behaviour to print nothing
Added getters and setters for dynamic components of WS
1 parent ea61d88 commit 6fb01d8

File tree

2 files changed

+63
-23
lines changed

2 files changed

+63
-23
lines changed

src/httpserver/webserver.hpp

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,9 @@ class webserver
173173
int memory_limit = 0,
174174
int connection_timeout = DEFAULT_WS_TIMEOUT,
175175
int per_IP_connection_limit = 0,
176-
const logging_delegate* log_delegate = 0x0,
177-
const request_validator* validator = 0x0,
178-
const unescaper* unescaper_pointer = 0x0,
176+
logging_delegate* log_delegate = 0x0,
177+
request_validator* validator = 0x0,
178+
unescaper* unescaper_pointer = 0x0,
179179
const struct sockaddr* bind_address = 0x0,
180180
int bind_socket = 0,
181181
int max_thread_stack_size = 0,
@@ -249,6 +249,18 @@ class webserver
249249

250250
bool pop_signaled(int consumer);
251251

252+
const logging_delegate* get_logging_delegate() const;
253+
254+
void set_logging_delegate(logging_delegate* log_delegate, bool delete_old = false);
255+
256+
const request_validator* get_request_validator() const;
257+
258+
void set_request_validator(request_validator* validator, bool delete_old = false);
259+
260+
const unescaper* get_unescaper() const;
261+
262+
void set_unescaper(unescaper* unescaper_pointer, bool delete_old = false);
263+
252264
/**
253265
* Method used to kill the webserver waiting for it to terminate
254266
**/
@@ -261,9 +273,9 @@ class webserver
261273
int memory_limit;
262274
int connection_timeout;
263275
int per_IP_connection_limit;
264-
const logging_delegate* log_delegate;
265-
const request_validator* validator;
266-
const unescaper* unescaper_pointer;
276+
logging_delegate* log_delegate;
277+
request_validator* validator;
278+
unescaper* unescaper_pointer;
267279
const struct sockaddr* bind_address;
268280
int bind_socket;
269281
int max_thread_stack_size;
@@ -491,9 +503,9 @@ class create_webserver
491503
create_webserver& memory_limit(int memory_limit) { _memory_limit = memory_limit; return *this; }
492504
create_webserver& connection_timeout(int connection_timeout) { _connection_timeout = connection_timeout; return *this; }
493505
create_webserver& per_IP_connection_limit(int per_IP_connection_limit) { _per_IP_connection_limit = per_IP_connection_limit; return *this; }
494-
create_webserver& log_delegate(const logging_delegate* log_delegate) { _log_delegate = log_delegate; return *this; }
495-
create_webserver& validator(const request_validator* validator) { _validator = validator; return *this; }
496-
create_webserver& unescaper_pointer(const unescaper* unescaper_pointer) { _unescaper_pointer = unescaper_pointer; return *this; }
506+
create_webserver& log_delegate(logging_delegate* log_delegate) { _log_delegate = log_delegate; return *this; }
507+
create_webserver& validator(request_validator* validator) { _validator = validator; return *this; }
508+
create_webserver& unescaper_pointer(unescaper* unescaper_pointer) { _unescaper_pointer = unescaper_pointer; return *this; }
497509
create_webserver& bind_address(const struct sockaddr* bind_address) { _bind_address = bind_address; return *this; }
498510
create_webserver& bind_socket(int bind_socket) { _bind_socket = bind_socket; return *this; }
499511
create_webserver& max_thread_stack_size(int max_thread_stack_size) { _max_thread_stack_size = max_thread_stack_size; return *this; }
@@ -539,9 +551,9 @@ class create_webserver
539551
int _memory_limit;
540552
int _connection_timeout;
541553
int _per_IP_connection_limit;
542-
const logging_delegate* _log_delegate;
543-
const request_validator* _validator;
544-
const unescaper* _unescaper_pointer;
554+
logging_delegate* _log_delegate;
555+
request_validator* _validator;
556+
unescaper* _unescaper_pointer;
545557
const struct sockaddr* _bind_address;
546558
int _bind_socket;
547559
int _max_thread_stack_size;

src/webserver.cpp

Lines changed: 39 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,9 @@ webserver::webserver
149149
int memory_limit,
150150
int connection_timeout,
151151
int per_IP_connection_limit,
152-
const logging_delegate* log_delegate,
153-
const request_validator* validator,
154-
const unescaper* unescaper_pointer,
152+
logging_delegate* log_delegate,
153+
request_validator* validator,
154+
unescaper* unescaper_pointer,
155155
const struct sockaddr* bind_address,
156156
int bind_socket,
157157
int max_thread_stack_size,
@@ -695,10 +695,6 @@ void error_log(void* cls, const char* fmt, va_list ap)
695695
{
696696
dws->log_delegate->log_error(fmt);
697697
}
698-
else
699-
{
700-
cout << fmt << endl;
701-
}
702698
}
703699

704700
void access_log(webserver* dws, string uri)
@@ -707,10 +703,6 @@ void access_log(webserver* dws, string uri)
707703
{
708704
dws->log_delegate->log_access(uri);
709705
}
710-
else
711-
{
712-
cout << uri << endl;
713-
}
714706
}
715707

716708
size_t unescaper_func(void * cls, struct MHD_Connection *c, char *s)
@@ -749,6 +741,42 @@ int webserver::post_iterator (void *cls, enum MHD_ValueKind kind,
749741
return MHD_YES;
750742
}
751743

744+
const logging_delegate* webserver::get_logging_delegate() const
745+
{
746+
return this->log_delegate;
747+
}
748+
749+
void webserver::set_logging_delegate(logging_delegate* log_delegate, bool delete_old)
750+
{
751+
if(delete_old && this->log_delegate != 0x0)
752+
delete this->log_delegate;
753+
this->log_delegate = log_delegate;
754+
}
755+
756+
const request_validator* webserver::get_request_validator() const
757+
{
758+
return this->validator;
759+
}
760+
761+
void webserver::set_request_validator(request_validator* validator, bool delete_old)
762+
{
763+
if(delete_old && this->validator != 0x0)
764+
delete this->validator;
765+
this->validator = validator;
766+
}
767+
768+
const unescaper* webserver::get_unescaper() const
769+
{
770+
return this->unescaper_pointer;
771+
}
772+
773+
void webserver::set_unescaper(unescaper* u, bool delete_old)
774+
{
775+
if(delete_old && this->unescaper_pointer != 0x0)
776+
delete this->unescaper_pointer;
777+
this->unescaper_pointer = unescaper_pointer;
778+
}
779+
752780
void webserver::upgrade_handler (void *cls, struct MHD_Connection* connection,
753781
void **con_cls, int upgrade_socket)
754782
{

0 commit comments

Comments
 (0)