| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent ee47472 commit d76fe92
13 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -21,7 +21,7 @@ | |||
| 21 | 21 | ||
| 22 | 22 | AC_PREREQ(2.57) | |
| 23 | 23 | m4_define([libhttpserver_MAJOR_VERSION],[0])dnl | |
| 24 | - m4_define([libhttpserver_MINOR_VERSION],[7])dnl | ||
| 24 | + m4_define([libhttpserver_MINOR_VERSION],[8])dnl | ||
| 25 | 25 | m4_define([libhttpserver_REVISION],[2])dnl | |
| 26 | 26 | m4_define([libhttpserver_PKG_VERSION],[libhttpserver_MAJOR_VERSION.libhttpserver_MINOR_VERSION.libhttpserver_REVISION])dnl | |
| 27 | 27 | m4_define([libhttpserver_LDF_VERSION],[libhttpserver_MAJOR_VERSION:libhttpserver_MINOR_VERSION:libhttpserver_REVISION])dnl | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -42,7 +42,7 @@ void hello_world_resource::render(const http_request& req, http_response** res) | |||
| 42 | 42 | ||
| 43 | 43 | //it is possible to send a response initializing an http_string_response | |
| 44 | 44 | //that reads the content to send in response from a string. | |
| 45 | - *res = new http_string_response("Hello World!!!", 200); | ||
| 45 | + *res = new http_response(http_response_builder("Hello World!!!", 200).string_response()); | ||
| 46 | 46 | } | |
| 47 | 47 | ||
| 48 | 48 | int main() | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -21,7 +21,7 @@ METASOURCES = AUTO | |||
| 21 | 21 | lib_LTLIBRARIES = libhttpserver.la | |
| 22 | 22 | libhttpserver_la_SOURCES = string_utilities.cpp webserver.cpp http_utils.cpp http_request.cpp http_response.cpp http_resource.cpp details/comet_manager.cpp details/http_endpoint.cpp | |
| 23 | 23 | noinst_HEADERS = httpserver/string_utilities.hpp httpserver/details/modded_request.hpp httpserver/details/http_response_ptr.hpp httpserver/details/cache_entry.hpp httpserver/details/comet_manager.hpp gettext.h | |
| 24 | - nobase_include_HEADERS = httpserver.hpp httpserver/create_webserver.hpp httpserver/webserver.hpp httpserver/http_utils.hpp httpserver/details/http_endpoint.hpp httpserver/http_request.hpp httpserver/http_response.hpp httpserver/http_resource.hpp httpserver/binders.hpp httpserver/event_supplier.hpp httpserver/details/event_tuple.hpp httpserver/details/http_resource_mirror.hpp | ||
| 24 | + nobase_include_HEADERS = httpserver.hpp httpserver/create_webserver.hpp httpserver/webserver.hpp httpserver/http_utils.hpp httpserver/details/http_endpoint.hpp httpserver/http_request.hpp httpserver/http_response.hpp httpserver/http_resource.hpp httpserver/binders.hpp httpserver/event_supplier.hpp httpserver/details/event_tuple.hpp httpserver/details/http_resource_mirror.hpp httpserver/http_response_builder.hpp | ||
| 25 | 25 | AM_CXXFLAGS += -fPIC -Wall | |
| 26 | 26 | libhttpserver_la_LIBADD = -lmicrohttpd | |
| 27 | 27 | libhttpserver_la_LDFLAGS = | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -29,12 +29,43 @@ | |||
| 29 | 29 | #include "details/event_tuple.hpp" | |
| 30 | 30 | #include "webserver.hpp" | |
| 31 | 31 | #include "http_response.hpp" | |
| 32 | + #include "http_response_builder.hpp" | ||
| 32 | 33 | ||
| 33 | 34 | using namespace std; | |
| 34 | 35 | ||
| 35 | 36 | namespace httpserver | |
| 36 | 37 | { | |
| 37 | 38 | ||
| 39 | + http_response::http_response(const http_response_builder& builder): | ||
| 40 | + content(builder._content_hook), | ||
| 41 | + response_code(builder._response_code), | ||
| 42 | + autodelete(builder._autodelete), | ||
| 43 | + realm(builder._realm), | ||
| 44 | + opaque(builder._opaque), | ||
| 45 | + reload_nonce(builder._reload_nonce), | ||
| 46 | + fp(-1), | ||
| 47 | + filename(builder._content_hook), | ||
| 48 | + headers(builder._headers), | ||
| 49 | + footers(builder._footers), | ||
| 50 | + cookies(builder._cookies), | ||
| 51 | + topics(builder._topics), | ||
| 52 | + keepalive_secs(builder._keepalive_secs), | ||
| 53 | + keepalive_msg(builder._keepalive_msg), | ||
| 54 | + send_topic(builder._send_topic), | ||
| 55 | + underlying_connection(0x0), | ||
| 56 | + ca(0x0), | ||
| 57 | + closure_data(0x0), | ||
| 58 | + ce(builder._ce), | ||
| 59 | + cycle_callback(builder._cycle_callback), | ||
| 60 | + get_raw_response(this, builder._get_raw_response), | ||
| 61 | + decorate_response(this, builder._decorate_response), | ||
| 62 | + enqueue_response(this, builder._enqueue_response), | ||
| 63 | + completed(false), | ||
| 64 | + ws(0x0), | ||
| 65 | + connection_id(0x0) | ||
| 66 | + { | ||
| 67 | + } | ||
| 68 | + | ||
| 38 | 69 | http_response::~http_response() | |
| 39 | 70 | { | |
| 40 | 71 | if(ce != 0x0) | |
@@ -60,27 +91,6 @@ size_t http_response::get_cookies(std::map<std::string, std::string, header_comp | |||
| 60 | 91 | } | |
| 61 | 92 | ||
| 62 | 93 | //RESPONSE | |
| 63 | - shoutCAST_response::shoutCAST_response | ||
| 64 | - ( | ||
| 65 | - const std::string& content, | ||
| 66 | - int response_code, | ||
| 67 | - const std::string& content_type, | ||
| 68 | - bool autodelete | ||
| 69 | - ): | ||
| 70 | - http_response( | ||
| 71 | - this, | ||
| 72 | - content, | ||
| 73 | - response_code | http_utils::shoutcast_response, | ||
| 74 | - content_type,autodelete | ||
| 75 | - ) | ||
| 76 | - { | ||
| 77 | - } | ||
| 78 | - | ||
| 79 | - ssize_t deferred_response::cycle_callback(const std::string& buf) | ||
| 80 | - { | ||
| 81 | - return -1; | ||
| 82 | - } | ||
| 83 | - | ||
| 84 | 94 | void http_response::get_raw_response_str(MHD_Response** response, webserver* ws) | |
| 85 | 95 | { | |
| 86 | 96 | size_t size = &(*content.end()) - &(*content.begin()); | |
@@ -197,9 +207,9 @@ namespace details | |||
| 197 | 207 | ||
| 198 | 208 | ssize_t cb(void* cls, uint64_t pos, char* buf, size_t max) | |
| 199 | 209 | { | |
| 200 | - int val = static_cast<deferred_response*>(cls)->cycle_callback(buf); | ||
| 210 | + int val = static_cast<http_response*>(cls)->cycle_callback(buf); | ||
| 201 | 211 | if(val == -1) | |
| 202 | - static_cast<deferred_response*>(cls)->completed = true; | ||
| 212 | + static_cast<http_response*>(cls)->completed = true; | ||
| 203 | 213 | return val; | |
| 204 | 214 | } | |
| 205 | 215 | ||
@@ -240,7 +250,7 @@ void http_response::get_raw_response_lp_receive( | |||
| 240 | 250 | )->client_addr; | |
| 241 | 251 | ||
| 242 | 252 | *response = MHD_create_response_from_callback(MHD_SIZE_UNKNOWN, 80, | |
| 243 | - &long_polling_receive_response::data_generator, (void*) this, NULL); | ||
| 253 | + &http_response::data_generator, (void*) this, NULL); | ||
| 244 | 254 | ||
| 245 | 255 | ws->register_to_topics( | |
| 246 | 256 | topics, | |
@@ -250,15 +260,14 @@ void http_response::get_raw_response_lp_receive( | |||
| 250 | 260 | ); | |
| 251 | 261 | } | |
| 252 | 262 | ||
| 253 | - ssize_t long_polling_receive_response::data_generator( | ||
| 263 | + ssize_t http_response::data_generator( | ||
| 254 | 264 | void* cls, | |
| 255 | 265 | uint64_t pos, | |
| 256 | 266 | char* buf, | |
| 257 | 267 | size_t max | |
| 258 | 268 | ) | |
| 259 | 269 | { | |
| 260 | - long_polling_receive_response* _this = | ||
| 261 | - static_cast<long_polling_receive_response*>(cls); | ||
| 270 | + http_response* _this = static_cast<http_response*>(cls); | ||
| 262 | 271 | ||
| 263 | 272 | if(_this->ws->pop_signaled(_this->connection_id)) | |
| 264 | 273 | { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -27,6 +27,7 @@ | |||
| 27 | 27 | #include "httpserver/details/http_endpoint.hpp" | |
| 28 | 28 | #include "httpserver/http_resource.hpp" | |
| 29 | 29 | #include "httpserver/http_response.hpp" | |
| 30 | + #include "httpserver/http_response_builder.hpp" | ||
| 30 | 31 | #include "httpserver/http_request.hpp" | |
| 31 | 32 | #include "httpserver/event_supplier.hpp" | |
| 32 | 33 | #include "httpserver/details/event_tuple.hpp" | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -27,7 +27,8 @@ | |||
| 27 | 27 | ||
| 28 | 28 | #include <pthread.h> | |
| 29 | 29 | #include <set> | |
| 30 | - #include "details/http_response_ptr.hpp" | ||
| 30 | + #include "httpserver/details/http_response_ptr.hpp" | ||
| 31 | + #include "httpserver/http_response.hpp" | ||
| 31 | 32 | ||
| 32 | 33 | namespace httpserver | |
| 33 | 34 | { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -25,6 +25,8 @@ | |||
| 25 | 25 | #ifndef _HTTP_RESPONSE_PTR_HPP_ | |
| 26 | 26 | #define _HTTP_RESPONSE_PTR_HPP_ | |
| 27 | 27 | ||
| 28 | + #include "httpserver/http_response.hpp" | ||
| 29 | + | ||
| 28 | 30 | namespace httpserver | |
| 29 | 31 | { | |
| 30 | 32 | ||
@@ -60,7 +62,7 @@ struct http_response_ptr | |||
| 60 | 62 | { | |
| 61 | 63 | if((*num_references) == 0) | |
| 62 | 64 | { | |
| 63 | - if(res && res->autodelete) | ||
| 65 | + if(res && res->is_autodelete()) | ||
| 64 | 66 | { | |
| 65 | 67 | delete res; | |
| 66 | 68 | res = 0x0; | |
| Back | FazBrowse Home | New Git URL |
0 commit comments