|
30 | 30 | #include <iosfwd> |
31 | 31 | #include <stdint.h> |
32 | 32 | #include <vector> |
| 33 | +#include <iostream> |
33 | 34 |
|
34 | 35 | #include "httpserver/binders.hpp" |
35 | 36 | #include "httpserver/http_utils.hpp" |
@@ -91,12 +92,15 @@ class http_response |
91 | 92 | underlying_connection(b.underlying_connection), |
92 | 93 | ce(b.ce), |
93 | 94 | cycle_callback(b.cycle_callback), |
94 | | - get_raw_response(b.get_raw_response), |
95 | | - decorate_response(b.decorate_response), |
96 | | - enqueue_response(b.enqueue_response), |
| 95 | + get_raw_response(this, b._get_raw_response), |
| 96 | + decorate_response(this, b._decorate_response), |
| 97 | + enqueue_response(this, b._enqueue_response), |
97 | 98 | completed(b.completed), |
98 | 99 | ws(b.ws), |
99 | | - connection_id(b.connection_id) |
| 100 | + connection_id(b.connection_id), |
| 101 | + _get_raw_response(b._get_raw_response), |
| 102 | + _decorate_response(b._decorate_response), |
| 103 | + _enqueue_response(b._enqueue_response) |
100 | 104 | { |
101 | 105 | } |
102 | 106 |
|
@@ -298,6 +302,11 @@ class http_response |
298 | 302 | http_response& operator=(const http_response& b); |
299 | 303 |
|
300 | 304 | static ssize_t data_generator (void* cls, uint64_t pos, char* buf, size_t max); |
| 305 | + |
| 306 | + void (http_response::*_get_raw_response)(MHD_Response**, webserver*); |
| 307 | + void (http_response::*_decorate_response)(MHD_Response*); |
| 308 | + int (http_response::*_enqueue_response)(MHD_Connection*, MHD_Response*); |
| 309 | + |
301 | 310 | }; |
302 | 311 |
|
303 | 312 | std::ostream &operator<< (std::ostream &os, const http_response &r); |
|
0 commit comments