mirror of
https://github.com/EQEmu/Server.git
synced 2026-02-26 02:02:25 +00:00
More generic method handlers now
This commit is contained in:
parent
2ed960d733
commit
c6d8b7e337
@ -10,11 +10,11 @@ extern std::map<std::string, MethodHandler> unauthorized_methods;
|
||||
void register_authorized_methods()
|
||||
{
|
||||
authorized_methods["WebInterface.Authorize"] = std::make_pair(0, handle_method_token_auth);
|
||||
authorized_methods["World.ListZones"] = std::make_pair(10, handle_method_no_args);
|
||||
authorized_methods["World.GetZoneDetails"] = std::make_pair(10, handle_method_get_zone_info);
|
||||
authorized_methods["Zone.Subscribe"] = std::make_pair(10, handle_method_subscribe);
|
||||
authorized_methods["Zone.Unsubscribe"] = std::make_pair(10, handle_method_subscribe);
|
||||
authorized_methods["Zone.GetInitialEntityPositions"] = std::make_pair(10, handle_method_zone_no_args);
|
||||
authorized_methods["World.ListZones"] = std::make_pair(10, handle_method_world);
|
||||
authorized_methods["World.GetZoneDetails"] = std::make_pair(10, handle_method_world);
|
||||
authorized_methods["Zone.Subscribe"] = std::make_pair(10, handle_method_zone);
|
||||
authorized_methods["Zone.Unsubscribe"] = std::make_pair(10, handle_method_zone);
|
||||
authorized_methods["Zone.GetInitialEntityPositions"] = std::make_pair(10, handle_method_zone);
|
||||
}
|
||||
|
||||
void register_unauthorized_methods()
|
||||
@ -40,32 +40,16 @@ void handle_method_token_auth(per_session_data_eqemu *session, rapidjson::Docume
|
||||
}
|
||||
}
|
||||
|
||||
void handle_method_no_args(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method)
|
||||
{
|
||||
void handle_method_world(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method) {
|
||||
CheckParams(2, "[zone_id, instance_id]");
|
||||
VerifyID();
|
||||
CalculateSize();
|
||||
WriteWebProtocolPacket();
|
||||
}
|
||||
|
||||
void handle_method_zone(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method) {
|
||||
CheckParams(0, "[]");
|
||||
VerifyID();
|
||||
CalculateSize();
|
||||
WriteWebProtocolPacket();
|
||||
}
|
||||
|
||||
void handle_method_get_zone_info(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method)
|
||||
{
|
||||
CheckParams(1, "[zoneserver_id]");
|
||||
VerifyID();
|
||||
CalculateSize();
|
||||
WriteWebProtocolPacket();
|
||||
}
|
||||
|
||||
void handle_method_subscribe(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method) {
|
||||
CheckParams(3, "[zone_id, instance_id, event_name]");
|
||||
VerifyID();
|
||||
CalculateSize();
|
||||
WriteWebProtocolPacket();
|
||||
}
|
||||
|
||||
void handle_method_zone_no_args(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method) {
|
||||
CheckParams(2, "[zone_id, instance_id]");
|
||||
VerifyID();
|
||||
CalculateSize();
|
||||
WriteWebProtocolPacket();
|
||||
}
|
||||
@ -76,10 +76,8 @@
|
||||
|
||||
void register_methods();
|
||||
void handle_method_token_auth(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method);
|
||||
void handle_method_no_args(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method);
|
||||
void handle_method_get_zone_info(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method);
|
||||
void handle_method_subscribe(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method);
|
||||
void handle_method_zone_no_args(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method);
|
||||
void handle_method_zone(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method);
|
||||
void handle_method_world(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@ -132,7 +132,7 @@ int callback_eqemu(libwebsocket_context *context, libwebsocket *wsi, libwebsocke
|
||||
|
||||
static struct libwebsocket_protocols protocols[] = {
|
||||
{ "http-only", callback_http, 0, 0, },
|
||||
{ "eqemu", callback_eqemu, sizeof(per_session_data_eqemu), 65536, },
|
||||
{ "eqemu", callback_eqemu, sizeof(per_session_data_eqemu), 1048576, },
|
||||
{ nullptr, nullptr, 0, 0 }
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user