#ifndef __MESSAGES_H__
#define __MESSAGES_H__

#include "Core/MessageManager.h"
#include "Router/matches.hpp"
#include <boost/beast/http/string_body.hpp>
#include <boost/callable_traits/return_type.hpp>

// Signature 参数不能为移动语义
namespace Older {
struct NotifyServerChan {
    using Signature = void(const boost::beast::http::request<boost::beast::http::string_body> &);
};

class HttpSession;
using HttpRequest = boost::beast::http::request<boost::beast::http::string_body>;
using RequestHandler = std::function<void(HttpSession &, const HttpRequest &, const boost::urls::matches &)>;

struct RegisterUrlHandler {
    using Signature = void(std::string_view url, RequestHandler handler);
};
} // namespace Older

#endif // __MESSAGES_H__