rewrite HTTP interface
This commit is contained in:
+6
-20
@@ -4,6 +4,7 @@
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <variant>
|
||||
|
||||
#include "AsyncHTTPServer.hh"
|
||||
#include "ServerState.hh"
|
||||
@@ -20,28 +21,13 @@ public:
|
||||
asio::awaitable<void> send_rare_drop_notification(std::shared_ptr<const phosg::JSON> message);
|
||||
|
||||
protected:
|
||||
struct RawResponse {
|
||||
std::string content_type;
|
||||
std::string data;
|
||||
};
|
||||
std::shared_ptr<ServerState> state;
|
||||
std::unordered_set<std::shared_ptr<HTTPClient>> rare_drop_subscribers;
|
||||
|
||||
std::shared_ptr<phosg::JSON> generate_server_version() const;
|
||||
std::shared_ptr<phosg::JSON> generate_account_json(std::shared_ptr<const Account> a) const;
|
||||
std::shared_ptr<phosg::JSON> generate_client_json(
|
||||
std::shared_ptr<const Client> c, std::shared_ptr<const ItemNameIndex> item_name_index) const;
|
||||
std::shared_ptr<phosg::JSON> generate_lobby_json(
|
||||
std::shared_ptr<const Lobby> l, std::shared_ptr<const ItemNameIndex> item_name_index) const;
|
||||
std::shared_ptr<phosg::JSON> generate_accounts_json() const;
|
||||
std::shared_ptr<phosg::JSON> generate_clients_json() const;
|
||||
std::shared_ptr<phosg::JSON> generate_server_info_json() const;
|
||||
std::shared_ptr<phosg::JSON> generate_lobbies_json() const;
|
||||
std::shared_ptr<phosg::JSON> generate_summary_json() const;
|
||||
std::shared_ptr<phosg::JSON> generate_all_json() const;
|
||||
|
||||
asio::awaitable<std::shared_ptr<phosg::JSON>> generate_ep3_cards_json(bool trial) const;
|
||||
std::shared_ptr<phosg::JSON> generate_common_table_list_json() const;
|
||||
std::shared_ptr<phosg::JSON> generate_rare_table_list_json() const;
|
||||
asio::awaitable<std::shared_ptr<phosg::JSON>> generate_common_table_json(const std::string& table_name) const;
|
||||
asio::awaitable<std::shared_ptr<phosg::JSON>> generate_rare_table_json(const std::string& table_name) const;
|
||||
asio::awaitable<std::shared_ptr<phosg::JSON>> generate_quest_list_json();
|
||||
HTTPRouter<std::variant<RawResponse, std::shared_ptr<const phosg::JSON>>> router;
|
||||
|
||||
void require_GET(const HTTPRequest& req);
|
||||
phosg::JSON require_POST(const HTTPRequest& req);
|
||||
|
||||
Reference in New Issue
Block a user