diff options
Diffstat (limited to 'response.h')
-rw-r--r-- | response.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/response.h b/response.h new file mode 100644 index 0000000..a093320 --- /dev/null +++ b/response.h @@ -0,0 +1,40 @@ +#pragma once + +#include "config.h" + +#include <boost/beast/http.hpp> + +#include <exception> +#include <string> + +namespace beast = boost::beast; // from <boost/beast.hpp> +namespace http = beast::http; // from <boost/beast/http.hpp> + +class http_exception: public std::exception +{ + std::string m_message; +public: + http_exception(std::string message); + virtual const char* what() const noexcept; +}; + +class bad_request_exception: public http_exception +{ +public: + bad_request_exception(std::string message); +}; + +class not_found_exception: public http_exception +{ +public: + not_found_exception(std::string message); +}; + +class server_error_exception: public http_exception +{ +public: + server_error_exception(std::string message); +}; + +std::string extend_index_html(std::string path); +std::string generate_response(http::request<http::string_body>& req, const Config& config, const Socket& socket); |