@@ -30,7 +30,7 @@ using namespace std;
3030namespace httpserver
3131{
3232
33- cache_response ::~cache_response ()
33+ http_response ::~http_response ()
3434{
3535 if (ce != 0x0 )
3636 webserver::unlock_cache_entry (ce);
@@ -107,7 +107,7 @@ shoutCAST_response::shoutCAST_response
107107 const std::string& content_type,
108108 bool autodelete
109109):
110- http_response (http_response::SHOUTCAST_CONTENT , content, response_code | http_utils::shoutcast_response, content_type, autodelete)
110+ http_response (this , content, response_code | http_utils::shoutcast_response, content_type, autodelete)
111111{
112112}
113113
@@ -116,13 +116,13 @@ ssize_t deferred_response::cycle_callback(const std::string& buf)
116116 return -1 ;
117117}
118118
119- void http_response::get_raw_response (MHD_Response** response, webserver* ws)
119+ void http_response::get_raw_response_str (MHD_Response** response, webserver* ws)
120120{
121121 size_t size = &(*content.end ()) - &(*content.begin ());
122122 *response = MHD_create_response_from_buffer (size, (void *) content.c_str (), MHD_RESPMEM_PERSISTENT);
123123}
124124
125- void http_response::decorate_response (MHD_Response* response)
125+ void http_response::decorate_response_str (MHD_Response* response)
126126{
127127 map<string, string, header_comparator>::iterator it;
128128 for (it=headers.begin () ; it != headers.end (); ++it)
@@ -133,26 +133,26 @@ void http_response::decorate_response(MHD_Response* response)
133133 MHD_add_response_header (response, " Set-Cookie" , ((*it).first + " =" + (*it).second ).c_str ());
134134}
135135
136- void cache_response::decorate_response ( MHD_Response* response)
136+ int http_response::enqueue_response_str (MHD_Connection* connection, MHD_Response* response)
137137{
138+ return MHD_queue_response (connection, response_code, response);
138139}
139140
140- int http_response::enqueue_response (MHD_Connection* connection, MHD_Response* response)
141+ void http_response::decorate_response_cache ( MHD_Response* response)
141142{
142- return MHD_queue_response (connection, response_code, response);
143143}
144144
145- int http_basic_auth_fail_response::enqueue_response (MHD_Connection* connection, MHD_Response* response)
145+ int http_response::enqueue_response_basic (MHD_Connection* connection, MHD_Response* response)
146146{
147147 return MHD_queue_basic_auth_fail_response (connection, realm.c_str (), response);
148148}
149149
150- int http_digest_auth_fail_response::enqueue_response (MHD_Connection* connection, MHD_Response* response)
150+ int http_response::enqueue_response_digest (MHD_Connection* connection, MHD_Response* response)
151151{
152152 return MHD_queue_auth_fail_response (connection, realm.c_str (), opaque.c_str (), response, reload_nonce ? MHD_YES : MHD_NO);
153153}
154154
155- void http_file_response::get_raw_response (MHD_Response** response, webserver* ws)
155+ void http_response::get_raw_response_file (MHD_Response** response, webserver* ws)
156156{
157157 char * page = NULL ;
158158 size_t size = http::load_file (filename.c_str (), &page);
@@ -162,7 +162,7 @@ void http_file_response::get_raw_response(MHD_Response** response, webserver* ws
162162 *response = MHD_create_response_from_buffer (size, (void *) " " , MHD_RESPMEM_PERSISTENT);
163163}
164164
165- void cache_response::get_raw_response (MHD_Response** response, webserver* ws)
165+ void http_response::get_raw_response_cache (MHD_Response** response, webserver* ws)
166166{
167167 bool valid;
168168 http_response* r;
@@ -189,21 +189,21 @@ ssize_t cb(void* cls, uint64_t pos, char* buf, size_t max)
189189
190190}
191191
192- void deferred_response::get_raw_response (MHD_Response** response, webserver* ws)
192+ void http_response::get_raw_response_deferred (MHD_Response** response, webserver* ws)
193193{
194194 if (!completed)
195195 *response = MHD_create_response_from_callback (MHD_SIZE_UNKNOWN, 1024 , &details::cb, this , NULL );
196196 else
197197 static_cast <http_response*>(this )->get_raw_response (response, ws);
198198}
199199
200- void deferred_response::decorate_response (MHD_Response* response)
200+ void http_response::decorate_response_deferred (MHD_Response* response)
201201{
202202 if (completed)
203203 static_cast <http_response*>(this )->decorate_response (response);
204204}
205205
206- void long_polling_receive_response::get_raw_response (MHD_Response** response, webserver* ws)
206+ void http_response::get_raw_response_lp_receive (MHD_Response** response, webserver* ws)
207207{
208208#ifdef USE_COMET
209209 this ->ws = ws;
@@ -234,49 +234,12 @@ ssize_t long_polling_receive_response::data_generator (void* cls, uint64_t pos,
234234#endif // USE_COMET
235235}
236236
237- void long_polling_send_response::get_raw_response (MHD_Response** response, webserver* ws)
237+ void http_response::get_raw_response_lp_send (MHD_Response** response, webserver* ws)
238238{
239239 http_response::get_raw_response (response, ws);
240240#ifdef USE_COMET
241241 ws->send_message_to_topic (send_topic, content);
242242#endif // USE_COMET
243243}
244244
245- void clone_response (const http_response& hr, http_response** dhrs)
246- {
247- switch (hr.response_type )
248- {
249- case (http_response::STRING_CONTENT):
250- *dhrs = new http_string_response (hr);
251- return ;
252- case (http_response::FILE_CONTENT):
253- *dhrs = new http_file_response (hr);
254- return ;
255- case (http_response::SHOUTCAST_CONTENT):
256- *dhrs = new shoutCAST_response (hr);
257- return ;
258- case (http_response::DIGEST_AUTH_FAIL):
259- *dhrs = new http_digest_auth_fail_response (hr);
260- return ;
261- case (http_response::BASIC_AUTH_FAIL):
262- *dhrs = new http_basic_auth_fail_response (hr);
263- return ;
264- case (http_response::SWITCH_PROTOCOL):
265- *dhrs = new switch_protocol_response (hr);
266- return ;
267- case (http_response::LONG_POLLING_RECEIVE):
268- *dhrs = new long_polling_receive_response (hr);
269- return ;
270- case (http_response::LONG_POLLING_SEND):
271- *dhrs = new long_polling_send_response (hr);
272- return ;
273- case (http_response::CACHED_CONTENT):
274- *dhrs = new cache_response (hr);
275- return ;
276- case (http_response::DEFERRED):
277- *dhrs = new deferred_response (hr);
278- return ;
279- }
280- }
281-
282245};
0 commit comments