aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/bnetserver/Server/Session.cpp16
-rw-r--r--src/server/game/Services/WorldserverGameUtilitiesService.cpp11
2 files changed, 8 insertions, 19 deletions
diff --git a/src/server/bnetserver/Server/Session.cpp b/src/server/bnetserver/Server/Session.cpp
index c3aaa972160..d95e99e34a6 100644
--- a/src/server/bnetserver/Server/Session.cpp
+++ b/src/server/bnetserver/Server/Session.cpp
@@ -557,15 +557,9 @@ uint32 Battlenet::Session::HandleProcessClientRequest(game_utilities::v1::Client
return (this->*itr->second)(params, response);
}
-static Variant const* GetParam(std::unordered_map<std::string, Variant const*> const& params, char const* paramName)
-{
- auto itr = params.find(paramName);
- return itr != params.end() ? itr->second : nullptr;
-}
-
uint32 Battlenet::Session::GetRealmListTicket(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response)
{
- if (Variant const* identity = GetParam(params, "Param_Identity"))
+ if (Variant const* identity = Trinity::Containers::MapGetValuePtr(params, "Param_Identity"))
{
::JSON::RealmList::RealmListTicketIdentity data;
std::size_t jsonStart = identity->blob_value().find(':');
@@ -586,7 +580,7 @@ uint32 Battlenet::Session::GetRealmListTicket(std::unordered_map<std::string, Va
return ERROR_GAME_ACCOUNT_SUSPENDED;
bool clientInfoOk = false;
- if (Variant const* clientInfo = GetParam(params, "Param_ClientInfo"))
+ if (Variant const* clientInfo = Trinity::Containers::MapGetValuePtr(params, "Param_ClientInfo"))
{
::JSON::RealmList::RealmListTicketClientInformation data;
std::size_t jsonStart = clientInfo->blob_value().find(':');
@@ -620,7 +614,7 @@ uint32 Battlenet::Session::GetRealmListTicket(std::unordered_map<std::string, Va
uint32 Battlenet::Session::GetLastCharPlayed(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response)
{
- if (Variant const* subRegion = GetParam(params, "Command_LastCharPlayedRequest_v1"))
+ if (Variant const* subRegion = Trinity::Containers::MapGetValuePtr(params, "Command_LastCharPlayedRequest_v1"))
{
auto lastPlayerChar = _gameAccountInfo->LastPlayedCharacters.find(subRegion->string_value());
if (lastPlayerChar != _gameAccountInfo->LastPlayedCharacters.end())
@@ -659,7 +653,7 @@ uint32 Battlenet::Session::GetRealmList(std::unordered_map<std::string, Variant
return ERROR_USER_SERVER_BAD_WOW_ACCOUNT;
std::string subRegionId;
- if (Variant const* subRegion = GetParam(params, "Command_RealmListRequest_v1"))
+ if (Variant const* subRegion = Trinity::Containers::MapGetValuePtr(params, "Command_RealmListRequest_v1"))
subRegionId = subRegion->string_value();
std::vector<uint8> compressed = sRealmList->GetRealmList(_build, _gameAccountInfo->SecurityLevel, subRegionId);
@@ -696,7 +690,7 @@ uint32 Battlenet::Session::GetRealmList(std::unordered_map<std::string, Variant
uint32 Battlenet::Session::JoinRealm(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response)
{
- if (Variant const* realmAddress = GetParam(params, "Param_RealmAddress"))
+ if (Variant const* realmAddress = Trinity::Containers::MapGetValuePtr(params, "Param_RealmAddress"))
return sRealmList->JoinRealm(realmAddress->uint_value(), _build, GetRemoteIpAddress(), _clientSecret, GetLocaleByName(_locale),
_os, _timezoneOffset, _gameAccountInfo->Name, _gameAccountInfo->SecurityLevel, response);
diff --git a/src/server/game/Services/WorldserverGameUtilitiesService.cpp b/src/server/game/Services/WorldserverGameUtilitiesService.cpp
index 94a41a8a24f..083b827c19e 100644
--- a/src/server/game/Services/WorldserverGameUtilitiesService.cpp
+++ b/src/server/game/Services/WorldserverGameUtilitiesService.cpp
@@ -19,6 +19,7 @@
#include "BattlenetRpcErrorCodes.h"
#include "IpAddress.h"
#include "Log.h"
+#include "MapUtils.h"
#include "ProtobufJSON.h"
#include "RealmList.h"
#include "RealmList.pb.h"
@@ -75,16 +76,10 @@ uint32 Battlenet::Services::GameUtilitiesService::HandleProcessClientRequest(gam
return (this->*itr->second)(params, response);
}
-static Variant const* GetParam(std::unordered_map<std::string, Variant const*> const& params, char const* paramName)
-{
- auto itr = params.find(paramName);
- return itr != params.end() ? itr->second : nullptr;
-}
-
uint32 Battlenet::Services::GameUtilitiesService::HandleRealmListRequest(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response)
{
std::string subRegionId;
- if (Variant const* subRegion = GetParam(params, "Command_RealmListRequest_v1"))
+ if (Variant const* subRegion = Trinity::Containers::MapGetValuePtr(params, "Command_RealmListRequest_v1"))
subRegionId = subRegion->string_value();
std::vector<uint8> compressed = sRealmList->GetRealmList(_session->GetClientBuild(), _session->GetSecurity(), subRegionId);
@@ -122,7 +117,7 @@ uint32 Battlenet::Services::GameUtilitiesService::HandleRealmListRequest(std::un
uint32 Battlenet::Services::GameUtilitiesService::HandleRealmJoinRequest(std::unordered_map<std::string, Variant const*> const& params, game_utilities::v1::ClientResponse* response)
{
- if (Variant const* realmAddress = GetParam(params, "Param_RealmAddress"))
+ if (Variant const* realmAddress = Trinity::Containers::MapGetValuePtr(params, "Param_RealmAddress"))
return sRealmList->JoinRealm(uint32(realmAddress->uint_value()), _session->GetClientBuild(), Trinity::Net::make_address(_session->GetRemoteAddress()), _session->GetRealmListSecret(),
_session->GetSessionDbcLocale(), _session->GetOS(), _session->GetTimezoneOffset(), _session->GetAccountName(), _session->GetSecurity(), response);