2020-06-24 16:46:05 +08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string>
|
2020-06-24 17:35:37 +08:00
|
|
|
#include "detail/http_server_impl.hpp"
|
2020-06-24 16:46:05 +08:00
|
|
|
|
|
|
|
namespace acl {
|
|
|
|
|
|
|
|
class http_server : public http_server_impl {
|
|
|
|
public:
|
2020-06-25 11:58:01 +08:00
|
|
|
http_server(void) {}
|
2020-06-24 16:46:05 +08:00
|
|
|
~http_server(void) {}
|
|
|
|
|
|
|
|
public:
|
2020-06-25 11:58:01 +08:00
|
|
|
http_server& get(const std::string path, handler_t fn) {
|
2020-06-24 17:35:37 +08:00
|
|
|
this->service(path, fn);
|
2020-06-25 11:58:01 +08:00
|
|
|
return *this;
|
2020-06-24 16:46:05 +08:00
|
|
|
}
|
|
|
|
|
2020-06-25 11:58:01 +08:00
|
|
|
http_server& post(const std::string& path, handler_t fn) {
|
2020-06-24 17:35:37 +08:00
|
|
|
this->service(path, fn);
|
2020-06-25 11:58:01 +08:00
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
|
|
|
public:
|
|
|
|
http_server& before_proc_jail(proc_jail_t fn) {
|
|
|
|
this->proc_jail_ = fn;
|
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
|
|
|
http_server& on_proc_init(proc_init_t fn) {
|
|
|
|
this->proc_init_ = fn;
|
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
|
|
|
http_server& on_proc_exit(proc_exit_t fn) {
|
|
|
|
this->proc_exit_ = fn;
|
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
|
|
|
http_server& on_proc_sighup(proc_sighup_t fn) {
|
|
|
|
this->proc_sighup_ = fn;
|
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
|
|
|
http_server& on_thread_init(thread_init_t fn) {
|
|
|
|
this->thread_init_ = fn;
|
|
|
|
return *this;
|
2020-06-24 16:46:05 +08:00
|
|
|
}
|
2020-06-26 10:33:10 +08:00
|
|
|
|
|
|
|
http_server& on_thread_accept(thread_accept_t fn) {
|
|
|
|
this->thread_accept_ = fn;
|
|
|
|
return *this;
|
|
|
|
}
|
2020-06-24 16:46:05 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace acl
|