This commit is contained in:
yhirose 2019-08-25 17:19:20 -04:00
parent bdbfc6cfe7
commit a4160e6ac1

View file

@ -411,6 +411,7 @@ public:
Server &Options(const char *pattern, Handler handler);
bool set_base_dir(const char *path);
void set_file_request_handler(Handler handler);
void set_error_handler(Handler handler);
void set_logger(Logger logger);
@ -460,6 +461,7 @@ private:
std::atomic<bool> is_running_;
std::atomic<socket_t> svr_sock_;
std::string base_dir_;
Handler file_request_handler_;
Handlers get_handlers_;
Handlers post_handlers_;
Handlers put_handlers_;
@ -2086,6 +2088,10 @@ inline bool Server::set_base_dir(const char *path) {
return false;
}
inline void Server::set_file_request_handler(Handler handler) {
file_request_handler_ = handler;
}
inline void Server::set_error_handler(Handler handler) {
error_handler_ = handler;
}
@ -2309,6 +2315,9 @@ inline bool Server::handle_file_request(Request &req, Response &res) {
auto type = detail::find_content_type(path);
if (type) { res.set_header("Content-Type", type); }
res.status = 200;
if (file_request_handler_) {
file_request_handler_(req, res);
}
return true;
}
}