mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-11 11:12: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()
|
void register_authorized_methods()
|
||||||
{
|
{
|
||||||
authorized_methods["WebInterface.Authorize"] = std::make_pair(0, handle_method_token_auth);
|
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.ListZones"] = std::make_pair(10, handle_method_world);
|
||||||
authorized_methods["World.GetZoneDetails"] = std::make_pair(10, handle_method_get_zone_info);
|
authorized_methods["World.GetZoneDetails"] = std::make_pair(10, handle_method_world);
|
||||||
authorized_methods["Zone.Subscribe"] = std::make_pair(10, handle_method_subscribe);
|
authorized_methods["Zone.Subscribe"] = std::make_pair(10, handle_method_zone);
|
||||||
authorized_methods["Zone.Unsubscribe"] = std::make_pair(10, handle_method_subscribe);
|
authorized_methods["Zone.Unsubscribe"] = std::make_pair(10, handle_method_zone);
|
||||||
authorized_methods["Zone.GetInitialEntityPositions"] = std::make_pair(10, handle_method_zone_no_args);
|
authorized_methods["Zone.GetInitialEntityPositions"] = std::make_pair(10, handle_method_zone);
|
||||||
}
|
}
|
||||||
|
|
||||||
void register_unauthorized_methods()
|
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(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]");
|
CheckParams(2, "[zone_id, instance_id]");
|
||||||
VerifyID();
|
VerifyID();
|
||||||
CalculateSize();
|
CalculateSize();
|
||||||
WriteWebProtocolPacket();
|
WriteWebProtocolPacket();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void handle_method_zone(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method) {
|
||||||
|
CheckParams(0, "[]");
|
||||||
|
VerifyID();
|
||||||
|
CalculateSize();
|
||||||
|
WriteWebProtocolPacket();
|
||||||
|
}
|
||||||
|
|||||||
@ -76,10 +76,8 @@
|
|||||||
|
|
||||||
void register_methods();
|
void register_methods();
|
||||||
void handle_method_token_auth(per_session_data_eqemu *session, rapidjson::Document &document, std::string &method);
|
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_zone(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_world(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);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -132,7 +132,7 @@ int callback_eqemu(libwebsocket_context *context, libwebsocket *wsi, libwebsocke
|
|||||||
|
|
||||||
static struct libwebsocket_protocols protocols[] = {
|
static struct libwebsocket_protocols protocols[] = {
|
||||||
{ "http-only", callback_http, 0, 0, },
|
{ "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 }
|
{ nullptr, nullptr, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user