├── .appveyor.yml ├── .travis.yml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── CPPWebFramework ├── CMakeLists.txt ├── CPPWebFramework.pro ├── UnitTests.pro ├── cwf │ ├── configuration.cpp │ ├── configuration.h │ ├── constants.h │ ├── controller.cpp │ ├── controller.h │ ├── cppwebapplication.cpp │ ├── cppwebapplication.h │ ├── cppwebcontroller.cpp │ ├── cppwebcontroller.h │ ├── cppwebframework_global.h │ ├── cppwebframework_global.h.2 │ ├── cppwebserver.cpp │ ├── cppwebserver.h │ ├── cstlcompiler.cpp │ ├── cstlcompiler.h │ ├── cstlcompilerattributes.cpp │ ├── cstlcompilerattributes.h │ ├── cstlcompilerfor.cpp │ ├── cstlcompilerfor.h │ ├── cstlcompilerif.cpp │ ├── cstlcompilerif.h │ ├── cstlcompilerimport.cpp │ ├── cstlcompilerimport.h │ ├── cstlcompilerobject.h │ ├── filemanager.cpp │ ├── filemanager.h │ ├── filter.cpp │ ├── filter.h │ ├── filterchain.cpp │ ├── filterchain.h │ ├── httpparser.cpp │ ├── httpparser.h │ ├── httpreadrequest.cpp │ ├── httpreadrequest.h │ ├── metaclassparser.cpp │ ├── metaclassparser.h │ ├── model.cpp │ ├── model.h │ ├── modelbasicoperation.cpp │ ├── modelbasicoperation.h │ ├── properties.cpp │ ├── properties.h │ ├── qlistobject.cpp │ ├── qlistobject.h │ ├── qmapthreadsafety.h │ ├── request.cpp │ ├── request.h │ ├── requestdispatcher.cpp │ ├── requestdispatcher.h │ ├── response.cpp │ ├── response.h │ ├── session.cpp │ ├── session.h │ ├── sqldatabasestorage.h │ ├── sqlquery.cpp │ ├── sqlquery.h │ ├── sqlquerymanager.cpp │ ├── sqlquerymanager.h │ ├── sslloader.cpp │ ├── sslloader.h │ ├── urlencoder.cpp │ ├── urlencoder.h │ └── variant.h ├── main.cpp ├── server │ └── config │ │ ├── CPPWeb.ini │ │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ │ ├── log │ │ └── CPPWebServer.log │ │ └── ssl │ │ ├── cert.pem │ │ └── key.pem └── tests │ ├── tst_configuration.cpp │ ├── tst_configuration.h │ ├── tst_cppwebapplication.cpp │ ├── tst_cppwebapplication.h │ ├── tst_cppwebcontroller.cpp │ ├── tst_cppwebcontroller.h │ ├── tst_cppwebserver.cpp │ ├── tst_cppwebserver.h │ ├── tst_cstlcompiler.cpp │ ├── tst_cstlcompiler.h │ ├── tst_cstlcompilerattributes.cpp │ ├── tst_cstlcompilerattributes.h │ ├── tst_cstlcompilerfor.cpp │ ├── tst_cstlcompilerfor.h │ ├── tst_cstlcompilerif.cpp │ ├── tst_cstlcompilerif.h │ ├── tst_cstlcompilerimport.cpp │ ├── tst_cstlcompilerimport.h │ ├── tst_cstlcompilerobject.cpp │ ├── tst_cstlcompilerobject.h │ ├── tst_cstlcompilerout.cpp │ ├── tst_cstlcompilerout.h │ ├── tst_filemanager.cpp │ ├── tst_filemanager.h │ ├── tst_filter.cpp │ ├── tst_filter.h │ ├── tst_filterchain.cpp │ ├── tst_filterchain.h │ ├── tst_httpparser.cpp │ ├── tst_httpparser.h │ ├── tst_httpreadrequest.cpp │ ├── tst_httpreadrequest.h │ ├── tst_metaclassparser.cpp │ ├── tst_metaclassparser.h │ ├── tst_properties.cpp │ ├── tst_properties.h │ ├── tst_qlistobject.cpp │ ├── tst_qlistobject.h │ ├── tst_qmapthreadsafety.cpp │ ├── tst_qmapthreadsafety.h │ ├── tst_request.cpp │ ├── tst_request.h │ ├── tst_requestdispatcher.cpp │ ├── tst_requestdispatcher.h │ ├── tst_response.cpp │ ├── tst_response.h │ ├── tst_session.cpp │ ├── tst_session.h │ ├── tst_urlencoder.cpp │ └── tst_urlencoder.h ├── LICENSE.txt ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── documentation ├── Doxyfile ├── doxygen_sqlite3.db ├── html │ ├── annotated.html │ ├── bc_s.png │ ├── bdwn.png │ ├── class_c_s_t_l_compiler-members.html │ ├── class_c_s_t_l_compiler.html │ ├── class_c_s_t_l_compiler_attributes-members.html │ ├── class_c_s_t_l_compiler_attributes.html │ ├── class_c_s_t_l_compiler_for-members.html │ ├── class_c_s_t_l_compiler_for.html │ ├── class_c_s_t_l_compiler_if-members.html │ ├── class_c_s_t_l_compiler_if.html │ ├── class_c_s_t_l_compiler_import-members.html │ ├── class_c_s_t_l_compiler_import.html │ ├── class_c_s_t_l_compiler_object-members.html │ ├── class_c_s_t_l_compiler_object.html │ ├── class_c_s_t_l_compiler_object__inherit__graph.dot │ ├── class_c_s_t_l_compiler_object__inherit__graph.md5 │ ├── class_configuration-members.html │ ├── class_configuration.html │ ├── class_controller-members.html │ ├── class_controller.html │ ├── class_controller__inherit__graph.dot │ ├── class_controller__inherit__graph.md5 │ ├── class_cpp_web_application-members.html │ ├── class_cpp_web_application.html │ ├── class_cpp_web_controller-members.html │ ├── class_cpp_web_controller.html │ ├── class_cpp_web_controller__inherit__graph.dot │ ├── class_cpp_web_controller__inherit__graph.md5 │ ├── class_cpp_web_server-members.html │ ├── class_cpp_web_server.html │ ├── class_cpp_web_server__inherit__graph.dot │ ├── class_cpp_web_server__inherit__graph.md5 │ ├── class_file_manager-members.html │ ├── class_file_manager.html │ ├── class_filter-members.html │ ├── class_filter.html │ ├── class_filter_chain-members.html │ ├── class_filter_chain.html │ ├── class_http_cookie-members.html │ ├── class_http_cookie.html │ ├── class_http_parser-members.html │ ├── class_http_parser.html │ ├── class_http_read_request-members.html │ ├── class_http_read_request.html │ ├── class_http_read_request__inherit__graph.dot │ ├── class_http_read_request__inherit__graph.md5 │ ├── class_meta_class_parser-members.html │ ├── class_meta_class_parser.html │ ├── class_properties-members.html │ ├── class_properties.html │ ├── class_q_list_object-members.html │ ├── class_q_list_object.html │ ├── class_q_list_object__inherit__graph.dot │ ├── class_q_list_object__inherit__graph.md5 │ ├── class_q_map_thread_safety-members.html │ ├── class_q_map_thread_safety.html │ ├── class_request-members.html │ ├── class_request.html │ ├── class_request__inherit__graph.dot │ ├── class_request__inherit__graph.md5 │ ├── class_request_dispatcher-members.html │ ├── class_request_dispatcher.html │ ├── class_response-members.html │ ├── class_response.html │ ├── class_session-members.html │ ├── class_session.html │ ├── class_sql_database_storage-members.html │ ├── class_sql_database_storage.html │ ├── class_sql_query-members.html │ ├── class_sql_query.html │ ├── class_sql_query__inherit__graph.dot │ ├── class_sql_query__inherit__graph.md5 │ ├── class_ssl_loader-members.html │ ├── class_ssl_loader.html │ ├── class_u_r_l_encoder-members.html │ ├── class_u_r_l_encoder.html │ ├── class_variant-members.html │ ├── class_variant.html │ ├── class_variant__inherit__graph.dot │ ├── class_variant__inherit__graph.md5 │ ├── classes.html │ ├── closed.png │ ├── configuration_8h_source.html │ ├── constants_8h_source.html │ ├── controller_8h_source.html │ ├── cppwebapplication_8h_source.html │ ├── cppwebcontroller_8h_source.html │ ├── cppwebframework__global_8h_source.html │ ├── cppwebserver_8h_source.html │ ├── cstlcompiler_8h_source.html │ ├── cstlcompilerattributes_8h_source.html │ ├── cstlcompilerfor_8h_source.html │ ├── cstlcompilerif_8h_source.html │ ├── cstlcompilerimport_8h_source.html │ ├── cstlcompilerobject_8h_source.html │ ├── dir_3bacee99d34edff13677baafd8c3a47f.html │ ├── dir_b2448bd9c6b97c57da490a507d179d6c.html │ ├── doc.png │ ├── doxygen.css │ ├── doxygen.png │ ├── dynsections.js │ ├── filemanager_8h_source.html │ ├── files.html │ ├── filter_8h_source.html │ ├── filterchain_8h_source.html │ ├── folderclosed.png │ ├── folderopen.png │ ├── functions.html │ ├── functions_func.html │ ├── graph_legend.dot │ ├── graph_legend.html │ ├── graph_legend.md5 │ ├── hierarchy.html │ ├── httpcookie_8h_source.html │ ├── httpparser_8h_source.html │ ├── httpreadrequest_8h_source.html │ ├── index.html │ ├── inherit_graph_0.dot │ ├── inherit_graph_0.md5 │ ├── inherit_graph_1.dot │ ├── inherit_graph_1.md5 │ ├── inherit_graph_10.dot │ ├── inherit_graph_10.md5 │ ├── inherit_graph_11.dot │ ├── inherit_graph_11.md5 │ ├── inherit_graph_12.dot │ ├── inherit_graph_12.md5 │ ├── inherit_graph_13.dot │ ├── inherit_graph_13.md5 │ ├── inherit_graph_14.dot │ ├── inherit_graph_14.md5 │ ├── inherit_graph_15.dot │ ├── inherit_graph_15.md5 │ ├── inherit_graph_16.dot │ ├── inherit_graph_16.md5 │ ├── inherit_graph_17.dot │ ├── inherit_graph_17.md5 │ ├── inherit_graph_18.dot │ ├── inherit_graph_18.md5 │ ├── inherit_graph_19.dot │ ├── inherit_graph_19.md5 │ ├── inherit_graph_2.dot │ ├── inherit_graph_2.md5 │ ├── inherit_graph_20.dot │ ├── inherit_graph_20.md5 │ ├── inherit_graph_21.dot │ ├── inherit_graph_21.md5 │ ├── inherit_graph_22.dot │ ├── inherit_graph_22.md5 │ ├── inherit_graph_23.dot │ ├── inherit_graph_23.md5 │ ├── inherit_graph_24.dot │ ├── inherit_graph_24.md5 │ ├── inherit_graph_25.dot │ ├── inherit_graph_25.md5 │ ├── inherit_graph_26.dot │ ├── inherit_graph_26.md5 │ ├── inherit_graph_27.dot │ ├── inherit_graph_27.md5 │ ├── inherit_graph_28.dot │ ├── inherit_graph_28.md5 │ ├── inherit_graph_3.dot │ ├── inherit_graph_3.md5 │ ├── inherit_graph_4.dot │ ├── inherit_graph_4.md5 │ ├── inherit_graph_5.dot │ ├── inherit_graph_5.md5 │ ├── inherit_graph_6.dot │ ├── inherit_graph_6.md5 │ ├── inherit_graph_7.dot │ ├── inherit_graph_7.md5 │ ├── inherit_graph_8.dot │ ├── inherit_graph_8.md5 │ ├── inherit_graph_9.dot │ ├── inherit_graph_9.md5 │ ├── inherits.html │ ├── jquery.js │ ├── logo.png │ ├── menu.js │ ├── menudata.js │ ├── metaclassparser_8h_source.html │ ├── nav_f.png │ ├── nav_g.png │ ├── nav_h.png │ ├── open.png │ ├── properties_8h_source.html │ ├── qlistobject_8h_source.html │ ├── qmapthreadsafety_8h_source.html │ ├── request_8h_source.html │ ├── requestdispatcher_8h_source.html │ ├── response_8h_source.html │ ├── search │ │ ├── all_0.html │ │ ├── all_0.js │ │ ├── all_1.html │ │ ├── all_1.js │ │ ├── all_10.html │ │ ├── all_10.js │ │ ├── all_11.html │ │ ├── all_11.js │ │ ├── all_12.html │ │ ├── all_12.js │ │ ├── all_2.html │ │ ├── all_2.js │ │ ├── all_3.html │ │ ├── all_3.js │ │ ├── all_4.html │ │ ├── all_4.js │ │ ├── all_5.html │ │ ├── all_5.js │ │ ├── all_6.html │ │ ├── all_6.js │ │ ├── all_7.html │ │ ├── all_7.js │ │ ├── all_8.html │ │ ├── all_8.js │ │ ├── all_9.html │ │ ├── all_9.js │ │ ├── all_a.html │ │ ├── all_a.js │ │ ├── all_b.html │ │ ├── all_b.js │ │ ├── all_c.html │ │ ├── all_c.js │ │ ├── all_d.html │ │ ├── all_d.js │ │ ├── all_e.html │ │ ├── all_e.js │ │ ├── all_f.html │ │ ├── all_f.js │ │ ├── classes_0.html │ │ ├── classes_0.js │ │ ├── classes_1.html │ │ ├── classes_1.js │ │ ├── classes_2.html │ │ ├── classes_2.js │ │ ├── classes_3.html │ │ ├── classes_3.js │ │ ├── classes_4.html │ │ ├── classes_4.js │ │ ├── classes_5.html │ │ ├── classes_5.js │ │ ├── classes_6.html │ │ ├── classes_6.js │ │ ├── classes_7.html │ │ ├── classes_7.js │ │ ├── classes_8.html │ │ ├── classes_8.js │ │ ├── classes_9.html │ │ ├── classes_9.js │ │ ├── close.png │ │ ├── functions_0.html │ │ ├── functions_0.js │ │ ├── functions_1.html │ │ ├── functions_1.js │ │ ├── functions_10.html │ │ ├── functions_10.js │ │ ├── functions_11.html │ │ ├── functions_11.js │ │ ├── functions_12.html │ │ ├── functions_12.js │ │ ├── functions_2.html │ │ ├── functions_2.js │ │ ├── functions_3.html │ │ ├── functions_3.js │ │ ├── functions_4.html │ │ ├── functions_4.js │ │ ├── functions_5.html │ │ ├── functions_5.js │ │ ├── functions_6.html │ │ ├── functions_6.js │ │ ├── functions_7.html │ │ ├── functions_7.js │ │ ├── functions_8.html │ │ ├── functions_8.js │ │ ├── functions_9.html │ │ ├── functions_9.js │ │ ├── functions_a.html │ │ ├── functions_a.js │ │ ├── functions_b.html │ │ ├── functions_b.js │ │ ├── functions_c.html │ │ ├── functions_c.js │ │ ├── functions_d.html │ │ ├── functions_d.js │ │ ├── functions_e.html │ │ ├── functions_e.js │ │ ├── functions_f.html │ │ ├── functions_f.js │ │ ├── mag_sel.png │ │ ├── nomatches.html │ │ ├── pages_0.html │ │ ├── pages_0.js │ │ ├── search.css │ │ ├── search.js │ │ ├── search_l.png │ │ ├── search_m.png │ │ ├── search_r.png │ │ └── searchdata.js │ ├── session_8h_source.html │ ├── splitbar.png │ ├── sqldatabasestorage_8h_source.html │ ├── sqlquery_8h_source.html │ ├── sslloader_8h_source.html │ ├── sync_off.png │ ├── sync_on.png │ ├── tab_a.png │ ├── tab_b.png │ ├── tab_h.png │ ├── tab_s.png │ ├── tabs.css │ ├── urlencoder_8h_source.html │ └── variant_8h_source.html ├── latex │ ├── Makefile │ ├── annotated.tex │ ├── class_c_s_t_l_compiler.tex │ ├── class_c_s_t_l_compiler_attributes.tex │ ├── class_c_s_t_l_compiler_for.tex │ ├── class_c_s_t_l_compiler_if.tex │ ├── class_c_s_t_l_compiler_import.tex │ ├── class_c_s_t_l_compiler_object.tex │ ├── class_c_s_t_l_compiler_object__inherit__graph.dot │ ├── class_c_s_t_l_compiler_object__inherit__graph.md5 │ ├── class_configuration.tex │ ├── class_controller.tex │ ├── class_controller.tex.tmp │ ├── class_controller__inherit__graph.dot │ ├── class_controller__inherit__graph.md5 │ ├── class_cpp_web_application.tex │ ├── class_cpp_web_controller.tex │ ├── class_cpp_web_controller__inherit__graph.dot │ ├── class_cpp_web_controller__inherit__graph.md5 │ ├── class_cpp_web_server.tex │ ├── class_cpp_web_server__inherit__graph.dot │ ├── class_cpp_web_server__inherit__graph.md5 │ ├── class_file_manager.tex │ ├── class_filter.tex │ ├── class_filter_chain.tex │ ├── class_http_cookie.tex │ ├── class_http_parser.tex │ ├── class_http_read_request.tex │ ├── class_http_read_request__inherit__graph.dot │ ├── class_http_read_request__inherit__graph.md5 │ ├── class_meta_class_parser.tex │ ├── class_properties.tex │ ├── class_q_list_object.tex │ ├── class_q_list_object__inherit__graph.dot │ ├── class_q_list_object__inherit__graph.md5 │ ├── class_q_map_thread_safety.tex │ ├── class_request.tex │ ├── class_request__inherit__graph.dot │ ├── class_request__inherit__graph.md5 │ ├── class_request_dispatcher.tex │ ├── class_response.tex │ ├── class_session.tex │ ├── class_sql_database_storage.tex │ ├── class_sql_query.tex │ ├── class_sql_query__inherit__graph.dot │ ├── class_sql_query__inherit__graph.md5 │ ├── class_ssl_loader.tex │ ├── class_u_r_l_encoder.tex │ ├── class_variant.tex │ ├── class_variant__inherit__graph.dot │ ├── class_variant__inherit__graph.md5 │ ├── dir_3bacee99d34edff13677baafd8c3a47f.tex │ ├── dir_b2448bd9c6b97c57da490a507d179d6c.tex │ ├── doxygen.sty │ ├── hierarchy.tex │ ├── index.tex │ ├── logo.png │ └── refman.tex └── logo │ └── logo.png ├── environment.Dockerfile └── examples ├── CRUDRestWebService ├── CRUDRestWebService.pro ├── main.cpp └── server │ └── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ ├── 403.view │ ├── 404.view │ ├── index.view │ └── resources │ │ ├── css │ │ └── cppweb.css │ │ └── images │ │ ├── favicon.ico │ │ └── logo.png │ ├── log │ └── CPPWebServer.log │ └── ssl │ ├── cert.pem │ └── key.pem ├── CSTLForExample ├── CSTLForExample.pro ├── controllers │ ├── userscontroller.cpp │ └── userscontroller.h ├── main.cpp ├── model │ ├── user.cpp │ └── user.h └── server │ ├── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ ├── log │ │ └── CPPWebServer.log │ └── ssl │ │ ├── cert.pem │ │ └── key.pem │ └── pages │ └── users.view ├── CSTLIfExample ├── CSTLIfExample.pro ├── controllers │ ├── usercontroller.h │ └── userscontroller.cpp ├── main.cpp ├── model │ ├── user.cpp │ └── user.h └── server │ ├── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ ├── log │ │ └── CPPWebServer.log │ └── ssl │ │ ├── cert.pem │ │ └── key.pem │ └── pages │ └── users.view ├── CSTLImportExample ├── CSTLImportExample.pro ├── controllers │ ├── homecontroller.cpp │ ├── homecontroller.h │ ├── userscontroller.cpp │ └── userscontroller.h ├── main.cpp ├── model │ ├── user.cpp │ └── user.h └── server │ ├── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ ├── log │ │ └── CPPWebServer.log │ └── ssl │ │ ├── cert.pem │ │ └── key.pem │ └── pages │ ├── css │ └── menu.css │ ├── footer.html │ ├── header.html │ ├── home.view │ └── user.view ├── CSTLOutExample ├── CSTLOutExample.pro ├── controllers │ ├── usercontroller.cpp │ └── usercontroller.h ├── main.cpp ├── model │ ├── user.cpp │ └── user.h └── server │ ├── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ ├── log │ │ └── CPPWebServer.log │ └── ssl │ │ ├── cert.pem │ │ └── key.pem │ └── pages │ └── user.view ├── FillObjectBMI ├── FillObjectBMI.pro ├── main.cpp ├── model │ ├── usermodel.cpp │ └── usermodel.h └── server │ ├── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ ├── log │ │ └── CPPWebServer.log │ └── ssl │ │ ├── cert.pem │ │ └── key.pem │ └── pages │ ├── bmi.html │ └── bmiresults.view ├── Filters ├── Filters.pro ├── controllers │ ├── indexcontroller.cpp │ ├── indexcontroller.h │ ├── logincontroller.cpp │ └── logincontroller.h ├── filter │ ├── loginfilter.cpp │ └── loginfilter.h ├── main.cpp ├── model │ ├── user.cpp │ └── user.h └── server │ ├── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ ├── log │ │ └── CPPWebServer.log │ └── ssl │ │ ├── cert.pem │ │ └── key.pem │ └── pages │ ├── index.view │ └── login.view ├── HelloMVC ├── HelloMVC.pro ├── main.cpp ├── model │ └── hellomodel.h └── server │ ├── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ ├── log │ │ └── CPPWebServer.log │ └── ssl │ │ ├── cert.pem │ │ └── key.pem │ └── pages │ └── helloview.view ├── HelloWorld ├── CMakeLists.txt ├── HelloWorld.pro ├── main.cpp └── server │ └── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ ├── 403.view │ ├── 404.view │ ├── index.view │ └── resources │ │ ├── css │ │ └── cppweb.css │ │ └── images │ │ ├── favicon.ico │ │ └── logo.png │ ├── log │ └── CPPWebServer.log │ └── ssl │ ├── cert.pem │ └── key.pem ├── HelloWorldDocker ├── HelloWorldDocker.pro ├── main.cpp └── server │ └── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ ├── 403.view │ ├── 404.view │ ├── index.view │ └── resources │ │ ├── css │ │ └── cppweb.css │ │ └── images │ │ ├── favicon.ico │ │ └── logo.png │ ├── log │ └── CPPWebServer.log │ └── ssl │ ├── cert.pem │ └── key.pem ├── HelloWorldFilter ├── HelloWorldFilter.pro ├── main.cpp └── server │ └── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ ├── 403.view │ ├── 404.view │ ├── index.view │ └── resources │ │ ├── css │ │ └── cppweb.css │ │ └── images │ │ ├── favicon.ico │ │ └── logo.png │ ├── log │ └── CPPWebServer.log │ └── ssl │ ├── cert.pem │ └── key.pem ├── ORM ├── ORM.pro ├── main.cpp ├── server │ └── config │ │ ├── CPPWeb.ini │ │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ │ ├── log │ │ └── CPPWebServer.log │ │ └── ssl │ │ ├── cert.pem │ │ └── key.pem └── usermodel.h ├── RESTWebService ├── RESTWebService.pro ├── main.cpp └── server │ └── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ ├── 403.view │ ├── 404.view │ ├── index.view │ └── resources │ │ ├── css │ │ └── cppweb.css │ │ └── images │ │ ├── favicon.ico │ │ └── logo.png │ ├── log │ └── CPPWebServer.log │ └── ssl │ ├── cert.pem │ └── key.pem ├── SaveFiles ├── SaveFiles.pro ├── controllers │ ├── savefilecontroller.cpp │ └── savefilescontroller.h ├── main.cpp └── server │ ├── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ ├── log │ │ └── CPPWebServer.log │ └── ssl │ │ ├── cert.pem │ │ └── key.pem │ └── pages │ └── savefiles.html ├── Sessions ├── Sessions.pro ├── controllers │ ├── indexcontroller.cpp │ ├── indexcontroller.h │ ├── logincontroller.cpp │ └── logincontroller.h ├── main.cpp ├── model │ ├── user.cpp │ └── user.h └── server │ ├── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ ├── log │ │ └── CPPWebServer.log │ └── ssl │ │ ├── cert.pem │ │ └── key.pem │ └── pages │ ├── index.view │ └── login.view ├── ShowFile ├── ShowFile.pro ├── controllers │ ├── showfilecontroller.cpp │ └── showfilecontroller.h ├── main.cpp └── server │ ├── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ │ ├── 403.view │ │ ├── 404.view │ │ ├── index.view │ │ └── resources │ │ │ ├── css │ │ │ └── cppweb.css │ │ │ └── images │ │ │ ├── favicon.ico │ │ │ └── logo.png │ ├── log │ │ └── CPPWebServer.log │ └── ssl │ │ ├── cert.pem │ │ └── key.pem │ └── pages │ └── showfile.html ├── WebServices ├── WebServices.pro ├── controllers │ ├── bmicontroller.cpp │ └── bmicontroller.h ├── main.cpp ├── model │ ├── user.cpp │ └── user.h └── server │ └── config │ ├── CPPWeb.ini │ ├── cppwebserverpages │ ├── 403.view │ ├── 404.view │ ├── index.view │ └── resources │ │ ├── css │ │ └── cppweb.css │ │ └── images │ │ ├── favicon.ico │ │ └── logo.png │ ├── log │ └── CPPWebServer.log │ └── ssl │ ├── cert.pem │ └── key.pem └── helloworld.Dockerfile /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | A primary goal of C++ Web Framework (CWF) is to be inclusive to the largest number of contributors, with the most varied and diverse 4 | backgrounds possible. As such, we are committed to providing a friendly and welcoming environment for all. 5 | -------------------------------------------------------------------------------- /CPPWebFramework/cwf/cppwebframework_global.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef CPPWEBFRAMEWORK_GLOBAL_H 9 | #define CPPWEBFRAMEWORK_GLOBAL_H 10 | 11 | #include 12 | 13 | #if defined(CPPWEBFRAMEWORK_LIBRARY) 14 | # define CPPWEBFRAMEWORKSHARED_EXPORT Q_DECL_EXPORT 15 | #else 16 | # define CPPWEBFRAMEWORKSHARED_EXPORT Q_DECL_IMPORT 17 | #endif 18 | 19 | #define CWF_BEGIN_NAMESPACE namespace CWF { 20 | #define CWF_END_NAMESPACE } 21 | 22 | #endif // CPPWEBFRAMEWORK_GLOBAL_H 23 | -------------------------------------------------------------------------------- /CPPWebFramework/cwf/cppwebframework_global.h.2: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef CPPWEBFRAMEWORK_GLOBAL_H 9 | #define CPPWEBFRAMEWORK_GLOBAL_H 10 | 11 | #include 12 | 13 | #if defined(CPPWEBFRAMEWORK_LIBRARY) 14 | # define CPPWEBFRAMEWORKSHARED_EXPORT 15 | #else 16 | # define CPPWEBFRAMEWORKSHARED_EXPORT 17 | #endif 18 | 19 | #define CWF_BEGIN_NAMESPACE namespace CWF { 20 | #define CWF_END_NAMESPACE } 21 | 22 | #endif // CPPWEBFRAMEWORK_GLOBAL_H 23 | -------------------------------------------------------------------------------- /CPPWebFramework/cwf/cstlcompilerfor.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef CSTLCOMPILERFOR_H 9 | #define CSTLCOMPILERFOR_H 10 | 11 | #include 12 | #include 13 | #include "cppwebframework_global.h" 14 | 15 | CWF_BEGIN_NAMESPACE 16 | /** 17 | * @brief Extracts and valites all attibutes from a "for" tag. 18 | */ 19 | class CPPWEBFRAMEWORKSHARED_EXPORT CSTLCompilerFor 20 | { 21 | public: 22 | QMap attributes; 23 | /** 24 | * @brief This constructor processes and validates the attributes of "for" tags. 25 | * @param const QXmlStreamAttributes &attr : XML tag attributes. 26 | */ 27 | explicit CSTLCompilerFor(const QXmlStreamAttributes &attr); 28 | }; 29 | 30 | CWF_END_NAMESPACE 31 | 32 | #endif // CSTLCOMPILERFOR_H 33 | -------------------------------------------------------------------------------- /CPPWebFramework/cwf/cstlcompilerimport.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef CSTLCOMPILERIMPORT_H 9 | #define CSTLCOMPILERIMPORT_H 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include "cppwebframework_global.h" 16 | 17 | CWF_BEGIN_NAMESPACE 18 | 19 | /** 20 | * @brief Extracts and valites all attibutes from a "import" tag. 21 | */ 22 | class CPPWEBFRAMEWORKSHARED_EXPORT CSTLCompilerImport 23 | { 24 | public: 25 | QMap attributes; 26 | /** 27 | * @brief This constructor processes and validates the attributes of "import" tag. 28 | */ 29 | CSTLCompilerImport(const QXmlStreamAttributes &attr, QString path); 30 | }; 31 | 32 | CWF_END_NAMESPACE 33 | 34 | #endif // CSTLCOMPILERIMPORT_H 35 | -------------------------------------------------------------------------------- /CPPWebFramework/cwf/filter.cpp: -------------------------------------------------------------------------------- 1 | #include "filter.h" 2 | 3 | CWF_BEGIN_NAMESPACE 4 | 5 | void Filter::doFilter(Request &request, Response &response, FilterChain &chain) 6 | { 7 | chain.doFilter(request, response); 8 | } 9 | 10 | CWF_END_NAMESPACE 11 | -------------------------------------------------------------------------------- /CPPWebFramework/cwf/properties.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "properties.h" 9 | 10 | CWF_BEGIN_NAMESPACE 11 | 12 | Properties::Properties(const QString &classAndMethod) 13 | { 14 | QStringList temp = classAndMethod.split('.'); 15 | if(temp.size() == 2) 16 | { 17 | m_class = temp[0]; 18 | m_method = temp[1]; 19 | } 20 | else if(temp.size() == 1) 21 | { 22 | m_class = temp[0]; 23 | m_method = "getValue"; 24 | } 25 | } 26 | 27 | CWF_END_NAMESPACE 28 | -------------------------------------------------------------------------------- /CPPWebFramework/cwf/properties.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef PROPERTIES_H 9 | #define PROPERTIES_H 10 | 11 | #include 12 | #include 13 | #include "cppwebframework_global.h" 14 | 15 | CWF_BEGIN_NAMESPACE 16 | /** 17 | * @brief The Properties class is an auxiliar class to the CSTLCompiler. 18 | */ 19 | class CPPWEBFRAMEWORKSHARED_EXPORT Properties 20 | { 21 | public: 22 | QString m_class; 23 | QString m_method; 24 | /** 25 | * @brief Extracts class and method name. 26 | * @param const QString &classAndMethod : Class and method name. 27 | */ 28 | explicit Properties(const QString &classAndMethod); 29 | }; 30 | 31 | CWF_END_NAMESPACE 32 | 33 | #endif // PROPERTIES_H 34 | -------------------------------------------------------------------------------- /CPPWebFramework/cwf/qlistobject.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "qlistobject.h" 9 | 10 | CWF_BEGIN_NAMESPACE 11 | 12 | QListObject::~QListObject() 13 | { 14 | if(!autoDelete) 15 | { 16 | const QObjectList &childrenList = children(); 17 | 18 | for(QObject *obj : childrenList) 19 | { 20 | obj->setParent(nullptr); 21 | } 22 | } 23 | } 24 | 25 | CWF_END_NAMESPACE 26 | -------------------------------------------------------------------------------- /CPPWebFramework/cwf/requestdispatcher.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "requestdispatcher.h" 9 | #include "request.h" 10 | #include "response.h" 11 | #include "cstlcompiler.h" 12 | 13 | CWF_BEGIN_NAMESPACE 14 | 15 | void RequestDispatcher::forward(CWF::Request &request, CWF::Response &response) 16 | { 17 | response.write(CSTLCompiler(file.toLatin1(), request.getPath(), request.attributes).output()); 18 | } 19 | 20 | CWF_END_NAMESPACE 21 | -------------------------------------------------------------------------------- /CPPWebFramework/cwf/sslloader.h: -------------------------------------------------------------------------------- 1 | #ifndef SSLLOADER_H 2 | #define SSLLOADER_H 3 | 4 | #include "cppwebframework_global.h" 5 | #include 6 | #include "configuration.h" 7 | 8 | CWF_BEGIN_NAMESPACE 9 | 10 | /** 11 | * @brief The SslLoader class is responsible for loading the SSL settings. 12 | */ 13 | class CPPWEBFRAMEWORKSHARED_EXPORT SslLoader 14 | { 15 | Configuration configuration; 16 | public: 17 | /** 18 | * @brief SslLoader constructor requires a Configuration object. 19 | */ 20 | SslLoader(Configuration configuration); 21 | /** 22 | * @brief Returns a QSslConfiguration. It will returns nullptr if it fails. 23 | */ 24 | QSslConfiguration *getSslConfiguration() const; 25 | }; 26 | 27 | CWF_END_NAMESPACE 28 | 29 | #endif // SSLLOADER_H 30 | -------------------------------------------------------------------------------- /CPPWebFramework/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /CPPWebFramework/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /CPPWebFramework/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /CPPWebFramework/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/CPPWebFramework/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /CPPWebFramework/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/CPPWebFramework/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /CPPWebFramework/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/CPPWebFramework/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_configuration.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_CONFIGURATION_H 2 | #define TST_CONFIGURATION_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | class TST_Configuration : public QObject 10 | { 11 | Q_OBJECT 12 | private slots: 13 | void test(); 14 | }; 15 | 16 | #endif // TST_CONFIGURATION_H 17 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cppwebapplication.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_cppwebapplication.h" 2 | 3 | 4 | void TST_CppWebApplication::test() 5 | { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cppwebapplication.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_CPPWEBAPPLICATION_H 2 | #define TST_CPPWEBAPPLICATION_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_CppWebApplication : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_CPPWEBAPPLICATION_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cppwebcontroller.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_cppwebcontroller.h" 2 | 3 | void TST_CppWebController::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cppwebcontroller.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_CPPWEBSERVLET_H 2 | #define TST_CPPWEBSERVLET_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_CppWebController : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_CPPWEBSERVLET_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cppwebserver.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_cppwebserver.h" 2 | 3 | void TST_CppWebServer::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cppwebserver.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_CPPWEBSERVER_H 2 | #define TST_CPPWEBSERVER_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_CppWebServer : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_CPPWEBSERVER_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompiler.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_CSTLCOMPILER_H 2 | #define TST_CSTLCOMPILER_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | enum class NUMBER_ATTR : char 9 | { 10 | ZERO, 11 | TWO, 12 | THREE 13 | }; 14 | 15 | class TST_CSTLCompiler : public QObject 16 | { 17 | Q_OBJECT 18 | const QByteArray header = "TestHeader"; 19 | private slots: 20 | void test(); 21 | 22 | void testImport(); 23 | 24 | void testForOutIf(); 25 | 26 | void fillClient(ClientTest &client, short h); 27 | 28 | QByteArray buildHtmlForIf(const QByteArray &condition, NUMBER_ATTR number = NUMBER_ATTR::TWO); 29 | 30 | void createFile(const QString &name, const QByteArray &content); 31 | }; 32 | 33 | #endif // TST_CSTLCOMPILER_H 34 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompilerattributes.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_cstlcompilerattributes.h" 2 | 3 | void TST_CSTLCompilerAttributes::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompilerattributes.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_CSTLCOMPILERATTRIBUTES_H 2 | #define TST_CSTLCOMPILERATTRIBUTES_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_CSTLCompilerAttributes : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_CSTLCOMPILERATTRIBUTES_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompilerfor.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_cstlcompilerfor.h" 2 | 3 | void TST_CSTLCompilerFor::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompilerfor.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_CSTLCOMPILERFOR_H 2 | #define TST_CSTLCOMPILERFOR_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_CSTLCompilerFor : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_CSTLCOMPILERFOR_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompilerif.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_CSTLCOMPILERIF_H 2 | #define TST_CSTLCOMPILERIF_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_CSTLCompilerIf : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | 13 | QByteArray buildHtml(); 14 | }; 15 | 16 | #endif // TST_CSTLCOMPILERIF_H 17 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompilerimport.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_cstlcompilerimport.h" 2 | 3 | void TST_CSTLCompilerImport::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompilerimport.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_CSTLCOMPILERIMPORT_H 2 | #define TST_CSTLCOMPILERIMPORT_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_CSTLCompilerImport : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_CSTLCOMPILERIMPORT_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompilerobject.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_cstlcompilerobject.h" 2 | 3 | void TST_CSTLCompilerObject::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompilerobject.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_CSTLCOMPILEROBJECT_H 2 | #define TST_CSTLCOMPILEROBJECT_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_CSTLCompilerObject : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_CSTLCOMPILEROBJECT_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompilerout.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_cstlcompilerout.h" 2 | #include 3 | #include 4 | 5 | void TST_CSTLCompilerOut::test() 6 | { 7 | { 8 | CWF::Variant var(1); 9 | QMap objects({{"var", &var}}); 10 | QByteArray r = CWF::CSTLCompiler(buildHtml(), QDir().currentPath(), objects, false).output(); 11 | QVERIFY2(r.contains("1"), "Should contains '1'"); 12 | } 13 | } 14 | 15 | QByteArray TST_CSTLCompilerOut::buildHtml() 16 | { 17 | QByteArray html; 18 | html = ""; 19 | html += ""; 20 | html += "Um #{var.toInt} + #{var.toInt} = 2"; 21 | html += ""; 22 | html += ""; 23 | html += ""; 24 | 25 | return html; 26 | } 27 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_cstlcompilerout.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_CSTLCOMPILEROUT_H 2 | #define TST_CSTLCOMPILEROUT_H 3 | 4 | #include 5 | 6 | class TST_CSTLCompilerOut : public QObject 7 | { 8 | Q_OBJECT 9 | private slots: 10 | void test(); 11 | 12 | QByteArray buildHtml(); 13 | }; 14 | 15 | #endif // TST_CSTLCOMPILEROUT_H 16 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_filemanager.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_FILEMANAGER_H 2 | #define TST_FILEMANAGER_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_FileManager : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_FILEMANAGER_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_filter.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_filter.h" 2 | 3 | void TST_Filter::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_filter.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_FILTER_H 2 | #define TST_FILTER_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_Filter : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_FILTER_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_filterchain.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_filterchain.h" 2 | 3 | void TST_FilterChain::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_filterchain.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_FILTERCHAIN_H 2 | #define TST_FILTERCHAIN_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_FilterChain : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_FILTERCHAIN_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_httpparser.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_HTTPPARSER_H 2 | #define TST_HTTPPARSER_H 3 | 4 | #include 5 | #include 6 | 7 | 8 | class TST_HttpParser : public QObject 9 | { 10 | Q_OBJECT 11 | private slots: 12 | void test(); 13 | 14 | void testGet(); 15 | 16 | void testPost(); 17 | 18 | void testPostWithFiles(); 19 | 20 | QByteArray buildGetRequest(); 21 | 22 | QByteArray buildPostRequest(char condition); 23 | 24 | QByteArray buildPostRequestWithFiles(); 25 | 26 | QByteArray buildGetRequestWithoutEndMsg(); 27 | 28 | QByteArray buildInvalidRequest(); 29 | }; 30 | 31 | #endif // TST_HTTPPARSER_H 32 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_httpreadrequest.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_httpreadrequest.h" 2 | 3 | void TST_HttpReadRequest::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_httpreadrequest.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_HTTPREADREQUEST_H 2 | #define TST_HTTPREADREQUEST_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_HttpReadRequest : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_HTTPREADREQUEST_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_metaclassparser.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_metaclassparser.h" 2 | 3 | void TST_MetaClassParser::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_metaclassparser.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_METACLASSPARSER_H 2 | #define TST_METACLASSPARSER_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_MetaClassParser : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_METACLASSPARSER_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_properties.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_properties.h" 2 | 3 | void TST_Properties::test() 4 | { 5 | CWF::Properties properties("TST_Properties.test()"); 6 | QVERIFY2(properties.m_class == "TST_Properties", "Should be TST_Properties"); 7 | QVERIFY2(properties.m_method == "test()", "Should be test()"); 8 | 9 | CWF::Properties prop("TST_Properties"); 10 | QVERIFY2(prop.m_class == "TST_Properties", "Should be TST_Properties"); 11 | QVERIFY2(prop.m_method == "getValue", "Should be getValue"); 12 | } 13 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_properties.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_PROPERTIES_H 2 | #define TST_PROPERTIES_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_Properties : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_PROPERTIES_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_qlistobject.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_qlistobject.h" 2 | 3 | void TST_QListObject::test() 4 | { 5 | CWF::QListObject listObj; 6 | 7 | listObj.add(new QObject); 8 | listObj.add(new QObject); 9 | 10 | QVERIFY2(listObj.size() == 2, "Should be equal 2"); 11 | QObject *obj = listObj[0]; 12 | QVERIFY2(obj != nullptr, "Should be different nullptr"); 13 | listObj.remove(obj); 14 | QVERIFY2(listObj.size() == 1, "Should be equal 1"); 15 | listObj.setAutoDelete(false); 16 | QVERIFY2(listObj.getAutoDelete() == false, "Should be equal false"); 17 | } 18 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_qlistobject.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_QLISTOBJECT_H 2 | #define TST_QLISTOBJECT_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_QListObject : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_QLISTOBJECT_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_qmapthreadsafety.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_qmapthreadsafety.h" 2 | 3 | void TST_QMapThreadSafety::test() 4 | { 5 | CWF::QMapThreadSafety myMap; 6 | QVERIFY2(myMap.insert(1, "First").key() == 1, "Should return 1"); 7 | QVERIFY2(myMap.insert(2, "Second").key() == 2, "Should return 2"); 8 | QVERIFY2(myMap.size() == 2, "Should return 2"); 9 | QVERIFY2(myMap.contains(1) == true, "Should return true"); 10 | QVERIFY2(myMap.remove(1) > 0, "Should return > 0"); 11 | QVERIFY2(myMap.size() == 1, "Should return 1"); 12 | QVERIFY2(myMap.contains(1) == false, "Should return false"); 13 | } 14 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_qmapthreadsafety.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_QMAPTHREADSAFETY_H 2 | #define TST_QMAPTHREADSAFETY_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_QMapThreadSafety : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_QMAPTHREADSAFETY_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_requestdispatcher.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_requestdispatcher.h" 2 | 3 | void TST_RequestDispatcher::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_requestdispatcher.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_REQUESTDISPATCHER_H 2 | #define TST_REQUESTDISPATCHER_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_RequestDispatcher : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_REQUESTDISPATCHER_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_response.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_response.h" 2 | 3 | void TST_Response::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_response.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_HTTPSERVLETRESPONSE_H 2 | #define TST_HTTPSERVLETRESPONSE_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_Response : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_HTTPSERVLETRESPONSE_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_session.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_session.h" 2 | #include 3 | 4 | void TST_Session::test() 5 | { 6 | CWF::Session session("1", 1); 7 | session.setSessionTimeOut(1); 8 | session.setAutoClearAttributes(true); 9 | session.addAttribute("a", new CWF::Variant(0)); 10 | session.addAttribute("b", new CWF::Variant(1)); 11 | session.validate(); 12 | QThread::msleep(10); 13 | QVERIFY2(session.getId() == "1", "Should be 1"); 14 | QVERIFY2(session.getSessionTimeOut() == 1, "Should be 1"); 15 | QVERIFY2(session.getAttributeNames().size() == 2, "Should be 2"); 16 | QVERIFY2(session.isExpired(), "Should be true"); 17 | QVERIFY(session.getLastAccessedTime() <= QDateTime::currentMSecsSinceEpoch()); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_session.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_HTTPSESSION_H 2 | #define TST_HTTPSESSION_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_Session : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_HTTPSESSION_H 15 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_urlencoder.cpp: -------------------------------------------------------------------------------- 1 | #include "tst_urlencoder.h" 2 | 3 | void TST_URLEncoder::test() 4 | { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /CPPWebFramework/tests/tst_urlencoder.h: -------------------------------------------------------------------------------- 1 | #ifndef TST_URLENCODER_H 2 | #define TST_URLENCODER_H 3 | 4 | #include 5 | #include 6 | 7 | class TST_URLEncoder : public QObject 8 | { 9 | Q_OBJECT 10 | private slots: 11 | void test(); 12 | }; 13 | 14 | #endif // TST_URLENCODER_H 15 | -------------------------------------------------------------------------------- /PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Pull Request Checklist 2 | Please check if your Pull Request fulfills the following requirements: 3 | 4 | - [ ] The commit message has a detailed description of the modifications 5 | - [ ] Tests for the changes have been added (for bug fixes / features) 6 | - [ ] Docs have been added / updated (for bug fixes / features) 7 | 8 | 9 | ## Pull Request Type 10 | What kind of change does this Pull Request introduce? 11 | 12 | 13 | ``` 14 | [ ] Bugfix 15 | [ ] Feature 16 | [ ] Code style update (formatting, local variables) 17 | [ ] Refactoring (no functional changes, no api changes) 18 | [ ] Build related changes 19 | [ ] CI related changes 20 | [ ] Documentation content changes 21 | [ ] Other (Please describe) 22 | ``` 23 | 24 | ## What is the current behavior? 25 | 26 | 27 | Issue Number: N/A 28 | 29 | 30 | ## What is the new behavior? 31 | 32 | 33 | ## Does this Pull Request introduce a breaking change? 34 | ``` 35 | [ ] Yes 36 | [ ] No 37 | ``` 38 | 39 | ## Other information 40 | -------------------------------------------------------------------------------- /documentation/doxygen_sqlite3.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/doxygen_sqlite3.db -------------------------------------------------------------------------------- /documentation/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/bc_s.png -------------------------------------------------------------------------------- /documentation/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/bdwn.png -------------------------------------------------------------------------------- /documentation/html/class_c_s_t_l_compiler_object__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "CSTLCompilerObject" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="CSTLCompilerObject",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 7 | Node1 [label="QObject",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/html/class_c_s_t_l_compiler_object__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 48b11cb6723557591f6d538dfb2e808f -------------------------------------------------------------------------------- /documentation/html/class_controller__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "Controller" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="Controller",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 7 | Node1 [label="CppWebController",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_cpp_web_controller.html",tooltip="This class is responsible for displaying the standard pages of C++ Web Framework: index..."]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/html/class_controller__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | ca3b8475d4df2ab9817558566bf3028d -------------------------------------------------------------------------------- /documentation/html/class_cpp_web_controller__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "CppWebController" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="CppWebController",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 7 | Node1 [label="Controller",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_controller.html",tooltip="The Controller class is responsable to attend a request from a specific url. You will need to create ..."]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/html/class_cpp_web_controller__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 32fb4521cfd2708e22149f6cf14be441 -------------------------------------------------------------------------------- /documentation/html/class_cpp_web_server__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "CppWebServer" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="CppWebServer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 7 | Node1 [label="QTcpServer",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/html/class_cpp_web_server__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 9ca075ccabea7628390c99ef79f58bed -------------------------------------------------------------------------------- /documentation/html/class_http_read_request__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "HttpReadRequest" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="HttpReadRequest",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 7 | Node1 [label="QRunnable",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/html/class_http_read_request__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 3cde513baab32b5dd88a073eb4946091 -------------------------------------------------------------------------------- /documentation/html/class_q_list_object__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "QListObject" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="QListObject",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 7 | Node1 [label="QObject",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/html/class_q_list_object__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 9a145d971a572ef1d669fcd5da99632a -------------------------------------------------------------------------------- /documentation/html/class_request__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "Request" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="Request",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 7 | Node1 [label="QObject",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/html/class_request__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | c39f1ad07b329d8bb404981c30098c47 -------------------------------------------------------------------------------- /documentation/html/class_sql_query__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "SqlQuery" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="SqlQuery",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 7 | Node1 [label="QSqlQuery",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/html/class_sql_query__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | c4eaf3f06c4020cfecab41c3c589dfb7 -------------------------------------------------------------------------------- /documentation/html/class_variant__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "Variant" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="Variant",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 7 | Node1 [label="QObject",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/html/class_variant__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 48a904a55f612c53e11e48a674b80832 -------------------------------------------------------------------------------- /documentation/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/closed.png -------------------------------------------------------------------------------- /documentation/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/doc.png -------------------------------------------------------------------------------- /documentation/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/doxygen.png -------------------------------------------------------------------------------- /documentation/html/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/folderclosed.png -------------------------------------------------------------------------------- /documentation/html/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/folderopen.png -------------------------------------------------------------------------------- /documentation/html/graph_legend.md5: -------------------------------------------------------------------------------- 1 | 387ff8eb65306fa251338d3c9bd7bfff -------------------------------------------------------------------------------- /documentation/html/inherit_graph_0.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="Configuration",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_configuration.html",tooltip="All classes of C++ Web Framework are contained within the namespace CWF. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_0.md5: -------------------------------------------------------------------------------- 1 | b7e94b6ced9404b02b9e3bdcbad709fd -------------------------------------------------------------------------------- /documentation/html/inherit_graph_1.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="Controller",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_controller.html",tooltip="The Controller class is responsable to attend a request from a specific url. You will need to create ..."]; 7 | Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 8 | Node1 [label="CppWebController",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_cpp_web_controller.html",tooltip="This class is responsible for displaying the standard pages of C++ Web Framework: index..."]; 9 | } 10 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_1.md5: -------------------------------------------------------------------------------- 1 | 0c1e1001aa3e5850334fd1ec25adf594 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_10.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="FileManager",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_file_manager.html",tooltip="The FileManager class can manage file's name. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_10.md5: -------------------------------------------------------------------------------- 1 | 9eb9db92faf26298c1252ebe46555c96 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_11.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="Filter",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_filter.html",tooltip="The Filter class works like a filter. You can use this class to validate sessions or measuring runtim..."]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_11.md5: -------------------------------------------------------------------------------- 1 | 6e6e5463fa887f42c71fa0bdbdaf5ef2 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_12.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="FilterChain",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_filter_chain.html",tooltip="The FilterChain class is responsable to dispatch a requisition. This class was built to work with Fil..."]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_12.md5: -------------------------------------------------------------------------------- 1 | edfaaf587aeab44b33bc5bd3cfc6790d -------------------------------------------------------------------------------- /documentation/html/inherit_graph_13.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="HttpParser",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_http_parser.html",tooltip="The class parses a HTTP message. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_13.md5: -------------------------------------------------------------------------------- 1 | 458925d722c6429b327f49cc9796f855 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_14.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node11 [label="QRunnable",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 7 | Node11 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 8 | Node0 [label="HttpReadRequest",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_http_read_request.html",tooltip="The HttpReadRequest class is created automatically by the CppWebServer and inserted in a QThreadPoo..."]; 9 | } 10 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_14.md5: -------------------------------------------------------------------------------- 1 | 968d697d00de2d9aae024e882b3c8a5d -------------------------------------------------------------------------------- /documentation/html/inherit_graph_15.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="MetaClassParser",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_meta_class_parser.html",tooltip="This class extracts all information from a QObject. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_15.md5: -------------------------------------------------------------------------------- 1 | 41aed199849671abcb18bcf19cf5a793 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_16.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="Properties",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_properties.html",tooltip="The Properties class is an auxiliar class to the CSTLCompiler. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_16.md5: -------------------------------------------------------------------------------- 1 | 0b43fa789c68e558a52ea6cdfbc5bfc3 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_17.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="QMapThreadSafety\< Key, T \>",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_q_map_thread_safety.html",tooltip="The QMapThreadSafety class is a thread safe QMap. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_17.md5: -------------------------------------------------------------------------------- 1 | 515d731ef9b876df2cd1828b5193ffb9 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_18.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="QMapThreadSafety\< QString,\l Controller *\>",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_q_map_thread_safety.html"]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_18.md5: -------------------------------------------------------------------------------- 1 | 33afffc52efa6679e912024e4e1ce609 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_19.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="QMapThreadSafety\< QString,\l QObject *\>",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_q_map_thread_safety.html"]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_19.md5: -------------------------------------------------------------------------------- 1 | 24230f5a9388a6f96a045b6e9d590ef9 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_2.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="CppWebApplication",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_cpp_web_application.html",tooltip="This class is responsible for encapsulating the QCoreApplication, the CppWebServer and configure the ..."]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_2.md5: -------------------------------------------------------------------------------- 1 | 706d6e43a539bb6422d69e9850eee6b2 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_20.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="QMapThreadSafety\< QString,\l Session *\>",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_q_map_thread_safety.html"]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_20.md5: -------------------------------------------------------------------------------- 1 | 0ac0805288ac36402ec90ebc3f385106 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_21.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="Request",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_request.html",tooltip="The Request class holds all information about a http request. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_21.md5: -------------------------------------------------------------------------------- 1 | 421312ffb0ebf411e1b2019cd7f9b8ee -------------------------------------------------------------------------------- /documentation/html/inherit_graph_22.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="RequestDispatcher",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_request_dispatcher.html",tooltip="The RequestDispatcher class can be used to dispatch a requisition to a page. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_22.md5: -------------------------------------------------------------------------------- 1 | 0622e4525b56f9a486e5a5e03e0aae2c -------------------------------------------------------------------------------- /documentation/html/inherit_graph_23.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="Response",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_response.html",tooltip="The Response class is responsable to response a Http request. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_23.md5: -------------------------------------------------------------------------------- 1 | e643c8d274bba4a0f203a4674e0cf729 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_24.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="Session",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_session.html",tooltip="The Session class holds information about a client session. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_24.md5: -------------------------------------------------------------------------------- 1 | c483e2ba6a25fde696bd2eb583487473 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_25.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="SqlDatabaseStorage",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_sql_database_storage.html",tooltip="The SqlDatabaseStorage class allows you to reuse connections made to the database through the QSqlDat..."]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_25.md5: -------------------------------------------------------------------------------- 1 | e5d7bd9d2f56d88891009aa46b06482a -------------------------------------------------------------------------------- /documentation/html/inherit_graph_26.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node9 [label="QSqlQuery",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 7 | Node9 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 8 | Node0 [label="SqlQuery",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_sql_query.html",tooltip="The SqlQuery class was created to facilitate integration with SqlDataBaseStorage and manipulation to ..."]; 9 | } 10 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_26.md5: -------------------------------------------------------------------------------- 1 | 5ceb121d7323d0a007bfc5481cf7831d -------------------------------------------------------------------------------- /documentation/html/inherit_graph_27.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="SslLoader",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_ssl_loader.html",tooltip="The SslLoader class is responsible for loading the SSL settings. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_27.md5: -------------------------------------------------------------------------------- 1 | 34d38e1610074ece9358f7bb07d4bf66 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_28.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="URLEncoder",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_u_r_l_encoder.html",tooltip="The URLEncoder class. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_28.md5: -------------------------------------------------------------------------------- 1 | 639d1130fa29cd0843689d49ddd15833 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_3.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node7 [label="QTcpServer",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 7 | Node7 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"]; 8 | Node0 [label="CppWebServer",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_cpp_web_server.html",tooltip="The CppWebServer class is a HTTP server, responsable to receive and dispatch the requisitions. "]; 9 | } 10 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_3.md5: -------------------------------------------------------------------------------- 1 | a59df65858c46fb7c5194a5b4c4a361e -------------------------------------------------------------------------------- /documentation/html/inherit_graph_4.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="CSTLCompiler",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_c_s_t_l_compiler.html",tooltip="This class compiles view pages with CSTL (C++ Server Pages Standard Tags Library). "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_4.md5: -------------------------------------------------------------------------------- 1 | c11811978cb07892acb0548b32e825b0 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_5.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="CSTLCompilerAttributes",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_c_s_t_l_compiler_attributes.html",tooltip="This class search for expressions #{obj.get} and compiles it. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_5.md5: -------------------------------------------------------------------------------- 1 | 90a462e8313d90ab63fc5105cab0b830 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_6.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="CSTLCompilerFor",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_c_s_t_l_compiler_for.html",tooltip="Extracts and valites all attibutes from a \"for\" tag. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_6.md5: -------------------------------------------------------------------------------- 1 | 4cd03fca31dae356113c1a1493b3d9ff -------------------------------------------------------------------------------- /documentation/html/inherit_graph_7.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="CSTLCompilerIf",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_c_s_t_l_compiler_if.html",tooltip="Extracts and valites all attibutes from a \"if\" tag. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_7.md5: -------------------------------------------------------------------------------- 1 | 8bcc04af003ec8e90a858a076c37ea0b -------------------------------------------------------------------------------- /documentation/html/inherit_graph_8.dot: -------------------------------------------------------------------------------- 1 | digraph "Graphical Class Hierarchy" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | rankdir="LR"; 6 | Node0 [label="CSTLCompilerImport",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_c_s_t_l_compiler_import.html",tooltip="Extracts and valites all attibutes from a \"import\" tag. "]; 7 | } 8 | -------------------------------------------------------------------------------- /documentation/html/inherit_graph_8.md5: -------------------------------------------------------------------------------- 1 | 11853f110237a44ebeb91cad90aa3be1 -------------------------------------------------------------------------------- /documentation/html/inherit_graph_9.md5: -------------------------------------------------------------------------------- 1 | b7b5e205f58627c2dcc6164659c37c92 -------------------------------------------------------------------------------- /documentation/html/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/logo.png -------------------------------------------------------------------------------- /documentation/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/nav_f.png -------------------------------------------------------------------------------- /documentation/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/nav_g.png -------------------------------------------------------------------------------- /documentation/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/nav_h.png -------------------------------------------------------------------------------- /documentation/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/open.png -------------------------------------------------------------------------------- /documentation/html/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['add',['add',['../class_q_list_object.html#ad5e960eabd3e9b7d49228ea7549a9bd7',1,'QListObject::add(QObject *object)'],['../class_q_list_object.html#a8114f712189da4ae507ffb4a12eec2f3',1,'QListObject::add(const std::initializer_list< QObject *> &objects)']]], 4 | ['addattribute',['addAttribute',['../class_request.html#ad856d106a54dffed5e478858cdaa7618',1,'Request::addAttribute(const std::initializer_list< QPair< QString, QObject *>> &value) noexcept'],['../class_request.html#afe81be45f2fffc0e4baf2830278b8c94',1,'Request::addAttribute(const QString &name, QObject *value) noexcept'],['../class_session.html#afe6cfc02c901d3f27924107067f83189',1,'Session::addAttribute()']]], 5 | ['addcontroller',['addController',['../class_cpp_web_application.html#ab4f105dee5ddd0cb7c6c93917057e850',1,'CppWebApplication::addController()'],['../class_cpp_web_server.html#a3982d41728fd3237c42dd6dabbf1efb6',1,'CppWebServer::addController()']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['begin',['begin',['../class_q_map_thread_safety.html#ac197a5375913e4ac19910b9bc4191a95',1,'QMapThreadSafety']]], 4 | ['bodytojsonarray',['bodyToJsonArray',['../class_request.html#a933c1581ec12d55a0b307c4060d5e127',1,'Request']]], 5 | ['bodytojsonobject',['bodyToJsonObject',['../class_request.html#acb4c1802fbd8cf14183c231ebb586288',1,'Request']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/html/search/all_10.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['updatefromjson',['updateFromJson',['../class_sql_query.html#a57821078a46629590e01e3645af13edf',1,'SqlQuery']]], 4 | ['urlencoder',['URLEncoder',['../class_u_r_l_encoder.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/html/search/all_11.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['validate',['validate',['../class_session.html#a0d4d1f80fdc47692172b3d3e2175df86',1,'Session']]], 4 | ['variant',['Variant',['../class_variant.html',1,'Variant'],['../class_variant.html#a594b84b7c7a7e997aac3354bbdaa2d97',1,'Variant::Variant()=default'],['../class_variant.html#a1015564e64eb9bc9ce894fb1f98b6e36',1,'Variant::Variant(int value)'],['../class_variant.html#a7e7d9a46e166e059ce75b76b92b11457',1,'Variant::Variant(double value)'],['../class_variant.html#a6f86cea152e761f48700e41f210fe251',1,'Variant::Variant(qlonglong value)'],['../class_variant.html#a2a2d8b7cc035142a795f86d481adde0c',1,'Variant::Variant(const QString &value)'],['../class_variant.html#af11a005d444e0879b6a479bca786b19e',1,'Variant::Variant(const QByteArray &value)']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/html/search/all_12.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_7econtroller',['~Controller',['../class_controller.html#a867c1b386aa6e63d986a01ddaeccea5a',1,'Controller']]], 4 | ['_7ecppwebapplication',['~CppWebApplication',['../class_cpp_web_application.html#a96a7655a25d2e35ed545cdb7b8d81cc5',1,'CppWebApplication']]], 5 | ['_7ecppwebserver',['~CppWebServer',['../class_cpp_web_server.html#a6b9d6874d16f6491c511fb4b8793a5f8',1,'CppWebServer']]], 6 | ['_7efilter',['~Filter',['../class_filter.html#aa37dc017d133404b3a326f363ce36b8a',1,'Filter']]], 7 | ['_7ehttpreadrequest',['~HttpReadRequest',['../class_http_read_request.html#a876bcf62d5428d982c5af6f35e59b963',1,'HttpReadRequest']]], 8 | ['_7eqlistobject',['~QListObject',['../class_q_list_object.html#a01e06b1d249cf0dbe92b826fed0e7b76',1,'QListObject']]], 9 | ['_7erequest',['~Request',['../class_request.html#ac6936b15e3d926bc4cc208357c4100df',1,'Request']]], 10 | ['_7erequestdispatcher',['~RequestDispatcher',['../class_request_dispatcher.html#a1b09805ab31a0f96d9823a2bf9de3771',1,'RequestDispatcher']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /documentation/html/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['encode',['encode',['../class_u_r_l_encoder.html#ad30f9c19d4629f268d54983d891db714',1,'URLEncoder']]], 4 | ['end',['end',['../class_q_map_thread_safety.html#a64a700a04a692176f00e119500dd1b23',1,'QMapThreadSafety']]], 5 | ['exec',['exec',['../class_sql_query.html#a2e52ed76e3683d7684fd792bec0b9a09',1,'SqlQuery::exec()'],['../class_sql_query.html#a5fa16018f76ee798660343bc5fabe8a0',1,'SqlQuery::exec(const QString &query)']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['filemanager',['FileManager',['../class_file_manager.html',1,'']]], 4 | ['fillqobject',['fillQObject',['../class_request.html#a934d83fe6fe62aba36a625b6edad8d65',1,'Request']]], 5 | ['filter',['Filter',['../class_filter.html',1,'']]], 6 | ['filterchain',['FilterChain',['../class_filter_chain.html',1,'FilterChain'],['../class_filter_chain.html#a9d506944c4a8d387aae3c7b0aa7c6ac7',1,'FilterChain::FilterChain()']]], 7 | ['forward',['forward',['../class_request_dispatcher.html#a6416fc9441670d1de84b3c8262d13220',1,'RequestDispatcher']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /documentation/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['httpparser',['HttpParser',['../class_http_parser.html',1,'HttpParser'],['../class_http_parser.html#a91e6c1876337b53694347476f277d1a2',1,'HttpParser::HttpParser()']]], 4 | ['httpreadrequest',['HttpReadRequest',['../class_http_read_request.html',1,'HttpReadRequest'],['../class_http_read_request.html#a1b3515d60b21be64bbb3afb7b5b03dcd',1,'HttpReadRequest::HttpReadRequest()']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/html/search/all_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['metaclassparser',['MetaClassParser',['../class_meta_class_parser.html',1,'MetaClassParser'],['../class_meta_class_parser.html#ae3df53e78d823b2edaa38fe6184c9e01',1,'MetaClassParser::MetaClassParser()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/html/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['operator_5b_5d',['operator[]',['../class_q_list_object.html#a9b87308d291c9699a36849e5d8bfedd4',1,'QListObject::operator[]()'],['../class_q_map_thread_safety.html#a0cdacf0e7048c4ef7e0960a371c32668',1,'QMapThreadSafety::operator[]()']]], 4 | ['output',['output',['../class_c_s_t_l_compiler.html#a3cce5a503e81c5de099859fe0ae1c386',1,'CSTLCompiler']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/html/search/all_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['paramdecode',['paramDecode',['../class_u_r_l_encoder.html#a8780e1a9f6186726c83776a5c3543b6e',1,'URLEncoder']]], 4 | ['paramencode',['paramEncode',['../class_u_r_l_encoder.html#a1621d8a57c2fd83dabce790a8eeef976',1,'URLEncoder']]], 5 | ['properties',['Properties',['../class_properties.html',1,'Properties'],['../class_properties.html#a8ec1c6bfb9eb2da106cffba3a3d5c18e',1,'Properties::Properties()']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/html/search/all_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['remove',['remove',['../class_q_list_object.html#af6bc1883142f976bfd3e82c9d0c030bb',1,'QListObject::remove()'],['../class_q_map_thread_safety.html#a91e703ad03572023876108c2b7bc3540',1,'QMapThreadSafety::remove()']]], 4 | ['removeattribute',['removeAttribute',['../class_session.html#a7fd8e74f40cb93cb23cb9a434c338717',1,'Session']]], 5 | ['request',['Request',['../class_request.html',1,'Request'],['../class_request.html#a5dbe3045d76139502b0c0db5c67ea900',1,'Request::Request()']]], 6 | ['requestdispatcher',['RequestDispatcher',['../class_request_dispatcher.html',1,'RequestDispatcher'],['../class_request_dispatcher.html#a3251b6940f8b27a889b52617853338a0',1,'RequestDispatcher::RequestDispatcher()']]], 7 | ['response',['Response',['../class_response.html',1,'']]], 8 | ['run',['run',['../class_http_read_request.html#a8db91de80ce8e83a3b89758a22eec5c3',1,'HttpReadRequest']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /documentation/html/search/all_f.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['the_20c_2b_2b_20web_20framework',['The C++ Web Framework',['../index.html',1,'']]], 4 | ['todouble',['toDouble',['../class_variant.html#a17e4fd1648eb98fdc0a68302c392a216',1,'Variant']]], 5 | ['toint',['toInt',['../class_variant.html#a832bfdf3d791497b776c67b322fec871',1,'Variant']]], 6 | ['tojson',['toJson',['../class_sql_query.html#a4f12c62fa99bb2f5738b54e5cbefa0f9',1,'SqlQuery']]], 7 | ['tolonglong',['toLongLong',['../class_variant.html#a4181b7ff9d27ae4936a6e91c9a9d7e26',1,'Variant']]], 8 | ['tostring',['toString',['../class_variant.html#a40530eedbdc0f3bad04df67febbc09de',1,'Variant']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /documentation/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['configuration',['Configuration',['../class_configuration.html',1,'']]], 4 | ['controller',['Controller',['../class_controller.html',1,'']]], 5 | ['cppwebapplication',['CppWebApplication',['../class_cpp_web_application.html',1,'']]], 6 | ['cppwebcontroller',['CppWebController',['../class_cpp_web_controller.html',1,'']]], 7 | ['cppwebserver',['CppWebServer',['../class_cpp_web_server.html',1,'']]], 8 | ['cstlcompiler',['CSTLCompiler',['../class_c_s_t_l_compiler.html',1,'']]], 9 | ['cstlcompilerattributes',['CSTLCompilerAttributes',['../class_c_s_t_l_compiler_attributes.html',1,'']]], 10 | ['cstlcompilerfor',['CSTLCompilerFor',['../class_c_s_t_l_compiler_for.html',1,'']]], 11 | ['cstlcompilerif',['CSTLCompilerIf',['../class_c_s_t_l_compiler_if.html',1,'']]], 12 | ['cstlcompilerimport',['CSTLCompilerImport',['../class_c_s_t_l_compiler_import.html',1,'']]], 13 | ['cstlcompilerobject',['CSTLCompilerObject',['../class_c_s_t_l_compiler_object.html',1,'']]] 14 | ]; 15 | -------------------------------------------------------------------------------- /documentation/html/search/classes_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['filemanager',['FileManager',['../class_file_manager.html',1,'']]], 4 | ['filter',['Filter',['../class_filter.html',1,'']]], 5 | ['filterchain',['FilterChain',['../class_filter_chain.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/html/search/classes_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['httpparser',['HttpParser',['../class_http_parser.html',1,'']]], 4 | ['httpreadrequest',['HttpReadRequest',['../class_http_read_request.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/html/search/classes_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['metaclassparser',['MetaClassParser',['../class_meta_class_parser.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/html/search/classes_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['properties',['Properties',['../class_properties.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/html/search/classes_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['qlistobject',['QListObject',['../class_q_list_object.html',1,'']]], 4 | ['qmapthreadsafety',['QMapThreadSafety',['../class_q_map_thread_safety.html',1,'']]], 5 | ['qmapthreadsafety_3c_20qstring_2c_20controller_20_2a_3e',['QMapThreadSafety< QString, Controller *>',['../class_q_map_thread_safety.html',1,'']]], 6 | ['qmapthreadsafety_3c_20qstring_2c_20qobject_20_2a_3e',['QMapThreadSafety< QString, QObject *>',['../class_q_map_thread_safety.html',1,'']]], 7 | ['qmapthreadsafety_3c_20qstring_2c_20session_20_2a_3e',['QMapThreadSafety< QString, Session *>',['../class_q_map_thread_safety.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /documentation/html/search/classes_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['request',['Request',['../class_request.html',1,'']]], 4 | ['requestdispatcher',['RequestDispatcher',['../class_request_dispatcher.html',1,'']]], 5 | ['response',['Response',['../class_response.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/html/search/classes_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['session',['Session',['../class_session.html',1,'']]], 4 | ['sqldatabasestorage',['SqlDatabaseStorage',['../class_sql_database_storage.html',1,'']]], 5 | ['sqlquery',['SqlQuery',['../class_sql_query.html',1,'']]], 6 | ['sslloader',['SslLoader',['../class_ssl_loader.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /documentation/html/search/classes_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['urlencoder',['URLEncoder',['../class_u_r_l_encoder.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/html/search/classes_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['variant',['Variant',['../class_variant.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/html/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/search/close.png -------------------------------------------------------------------------------- /documentation/html/search/functions_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['add',['add',['../class_q_list_object.html#ad5e960eabd3e9b7d49228ea7549a9bd7',1,'QListObject::add(QObject *object)'],['../class_q_list_object.html#a8114f712189da4ae507ffb4a12eec2f3',1,'QListObject::add(const std::initializer_list< QObject *> &objects)']]], 4 | ['addattribute',['addAttribute',['../class_request.html#ad856d106a54dffed5e478858cdaa7618',1,'Request::addAttribute(const std::initializer_list< QPair< QString, QObject *>> &value) noexcept'],['../class_request.html#afe81be45f2fffc0e4baf2830278b8c94',1,'Request::addAttribute(const QString &name, QObject *value) noexcept'],['../class_session.html#afe6cfc02c901d3f27924107067f83189',1,'Session::addAttribute()']]], 5 | ['addcontroller',['addController',['../class_cpp_web_application.html#ab4f105dee5ddd0cb7c6c93917057e850',1,'CppWebApplication::addController()'],['../class_cpp_web_server.html#a3982d41728fd3237c42dd6dabbf1efb6',1,'CppWebServer::addController()']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/html/search/functions_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['begin',['begin',['../class_q_map_thread_safety.html#ac197a5375913e4ac19910b9bc4191a95',1,'QMapThreadSafety']]], 4 | ['bodytojsonarray',['bodyToJsonArray',['../class_request.html#a933c1581ec12d55a0b307c4060d5e127',1,'Request']]], 5 | ['bodytojsonobject',['bodyToJsonObject',['../class_request.html#acb4c1802fbd8cf14183c231ebb586288',1,'Request']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/html/search/functions_10.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['updatefromjson',['updateFromJson',['../class_sql_query.html#a57821078a46629590e01e3645af13edf',1,'SqlQuery']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/html/search/functions_11.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['validate',['validate',['../class_session.html#a0d4d1f80fdc47692172b3d3e2175df86',1,'Session']]], 4 | ['variant',['Variant',['../class_variant.html#a594b84b7c7a7e997aac3354bbdaa2d97',1,'Variant::Variant()=default'],['../class_variant.html#a1015564e64eb9bc9ce894fb1f98b6e36',1,'Variant::Variant(int value)'],['../class_variant.html#a7e7d9a46e166e059ce75b76b92b11457',1,'Variant::Variant(double value)'],['../class_variant.html#a6f86cea152e761f48700e41f210fe251',1,'Variant::Variant(qlonglong value)'],['../class_variant.html#a2a2d8b7cc035142a795f86d481adde0c',1,'Variant::Variant(const QString &value)'],['../class_variant.html#af11a005d444e0879b6a479bca786b19e',1,'Variant::Variant(const QByteArray &value)']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/html/search/functions_12.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_7econtroller',['~Controller',['../class_controller.html#a867c1b386aa6e63d986a01ddaeccea5a',1,'Controller']]], 4 | ['_7ecppwebapplication',['~CppWebApplication',['../class_cpp_web_application.html#a96a7655a25d2e35ed545cdb7b8d81cc5',1,'CppWebApplication']]], 5 | ['_7ecppwebserver',['~CppWebServer',['../class_cpp_web_server.html#a6b9d6874d16f6491c511fb4b8793a5f8',1,'CppWebServer']]], 6 | ['_7efilter',['~Filter',['../class_filter.html#aa37dc017d133404b3a326f363ce36b8a',1,'Filter']]], 7 | ['_7ehttpreadrequest',['~HttpReadRequest',['../class_http_read_request.html#a876bcf62d5428d982c5af6f35e59b963',1,'HttpReadRequest']]], 8 | ['_7eqlistobject',['~QListObject',['../class_q_list_object.html#a01e06b1d249cf0dbe92b826fed0e7b76',1,'QListObject']]], 9 | ['_7erequest',['~Request',['../class_request.html#ac6936b15e3d926bc4cc208357c4100df',1,'Request']]], 10 | ['_7erequestdispatcher',['~RequestDispatcher',['../class_request_dispatcher.html#a1b09805ab31a0f96d9823a2bf9de3771',1,'RequestDispatcher']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /documentation/html/search/functions_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['encode',['encode',['../class_u_r_l_encoder.html#ad30f9c19d4629f268d54983d891db714',1,'URLEncoder']]], 4 | ['end',['end',['../class_q_map_thread_safety.html#a64a700a04a692176f00e119500dd1b23',1,'QMapThreadSafety']]], 5 | ['exec',['exec',['../class_sql_query.html#a2e52ed76e3683d7684fd792bec0b9a09',1,'SqlQuery::exec()'],['../class_sql_query.html#a5fa16018f76ee798660343bc5fabe8a0',1,'SqlQuery::exec(const QString &query)']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/html/search/functions_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['fillqobject',['fillQObject',['../class_request.html#a934d83fe6fe62aba36a625b6edad8d65',1,'Request']]], 4 | ['filterchain',['FilterChain',['../class_filter_chain.html#a9d506944c4a8d387aae3c7b0aa7c6ac7',1,'FilterChain']]], 5 | ['forward',['forward',['../class_request_dispatcher.html#a6416fc9441670d1de84b3c8262d13220',1,'RequestDispatcher']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/html/search/functions_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['httpparser',['HttpParser',['../class_http_parser.html#a91e6c1876337b53694347476f277d1a2',1,'HttpParser']]], 4 | ['httpreadrequest',['HttpReadRequest',['../class_http_read_request.html#a1b3515d60b21be64bbb3afb7b5b03dcd',1,'HttpReadRequest']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/html/search/functions_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['metaclassparser',['MetaClassParser',['../class_meta_class_parser.html#ae3df53e78d823b2edaa38fe6184c9e01',1,'MetaClassParser']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/html/search/functions_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['operator_5b_5d',['operator[]',['../class_q_list_object.html#a9b87308d291c9699a36849e5d8bfedd4',1,'QListObject::operator[]()'],['../class_q_map_thread_safety.html#a0cdacf0e7048c4ef7e0960a371c32668',1,'QMapThreadSafety::operator[]()']]], 4 | ['output',['output',['../class_c_s_t_l_compiler.html#a3cce5a503e81c5de099859fe0ae1c386',1,'CSTLCompiler']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /documentation/html/search/functions_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['paramdecode',['paramDecode',['../class_u_r_l_encoder.html#a8780e1a9f6186726c83776a5c3543b6e',1,'URLEncoder']]], 4 | ['paramencode',['paramEncode',['../class_u_r_l_encoder.html#a1621d8a57c2fd83dabce790a8eeef976',1,'URLEncoder']]], 5 | ['properties',['Properties',['../class_properties.html#a8ec1c6bfb9eb2da106cffba3a3d5c18e',1,'Properties']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /documentation/html/search/functions_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['qlistobject',['QListObject',['../class_q_list_object.html#a035ee9dc9f035443995b9419d32b07da',1,'QListObject::QListObject(QObject *parent=0)'],['../class_q_list_object.html#acc9db03436b596a2f274b01a81e8931c',1,'QListObject::QListObject(QObject *parent, const std::initializer_list< QObject *> &objects)'],['../class_q_list_object.html#af05889c002163fc36f5eaf12b88363fd',1,'QListObject::QListObject(const std::initializer_list< QObject *> &objects)']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/html/search/functions_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['remove',['remove',['../class_q_list_object.html#af6bc1883142f976bfd3e82c9d0c030bb',1,'QListObject::remove()'],['../class_q_map_thread_safety.html#a91e703ad03572023876108c2b7bc3540',1,'QMapThreadSafety::remove()']]], 4 | ['removeattribute',['removeAttribute',['../class_session.html#a7fd8e74f40cb93cb23cb9a434c338717',1,'Session']]], 5 | ['request',['Request',['../class_request.html#a5dbe3045d76139502b0c0db5c67ea900',1,'Request']]], 6 | ['requestdispatcher',['RequestDispatcher',['../class_request_dispatcher.html#a3251b6940f8b27a889b52617853338a0',1,'RequestDispatcher']]], 7 | ['run',['run',['../class_http_read_request.html#a8db91de80ce8e83a3b89758a22eec5c3',1,'HttpReadRequest']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /documentation/html/search/functions_f.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['todouble',['toDouble',['../class_variant.html#a17e4fd1648eb98fdc0a68302c392a216',1,'Variant']]], 4 | ['toint',['toInt',['../class_variant.html#a832bfdf3d791497b776c67b322fec871',1,'Variant']]], 5 | ['tojson',['toJson',['../class_sql_query.html#a4f12c62fa99bb2f5738b54e5cbefa0f9',1,'SqlQuery']]], 6 | ['tolonglong',['toLongLong',['../class_variant.html#a4181b7ff9d27ae4936a6e91c9a9d7e26',1,'Variant']]], 7 | ['tostring',['toString',['../class_variant.html#a40530eedbdc0f3bad04df67febbc09de',1,'Variant']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /documentation/html/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/search/mag_sel.png -------------------------------------------------------------------------------- /documentation/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/html/search/pages_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['the_20c_2b_2b_20web_20framework',['The C++ Web Framework',['../index.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /documentation/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/search/search_l.png -------------------------------------------------------------------------------- /documentation/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/search/search_m.png -------------------------------------------------------------------------------- /documentation/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/search/search_r.png -------------------------------------------------------------------------------- /documentation/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "abcdefghimopqrstuv~", 4 | 1: "cfhmpqrsuv", 5 | 2: "abcdefghimopqrstuv~", 6 | 3: "t" 7 | }; 8 | 9 | var indexSectionNames = 10 | { 11 | 0: "all", 12 | 1: "classes", 13 | 2: "functions", 14 | 3: "pages" 15 | }; 16 | 17 | var indexSectionLabels = 18 | { 19 | 0: "All", 20 | 1: "Classes", 21 | 2: "Functions", 22 | 3: "Pages" 23 | }; 24 | 25 | -------------------------------------------------------------------------------- /documentation/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/splitbar.png -------------------------------------------------------------------------------- /documentation/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/sync_off.png -------------------------------------------------------------------------------- /documentation/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/sync_on.png -------------------------------------------------------------------------------- /documentation/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/tab_a.png -------------------------------------------------------------------------------- /documentation/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/tab_b.png -------------------------------------------------------------------------------- /documentation/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/tab_h.png -------------------------------------------------------------------------------- /documentation/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/html/tab_s.png -------------------------------------------------------------------------------- /documentation/latex/Makefile: -------------------------------------------------------------------------------- 1 | all: refman.pdf 2 | 3 | pdf: refman.pdf 4 | 5 | refman.pdf: clean refman.tex 6 | pdflatex refman 7 | makeindex refman.idx 8 | pdflatex refman 9 | latex_count=8 ; \ 10 | while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ 11 | do \ 12 | echo "Rerunning latex...." ;\ 13 | pdflatex refman ;\ 14 | latex_count=`expr $$latex_count - 1` ;\ 15 | done 16 | makeindex refman.idx 17 | pdflatex refman 18 | 19 | 20 | clean: 21 | rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf 22 | -------------------------------------------------------------------------------- /documentation/latex/class_c_s_t_l_compiler_object__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "CSTLCompilerObject" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="CSTLCompilerObject",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid"]; 7 | Node1 [label="QObject",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/latex/class_c_s_t_l_compiler_object__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | c658b61cfcee64e23a23c0435a397a5e -------------------------------------------------------------------------------- /documentation/latex/class_controller.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{class_controller}{}\section{Controller Class Reference} 2 | \label{class_controller}\index{Controller@{Controller}} 3 | 4 | 5 | The \hyperlink{class_controller}{Controller} class is responsable to attend a request from a specific url. You will need to create a derived class from \hyperlink{class_controller}{Controller} and then, reconstruct the desired method to response a request, after this, you will need mapping the url to the new controller that you created, you need to do it into the Configure\+Cpp\+Web\+Server using the method add\+Url\+Controller. 6 | 7 | 8 | 9 | 10 | {\ttfamily \#include $<$controller.\+h$>$} 11 | 12 | 13 | 14 | Inheritance diagram for Controller\+: 15 | -------------------------------------------------------------------------------- /documentation/latex/class_controller__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "Controller" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="Controller",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node0 -> Node1 [dir="back",color="midnightblue",fontsize="10",style="solid"]; 7 | Node1 [label="CppWebController",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_cpp_web_controller.html",tooltip="This class is responsible for displaying the standard pages of C++ Web Framework: index..."]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/latex/class_controller__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 2a10460f75ef5cfb9982b676f74d14be -------------------------------------------------------------------------------- /documentation/latex/class_cpp_web_controller__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "CppWebController" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="CppWebController",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid"]; 7 | Node1 [label="Controller",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$class_controller.html",tooltip="The Controller class is responsable to attend a request from a specific url. You will need to create ..."]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/latex/class_cpp_web_controller__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | b825e066ac6a75c2f41e9304547acef7 -------------------------------------------------------------------------------- /documentation/latex/class_cpp_web_server__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "CppWebServer" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="CppWebServer",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid"]; 7 | Node1 [label="QTcpServer",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/latex/class_cpp_web_server__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 0c43e4ab0dab15b39b87da3f98020f65 -------------------------------------------------------------------------------- /documentation/latex/class_http_read_request__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "HttpReadRequest" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="HttpReadRequest",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid"]; 7 | Node1 [label="QRunnable",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/latex/class_http_read_request__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 8b2293bf3de92fb7069642ac3a7c1999 -------------------------------------------------------------------------------- /documentation/latex/class_q_list_object__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "QListObject" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="QListObject",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid"]; 7 | Node1 [label="QObject",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/latex/class_q_list_object__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 8fbae0ec559800cee2b40970a2d4186a -------------------------------------------------------------------------------- /documentation/latex/class_request__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "Request" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="Request",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid"]; 7 | Node1 [label="QObject",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/latex/class_request__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | b5949d8856d5afdae0aeb250cd833b1a -------------------------------------------------------------------------------- /documentation/latex/class_sql_query__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "SqlQuery" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="SqlQuery",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid"]; 7 | Node1 [label="QSqlQuery",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/latex/class_sql_query__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 949bbc7d08b782b779f78ac3a2309ec7 -------------------------------------------------------------------------------- /documentation/latex/class_variant__inherit__graph.dot: -------------------------------------------------------------------------------- 1 | digraph "Variant" 2 | { 3 | edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"]; 4 | node [fontname="Helvetica",fontsize="10",shape=record]; 5 | Node0 [label="Variant",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black"]; 6 | Node1 -> Node0 [dir="back",color="midnightblue",fontsize="10",style="solid"]; 7 | Node1 [label="QObject",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"]; 8 | } 9 | -------------------------------------------------------------------------------- /documentation/latex/class_variant__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | bef12b347188ca0cb2b9fe321b43b5cf -------------------------------------------------------------------------------- /documentation/latex/dir_3bacee99d34edff13677baafd8c3a47f.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{dir_3bacee99d34edff13677baafd8c3a47f}{}\section{/home/herik/\+C\+P\+P\+Web\+Framework/\+C\+P\+P\+Web\+Framework/cwf Directory Reference} 2 | \label{dir_3bacee99d34edff13677baafd8c3a47f}\index{/home/herik/\+C\+P\+P\+Web\+Framework/\+C\+P\+P\+Web\+Framework/cwf Directory Reference@{/home/herik/\+C\+P\+P\+Web\+Framework/\+C\+P\+P\+Web\+Framework/cwf Directory Reference}} 3 | -------------------------------------------------------------------------------- /documentation/latex/dir_b2448bd9c6b97c57da490a507d179d6c.tex: -------------------------------------------------------------------------------- 1 | \hypertarget{dir_b2448bd9c6b97c57da490a507d179d6c}{}\section{/home/herik/\+C\+P\+P\+Web\+Framework/\+C\+P\+P\+Web\+Framework Directory Reference} 2 | \label{dir_b2448bd9c6b97c57da490a507d179d6c}\index{/home/herik/\+C\+P\+P\+Web\+Framework/\+C\+P\+P\+Web\+Framework Directory Reference@{/home/herik/\+C\+P\+P\+Web\+Framework/\+C\+P\+P\+Web\+Framework Directory Reference}} 3 | \subsection*{Directories} 4 | \begin{DoxyCompactItemize} 5 | \end{DoxyCompactItemize} 6 | -------------------------------------------------------------------------------- /documentation/latex/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/latex/logo.png -------------------------------------------------------------------------------- /documentation/logo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/documentation/logo/logo.png -------------------------------------------------------------------------------- /environment.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:16.04 2 | 3 | LABEL maintainer="imacellone " 4 | 5 | RUN apt update 6 | RUN apt install build-essential -y 7 | RUN apt install qt5-default -y 8 | 9 | COPY ./CPPWebFramework /CPPWebFramework 10 | 11 | WORKDIR /CPPWebFramework 12 | 13 | RUN qmake CPPWebFramework.pro 14 | RUN make -j8 15 | RUN make install -------------------------------------------------------------------------------- /examples/CRUDRestWebService/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/CRUDRestWebService/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/CRUDRestWebService/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/CRUDRestWebService/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CRUDRestWebService/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/CRUDRestWebService/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CRUDRestWebService/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/CRUDRestWebService/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CRUDRestWebService/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/CSTLForExample/controllers/userscontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef USERSCONTROLLER_H 9 | #define USERSCONTROLLER_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | #include "cwf/qlistobject.h" 15 | #include "model/user.h" 16 | 17 | class UsersController : public CWF::Controller 18 | { 19 | public: 20 | void doGet(CWF::Request &request, CWF::Response &response) const override; 21 | }; 22 | 23 | #endif // USERSCONTROLLER_H 24 | -------------------------------------------------------------------------------- /examples/CSTLForExample/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | #include 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/CSTLForExample/server/"); 14 | server.addController("/users"); 15 | return server.start(); 16 | } 17 | -------------------------------------------------------------------------------- /examples/CSTLForExample/model/user.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "user.h" 9 | 10 | User::User(QObject *parent) : QObject(parent), id(0), gender('M') 11 | { 12 | 13 | } 14 | 15 | int User::getId() const 16 | { 17 | return id; 18 | } 19 | 20 | void User::setId(int value) 21 | { 22 | id = value; 23 | } 24 | 25 | char User::getGender() const 26 | { 27 | return gender; 28 | } 29 | 30 | void User::setGender(char value) 31 | { 32 | gender = value; 33 | } 34 | 35 | QString User::getName() const 36 | { 37 | return name; 38 | } 39 | 40 | void User::setName(const QString &value) 41 | { 42 | name = value; 43 | } 44 | 45 | QString User::getAddress() const 46 | { 47 | return address; 48 | } 49 | 50 | void User::setAddress(const QString &value) 51 | { 52 | address = value; 53 | } 54 | -------------------------------------------------------------------------------- /examples/CSTLForExample/model/user.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef USER_H 9 | #define USER_H 10 | 11 | #include 12 | 13 | class User : public QObject 14 | { 15 | Q_OBJECT 16 | private: 17 | int id; 18 | char gender; 19 | QString name; 20 | QString address; 21 | public: 22 | explicit User(QObject *parent = 0); 23 | public slots: 24 | int getId() const; 25 | void setId(int value); 26 | char getGender() const; 27 | void setGender(char value); 28 | QString getName() const; 29 | void setName(const QString &value); 30 | QString getAddress() const; 31 | void setAddress(const QString &value); 32 | }; 33 | 34 | #endif // USER_H 35 | -------------------------------------------------------------------------------- /examples/CSTLForExample/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/CSTLForExample/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/CSTLForExample/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/CSTLForExample/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLForExample/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/CSTLForExample/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLForExample/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/CSTLForExample/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLForExample/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/CSTLIfExample/controllers/usercontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef USERSCONTROLLER_H 9 | #define USERSCONTROLLER_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | #include "cwf/qlistobject.h" 15 | #include "model/user.h" 16 | 17 | class UsersController : public CWF::Controller 18 | { 19 | public: 20 | void doGet(CWF::Request &request, CWF::Response &response) const override; 21 | }; 22 | 23 | #endif // USERSCONTROLLER_H 24 | -------------------------------------------------------------------------------- /examples/CSTLIfExample/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | #include 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/CSTLIfExample/server/"); 14 | server.addController("/users"); 15 | return server.start(); 16 | } 17 | -------------------------------------------------------------------------------- /examples/CSTLIfExample/model/user.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "user.h" 9 | 10 | User::User(QObject *parent) : QObject(parent), id(0), gender('M') 11 | { 12 | 13 | } 14 | 15 | int User::getId() const 16 | { 17 | return id; 18 | } 19 | 20 | void User::setId(int value) 21 | { 22 | id = value; 23 | } 24 | 25 | char User::getGender() const 26 | { 27 | return gender; 28 | } 29 | 30 | void User::setGender(char value) 31 | { 32 | gender = value; 33 | } 34 | 35 | QString User::getName() const 36 | { 37 | return name; 38 | } 39 | 40 | void User::setName(const QString &value) 41 | { 42 | name = value; 43 | } 44 | 45 | QString User::getAddress() const 46 | { 47 | return address; 48 | } 49 | 50 | void User::setAddress(const QString &value) 51 | { 52 | address = value; 53 | } 54 | -------------------------------------------------------------------------------- /examples/CSTLIfExample/model/user.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | 9 | #ifndef USER_H 10 | #define USER_H 11 | 12 | #include 13 | 14 | class User : public QObject 15 | { 16 | Q_OBJECT 17 | private: 18 | int id; 19 | char gender; 20 | QString name; 21 | QString address; 22 | public: 23 | explicit User(QObject *parent = 0); 24 | public slots: 25 | int getId() const; 26 | void setId(int value); 27 | char getGender() const; 28 | void setGender(char value); 29 | QString getName() const; 30 | void setName(const QString &value); 31 | QString getAddress() const; 32 | void setAddress(const QString &value); 33 | }; 34 | 35 | #endif // USER_H 36 | -------------------------------------------------------------------------------- /examples/CSTLIfExample/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/CSTLIfExample/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/CSTLIfExample/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/CSTLIfExample/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLIfExample/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/CSTLIfExample/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLIfExample/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/CSTLIfExample/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLIfExample/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/CSTLImportExample/controllers/homecontroller.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "homecontroller.h" 9 | 10 | void HomeController::doGet(CWF::Request &request, CWF::Response &response) const 11 | { 12 | Q_UNUSED(response) 13 | request.getRequestDispatcher("/pages/home.view").forward(request, response); 14 | } 15 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/controllers/homecontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef HOMECONTROLLER_H 9 | #define HOMECONTROLLER_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | 15 | class HomeController : public CWF::Controller 16 | { 17 | public: 18 | void doGet(CWF::Request &request, CWF::Response &response) const override; 19 | }; 20 | 21 | #endif // HOMECONTROLLER_H 22 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/controllers/userscontroller.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "userscontroller.h" 9 | 10 | void UsersController::doGet(CWF::Request &request, CWF::Response &response) const 11 | { 12 | User user; 13 | user.setId(1); 14 | user.setGender('M'); 15 | user.setName("Herik Lima"); 16 | user.setAddress("350 5th Ave, New York, NY 10118, EUA"); 17 | 18 | request.addAttribute("user", &user); 19 | request.getRequestDispatcher("/pages/user.view").forward(request, response); 20 | } 21 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/controllers/userscontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef USERSCONTROLLER_H 9 | #define USERSCONTROLLER_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | #include "model/user.h" 15 | 16 | class UsersController : public CWF::Controller 17 | { 18 | public: 19 | void doGet(CWF::Request &request, CWF::Response &response) const override; 20 | }; 21 | 22 | #endif // USERSCONTROLLER_H 23 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/CSTLImportExample/server/"); 16 | 17 | server.addController("/user"); 18 | server.addController("/home"); 19 | 20 | return server.start(); 21 | } 22 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/model/user.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef USER_H 9 | #define USER_H 10 | 11 | #include 12 | 13 | class User : public QObject 14 | { 15 | Q_OBJECT 16 | private: 17 | int id; 18 | char gender; 19 | QString name; 20 | QString address; 21 | public: 22 | explicit User(QObject *parent = 0); 23 | public slots: 24 | int getId() const; 25 | void setId(int value); 26 | char getGender() const; 27 | void setGender(char value); 28 | QString getName() const; 29 | void setName(const QString &value); 30 | QString getAddress() const; 31 | void setAddress(const QString &value); 32 | }; 33 | 34 | #endif // USER_H 35 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLImportExample/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/CSTLImportExample/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLImportExample/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/CSTLImportExample/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLImportExample/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/CSTLImportExample/server/pages/css/menu.css: -------------------------------------------------------------------------------- 1 | ul { 2 | list-style-type: none; 3 | margin: 0; 4 | padding: 0; 5 | overflow: hidden; 6 | background-color: #333; 7 | } 8 | 9 | li { 10 | float: left; 11 | } 12 | 13 | li a { 14 | display: block; 15 | color: white; 16 | text-align: center; 17 | padding: 14px 16px; 18 | text-decoration: none; 19 | } 20 | 21 | li a:hover:not(.active) { 22 | background-color: #111; 23 | } 24 | 25 | .active { 26 | background-color: #4CAF50; 27 | } 28 | 29 | #footer { 30 | position:absolute; 31 | bottom:0; 32 | width:99%; 33 | height:70px; 34 | background-color: #4CAF50; 35 | } 36 | 37 | p { 38 | color: white; 39 | } 40 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/server/pages/footer.html: -------------------------------------------------------------------------------- 1 |
7 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/server/pages/header.html: -------------------------------------------------------------------------------- 1 | 2 | 7 |

8 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/server/pages/home.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | Home 4 | 5 | 6 | 7 | 8 |
9 |

10 | C++ Web Framework 11 |

12 |
13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /examples/CSTLImportExample/server/pages/user.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | User 4 | 5 | 6 | 7 | 8 |
9 |
10 |
11 |
12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /examples/CSTLOutExample/controllers/usercontroller.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "usercontroller.h" 9 | 10 | void UserController::doGet(CWF::Request &request, CWF::Response &response) const 11 | { 12 | User user; 13 | user.setId(1); 14 | user.setGender('M'); 15 | user.setName("Herik Lima"); 16 | user.setAddress("350 5th Ave, New York, NY 10118, EUA"); 17 | 18 | request.addAttribute("user", &user); 19 | request.getRequestDispatcher("/pages/user.view").forward(request, response); 20 | } 21 | -------------------------------------------------------------------------------- /examples/CSTLOutExample/controllers/usercontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef USERCONTROLLER_H 9 | #define USERCONTROLLER_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | #include "model/user.h" 15 | 16 | class UserController : public CWF::Controller 17 | { 18 | public: 19 | void doGet(CWF::Request &request, CWF::Response &response) const override; 20 | }; 21 | 22 | #endif // USERCONTROLLER_H 23 | -------------------------------------------------------------------------------- /examples/CSTLOutExample/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | #include 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/CSTLOutExample/server/"); 14 | server.addController("/user"); 15 | return server.start(); 16 | } 17 | -------------------------------------------------------------------------------- /examples/CSTLOutExample/model/user.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "user.h" 9 | 10 | User::User(QObject *parent) : QObject(parent), id(0), gender('M') 11 | { 12 | 13 | } 14 | 15 | int User::getId() const 16 | { 17 | return id; 18 | } 19 | 20 | void User::setId(int value) 21 | { 22 | id = value; 23 | } 24 | 25 | char User::getGender() const 26 | { 27 | return gender; 28 | } 29 | 30 | void User::setGender(char value) 31 | { 32 | gender = value; 33 | } 34 | 35 | QString User::getName() const 36 | { 37 | return name; 38 | } 39 | 40 | void User::setName(const QString &value) 41 | { 42 | name = value; 43 | } 44 | 45 | QString User::getAddress() const 46 | { 47 | return address; 48 | } 49 | 50 | void User::setAddress(const QString &value) 51 | { 52 | address = value; 53 | } 54 | -------------------------------------------------------------------------------- /examples/CSTLOutExample/model/user.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef USER_H 9 | #define USER_H 10 | 11 | #include 12 | 13 | class User : public QObject 14 | { 15 | Q_OBJECT 16 | private: 17 | int id; 18 | char gender; 19 | QString name; 20 | QString address; 21 | public: 22 | explicit User(QObject *parent = 0); 23 | public slots: 24 | int getId() const; 25 | void setId(int value); 26 | char getGender() const; 27 | void setGender(char value); 28 | QString getName() const; 29 | void setName(const QString &value); 30 | QString getAddress() const; 31 | void setAddress(const QString &value); 32 | }; 33 | 34 | #endif // USER_H 35 | -------------------------------------------------------------------------------- /examples/CSTLOutExample/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/CSTLOutExample/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/CSTLOutExample/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/CSTLOutExample/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLOutExample/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/CSTLOutExample/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLOutExample/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/CSTLOutExample/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/CSTLOutExample/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/CSTLOutExample/server/pages/user.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | User 4 | 5 | 6 |
7 |
8 |
9 |
10 | 11 | 12 | -------------------------------------------------------------------------------- /examples/FillObjectBMI/model/usermodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef USERMODEL_H 9 | #define USERMODEL_H 10 | 11 | #include 12 | #include 13 | 14 | class UserModel : public QObject 15 | { 16 | Q_OBJECT 17 | private: 18 | QString name; 19 | QString category; 20 | double mass = 0; 21 | double height = 0; 22 | double bmi = 0; 23 | public: 24 | explicit UserModel(QObject *parent = 0); 25 | public slots: 26 | QString getName() const; 27 | QString getCategory() const; 28 | void setName(const QString &value); 29 | double getMass() const; 30 | void setMass(double value); 31 | double getHeight() const; 32 | void setHeight(double value); 33 | double getBmi(); 34 | }; 35 | 36 | #endif // USERMODEL_H 37 | -------------------------------------------------------------------------------- /examples/FillObjectBMI/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/FillObjectBMI/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/FillObjectBMI/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/FillObjectBMI/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/FillObjectBMI/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/FillObjectBMI/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/FillObjectBMI/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/FillObjectBMI/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/FillObjectBMI/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/FillObjectBMI/server/pages/bmi.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Body Mass Index (BMI) 4 | 5 | 6 |
7 | Name

8 | Mass(KG)

9 | Height(m)


10 | 11 |
12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/FillObjectBMI/server/pages/bmiresults.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | Body Mass Index (BMI) - Results 4 | 5 | 6 | Name:
7 | Mass(KG):
8 | Height(m):
9 | BMI:
10 | Category: 11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/Filters/controllers/indexcontroller.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "indexcontroller.h" 9 | #include "logincontroller.h" 10 | 11 | void IndexController::doGet(CWF::Request &request, CWF::Response &response) const 12 | { 13 | request.getRequestDispatcher("/pages/index.view").forward(request, response); 14 | } 15 | -------------------------------------------------------------------------------- /examples/Filters/controllers/indexcontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef INDEXCONTROLLER_H 9 | #define INDEXCONTROLLER_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | 15 | class IndexController : public CWF::Controller 16 | { 17 | public: 18 | void doGet(CWF::Request &request, CWF::Response &response) const override; 19 | }; 20 | 21 | #endif // INDEXCONTROLLER_H 22 | -------------------------------------------------------------------------------- /examples/Filters/controllers/logincontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef LOGINCONTROLLER_H 9 | #define LOGINCONTROLLER_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | #include "model/user.h" 15 | 16 | class LoginController : public CWF::Controller 17 | { 18 | public: 19 | void doGet(CWF::Request &request, CWF::Response &response) const override; 20 | void doPost(CWF::Request &request, CWF::Response &response) const override; 21 | }; 22 | 23 | #endif // LOGINCONTROLLER_H 24 | -------------------------------------------------------------------------------- /examples/Filters/filter/loginfilter.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef LOGINFILTER_H 9 | #define LOGINFILTER_H 10 | 11 | #include "cwf/filter.h" 12 | 13 | class LoginFilter : public CWF::Filter 14 | { 15 | public: 16 | void doFilter(CWF::Request &request, CWF::Response &response, CWF::FilterChain &chain); 17 | }; 18 | 19 | #endif // LOGINFILTER_H 20 | -------------------------------------------------------------------------------- /examples/Filters/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | LoginFilter filter; 16 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/Filters/server/", &filter); 17 | 18 | server.addController("/login"); 19 | server.addController("/index"); 20 | 21 | return server.start(); 22 | } 23 | -------------------------------------------------------------------------------- /examples/Filters/model/user.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "user.h" 9 | 10 | User::User(QObject *parent) : QObject(parent) 11 | { 12 | 13 | } 14 | 15 | QString User::getName() const 16 | { 17 | return name; 18 | } 19 | 20 | void User::setName(const QString &value) 21 | { 22 | name = value; 23 | } 24 | 25 | QString User::getPassword() const 26 | { 27 | return password; 28 | } 29 | 30 | void User::setPassword(const QString &value) 31 | { 32 | password = value; 33 | } 34 | -------------------------------------------------------------------------------- /examples/Filters/model/user.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef USER_H 9 | #define USER_H 10 | 11 | #include 12 | 13 | class User : public QObject 14 | { 15 | Q_OBJECT 16 | private: 17 | QString name; 18 | QString password; 19 | public: 20 | explicit User(QObject *parent = 0); 21 | public slots: 22 | QString getName() const; 23 | void setName(const QString &value); 24 | QString getPassword() const; 25 | void setPassword(const QString &value); 26 | }; 27 | 28 | #endif // USER_H 29 | -------------------------------------------------------------------------------- /examples/Filters/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/Filters/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/Filters/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/Filters/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/Filters/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/Filters/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/Filters/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/Filters/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/Filters/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/Filters/server/pages/index.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | Sessions - Index 4 | 5 | 6 |
7 |

8 | Welcome! 9 |

10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/Filters/server/pages/login.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | Sessions - Login 4 | 5 | 6 |
7 |
8 |


9 | Name:
10 | Password:

11 | 12 |
13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /examples/HelloMVC/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | #include 10 | 11 | class HelloController : public CWF::Controller 12 | { 13 | public: 14 | void doGet(CWF::Request &request, CWF::Response &response) const override 15 | { 16 | HelloModel model; 17 | request.addAttribute("model", &model); 18 | request.getRequestDispatcher("/pages/helloview.view").forward(request, response); 19 | } 20 | }; 21 | 22 | int main(int argc, char *argv[]) 23 | { 24 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/HelloMVC/server"); 25 | server.addController("/hello"); 26 | return server.start(); 27 | } 28 | -------------------------------------------------------------------------------- /examples/HelloMVC/model/hellomodel.h: -------------------------------------------------------------------------------- 1 | #ifndef HELLOMODEL_H 2 | #define HELLOMODEL_H 3 | 4 | #include 5 | 6 | class HelloModel : public QObject 7 | { 8 | Q_OBJECT 9 | public slots: 10 | QString greeting() const 11 | { 12 | return "Hello User!"; 13 | } 14 | }; 15 | 16 | #endif // HELLOMODEL_H 17 | -------------------------------------------------------------------------------- /examples/HelloMVC/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/HelloMVC/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/HelloMVC/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/HelloMVC/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloMVC/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/HelloMVC/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloMVC/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/HelloMVC/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloMVC/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/HelloMVC/server/pages/helloview.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/HelloWorld/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 3.1.1) 3 | project(HelloWorld) 4 | 5 | set(CMAKE_INCLUDE_CURRENT_DIR ON) 6 | set(CMAKE_AUTOMOC ON) 7 | 8 | find_package(Qt5Core REQUIRED REQUIRED) 9 | 10 | 11 | add_subdirectory(../../CPPWebFramework CPPWebFramework) 12 | include_directories(. 13 | ../../CPPWebFramework/ 14 | ${CMAKE_CURRENT_BINARY_DIR} 15 | ) 16 | 17 | 18 | add_executable(${PROJECT_NAME} main.cpp ) 19 | 20 | target_link_libraries(${PROJECT_NAME} Qt5::Core CPPWebFramework) 21 | -------------------------------------------------------------------------------- /examples/HelloWorld/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | 10 | class HelloWorldController : public CWF::Controller 11 | { 12 | public: 13 | void doGet(CWF::Request &request, CWF::Response &response) const override 14 | { 15 | Q_UNUSED(request) 16 | response.write("Hello World!"); 17 | } 18 | }; 19 | 20 | int main(int argc, char *argv[]) 21 | { 22 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/HelloWorld/server"); 23 | server.addController("/hello"); 24 | return server.start(); 25 | } 26 | -------------------------------------------------------------------------------- /examples/HelloWorld/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/HelloWorld/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/HelloWorld/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/HelloWorld/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloWorld/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/HelloWorld/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloWorld/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/HelloWorld/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloWorld/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/HelloWorldDocker/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | 10 | class HelloWorldController : public CWF::Controller 11 | { 12 | public: 13 | void doGet(CWF::Request &request, CWF::Response &response) const override 14 | { 15 | Q_UNUSED(request) 16 | response.write("Hello World!"); 17 | } 18 | }; 19 | 20 | int main(int argc, char *argv[]) 21 | { 22 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/HelloWorld/server"); 23 | server.addController("/hello"); 24 | return server.start(); 25 | } 26 | -------------------------------------------------------------------------------- /examples/HelloWorldDocker/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=0.0.0.0 3 | port=80 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/HelloWorldDocker/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/HelloWorldDocker/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/HelloWorldDocker/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloWorldDocker/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/HelloWorldDocker/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloWorldDocker/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/HelloWorldDocker/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloWorldDocker/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/HelloWorldFilter/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | 10 | class HelloWorldFilter : public CWF::Filter 11 | { 12 | const QByteArray url{"/hello"}; 13 | public: 14 | void doFilter(CWF::Request &request, CWF::Response &response, CWF::FilterChain &chain) override 15 | { 16 | if(request.getHttpParser().getUrl() == url) 17 | response.write("Hello World!"); 18 | else 19 | chain.doFilter(request, response); 20 | } 21 | }; 22 | 23 | int main(int argc, char *argv[]) 24 | { 25 | HelloWorldFilter filter; 26 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/HelloWorldFilter/server", &filter); 27 | return server.start(); 28 | } 29 | -------------------------------------------------------------------------------- /examples/HelloWorldFilter/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/HelloWorldFilter/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/HelloWorldFilter/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/HelloWorldFilter/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloWorldFilter/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/HelloWorldFilter/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloWorldFilter/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/HelloWorldFilter/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/HelloWorldFilter/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/ORM/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/ORM/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/ORM/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/ORM/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/ORM/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/ORM/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/ORM/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/ORM/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/ORM/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/RESTWebService/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/RESTWebService/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/RESTWebService/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/RESTWebService/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/RESTWebService/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/RESTWebService/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/RESTWebService/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/RESTWebService/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/RESTWebService/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/SaveFiles/controllers/savefilescontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef SAVEFILESCONTROLLER_H 9 | #define SAVEFILESCONTROLLER_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | 15 | class SaveFilesController : public CWF::Controller 16 | { 17 | public: 18 | void doGet(CWF::Request &request, CWF::Response &response) const override; 19 | void doPost(CWF::Request &request, CWF::Response &response) const override; 20 | }; 21 | 22 | #endif // SAVEFILESCONTROLLER_H 23 | -------------------------------------------------------------------------------- /examples/SaveFiles/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | #include 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/SaveFiles/server/"); 14 | 15 | server.addController("/savefiles"); 16 | 17 | return server.start(); 18 | } 19 | -------------------------------------------------------------------------------- /examples/SaveFiles/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/SaveFiles/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/SaveFiles/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/SaveFiles/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/SaveFiles/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/SaveFiles/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/SaveFiles/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/SaveFiles/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/SaveFiles/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/SaveFiles/server/pages/savefiles.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | Save Files 4 |
5 |
6 | 7 | 8 |
9 | 10 |
11 | 12 |
13 | 14 |
15 | 16 |
17 | 18 | 19 |
20 | 21 | -------------------------------------------------------------------------------- /examples/Sessions/controllers/indexcontroller.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "indexcontroller.h" 9 | #include "logincontroller.h" 10 | 11 | void IndexController::doGet(CWF::Request &request, CWF::Response &response) const 12 | { 13 | if(request.getSession().getAttribute("user") == nullptr || request.getSession().isExpired()) 14 | { 15 | LoginController().doGet(request, response); 16 | } 17 | else 18 | { 19 | request.getRequestDispatcher("/pages/index.view").forward(request, response); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /examples/Sessions/controllers/indexcontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef INDEXCONTROLLER_H 9 | #define INDEXCONTROLLER_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | 15 | class IndexController : public CWF::Controller 16 | { 17 | public: 18 | void doGet(CWF::Request &request, CWF::Response &response) const override; 19 | }; 20 | 21 | #endif // INDEXCONTROLLER_H 22 | -------------------------------------------------------------------------------- /examples/Sessions/controllers/logincontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef LOGINCONTROLLER_H 9 | #define LOGINCONTROLLER_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | #include "model/user.h" 15 | 16 | class LoginController : public CWF::Controller 17 | { 18 | public: 19 | void doGet(CWF::Request &request, CWF::Response &response) const override; 20 | void doPost(CWF::Request &request, CWF::Response &response) const override; 21 | }; 22 | 23 | #endif // LOGINCONTROLLER_H 24 | -------------------------------------------------------------------------------- /examples/Sessions/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | #include 10 | #include "cwf/cppwebapplication.h" 11 | 12 | int main(int argc, char *argv[]) 13 | { 14 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/Sessions/server"); 15 | 16 | server.addController("/login"); 17 | server.addController("/index"); 18 | 19 | return server.start(); 20 | } 21 | -------------------------------------------------------------------------------- /examples/Sessions/model/user.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "user.h" 9 | 10 | User::User(QObject *parent) : QObject(parent) 11 | { 12 | 13 | } 14 | 15 | QString User::getName() const 16 | { 17 | return name; 18 | } 19 | 20 | void User::setName(const QString &value) 21 | { 22 | name = value; 23 | } 24 | 25 | QString User::getPassword() const 26 | { 27 | return password; 28 | } 29 | 30 | void User::setPassword(const QString &value) 31 | { 32 | password = value; 33 | } 34 | -------------------------------------------------------------------------------- /examples/Sessions/model/user.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef USER_H 9 | #define USER_H 10 | 11 | #include 12 | 13 | class User : public QObject 14 | { 15 | Q_OBJECT 16 | private: 17 | QString name; 18 | QString password; 19 | public: 20 | explicit User(QObject *parent = 0); 21 | public slots: 22 | QString getName() const; 23 | void setName(const QString &value); 24 | QString getPassword() const; 25 | void setPassword(const QString &value); 26 | }; 27 | 28 | #endif // USER_H 29 | -------------------------------------------------------------------------------- /examples/Sessions/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/Sessions/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/Sessions/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/Sessions/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/Sessions/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/Sessions/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/Sessions/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/Sessions/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/Sessions/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/Sessions/server/pages/index.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | Sessions - Index 4 | 5 | 6 |
7 |

8 | Welcome! 9 |

10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /examples/Sessions/server/pages/login.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | Sessions - Login 4 | 5 | 6 |
7 |
8 |


9 | Name:
10 | Password:

11 | 12 |
13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /examples/ShowFile/controllers/showfilecontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef SHOWFILESERVLET_H 9 | #define SHOWFILESERVLET_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | 15 | class ShowFileController : public CWF::Controller 16 | { 17 | public: 18 | void doGet(CWF::Request &request, CWF::Response &response) const override; 19 | void doPost(CWF::Request &request, CWF::Response &response) const override; 20 | }; 21 | 22 | #endif // SHOWFILESERVLET_H 23 | -------------------------------------------------------------------------------- /examples/ShowFile/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | #include 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/ShowFile/server/"); 14 | 15 | server.addController("/showfile"); 16 | 17 | return server.start(); 18 | } 19 | -------------------------------------------------------------------------------- /examples/ShowFile/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/ShowFile/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/ShowFile/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/ShowFile/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/ShowFile/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/ShowFile/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/ShowFile/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/ShowFile/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/ShowFile/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/ShowFile/server/pages/showfile.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | Select a File 4 |
5 |
6 | 7 | 8 | 9 | 10 |
11 | 12 | -------------------------------------------------------------------------------- /examples/WebServices/controllers/bmicontroller.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include "bmicontroller.h" 9 | 10 | void BmiController::doGet(CWF::Request &request, CWF::Response &response) const 11 | { 12 | QJsonObject json; 13 | User user; 14 | 15 | request.fillQObject(&user); 16 | 17 | json["bmi"] = user.getBmi(); 18 | json["name"] = user.getName(); 19 | json["category"] = user.getCategory(); 20 | json["mass"] = user.getMass(); 21 | json["height"] = user.getHeight(); 22 | 23 | response.write(json); 24 | //Call 25 | //http://localhost:8080/bmi?name=Herik&mass=75&height=1.75 26 | } 27 | -------------------------------------------------------------------------------- /examples/WebServices/controllers/bmicontroller.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef BMICONTROLLER_H 9 | #define BMICONTROLLER_H 10 | 11 | #include "cwf/controller.h" 12 | #include "cwf/request.h" 13 | #include "cwf/response.h" 14 | #include "model/user.h" 15 | 16 | class BmiController : public CWF::Controller 17 | { 18 | public: 19 | void doGet(CWF::Request &request, CWF::Response &response) const override; 20 | }; 21 | 22 | #endif // BMICONTROLLER_H 23 | -------------------------------------------------------------------------------- /examples/WebServices/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #include 9 | #include 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | CWF::CppWebApplication server(argc, argv, "/home/herik/CPPWebFramework/examples/WebServices/server/"); 14 | 15 | server.addController("/bmi"); 16 | 17 | return server.start(); 18 | } 19 | -------------------------------------------------------------------------------- /examples/WebServices/model/user.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Herik Lima de Castro and Marcelo Medeiros Eler 3 | Distributed under MIT license, or public domain if desired and 4 | recognized in your jurisdiction. 5 | See file LICENSE for detail. 6 | */ 7 | 8 | #ifndef USER_H 9 | #define USER_H 10 | 11 | #include 12 | #include 13 | 14 | class User : public QObject 15 | { 16 | Q_OBJECT 17 | private: 18 | QString name; 19 | QString category; 20 | double mass = 0; 21 | double height = 0; 22 | double bmi = 0; 23 | public: 24 | explicit User(QObject *parent = 0); 25 | public slots: 26 | QString getName() const; 27 | QString getCategory() const; 28 | void setName(const QString &value); 29 | double getMass() const; 30 | void setMass(double value); 31 | double getHeight() const; 32 | void setHeight(double value); 33 | double getBmi(); 34 | }; 35 | 36 | #endif // USER_H 37 | -------------------------------------------------------------------------------- /examples/WebServices/server/config/CPPWeb.ini: -------------------------------------------------------------------------------- 1 | [config] 2 | host=Any 3 | port=8080 4 | maxThread=200 5 | cleanupInterval=60000 6 | timeOut=60000 7 | sessionExpirationTime=6000 8 | maxUploadFile=20971520 9 | maxLogFile=20000000 10 | ;sslKeyFile=/config/ssl/key.pem 11 | ;sslCertFile=/config/ssl/cert.pem 12 | ;sslPassPhrase=cppwebframework 13 | ;sslKeyAlgorithm=rsa 14 | ;sslEncodingFormat=pem 15 | ;sslKeyType=privatekey 16 | ;sslPeerVerifyMode=verifynone 17 | ;sslProtocol=tlsv1sslv3 18 | indexPage=/config/cppwebserverpages/index.view 19 | accessCPPWebIni=false 20 | accessServerPages=true 21 | -------------------------------------------------------------------------------- /examples/WebServices/server/config/cppwebserverpages/403.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 403 - Forbidden 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/WebServices/server/config/cppwebserverpages/404.view: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | C++ Web Server - 404 - Page Not Found 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /examples/WebServices/server/config/cppwebserverpages/resources/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/WebServices/server/config/cppwebserverpages/resources/images/favicon.ico -------------------------------------------------------------------------------- /examples/WebServices/server/config/cppwebserverpages/resources/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/WebServices/server/config/cppwebserverpages/resources/images/logo.png -------------------------------------------------------------------------------- /examples/WebServices/server/config/log/CPPWebServer.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HerikLyma/CPPWebFramework/4311f734fc985f53342e7c28946cf38dec454d92/examples/WebServices/server/config/log/CPPWebServer.log -------------------------------------------------------------------------------- /examples/helloworld.Dockerfile: -------------------------------------------------------------------------------- 1 | FROM imacellone/cwf:1.0 2 | 3 | LABEL maintainer="imacellone " 4 | 5 | COPY HelloWorldDocker /HelloWorldDocker 6 | 7 | WORKDIR /HelloWorldDocker 8 | 9 | RUN qmake HelloWorldDocker.pro 10 | RUN make 11 | 12 | ENTRYPOINT [ "/HelloWorldDocker/HelloWorldDocker" ] 13 | 14 | EXPOSE 80 15 | --------------------------------------------------------------------------------