#pragma once
#include "core/structs.h"
#include "core/define.h"
#include "net/http_reqpack.h"
#include "net/http_request.h"
#include "net/http_response.h"
#include "net/http_router.h"
#include "util/map.hpp"
namespace fastweb
{
///
/// 订阅管理器
///
class subscribe_manager :public Interface {
public:
subscribe_manager(fastweb::app* app);
~subscribe_manager();
void start();
bool add(const std::string& pattern, const std::string& filepath);
bool remove(const std::string& pattern);
bool exist(const std::string& pattern);
void clear();
private:
///
/// 服务回调
///
///
///
///
///
bool callback(network::http::request* request, network::http::response* response,network::http::websocket_message* ws_message, const std::string& pattern, const std::string& filepath);
///
/// 其它
///
///
///
void other(network::http::request* request, network::http::response* response,network::http::websocket_message* ws_message);
private:
///
/// 未找到页面
///
///
void send_404(network::http::response* response);
};
}