Add error handling and update parameter in RPC request

This commit is contained in:
netkas 2025-01-14 14:53:21 -05:00
parent e7516083be
commit edf6677256
2 changed files with 25 additions and 17 deletions

View file

@ -494,7 +494,7 @@
{
return (bool)$this->sendRequest(
new RpcRequest(StandardMethods::SETTINGS_SET_DISPLAY_NAME->value, Utilities::randomCrc32(), [
'display_name' => $displayName
'name' => $displayName
])
)->getResponse()->getResult();
}

View file

@ -56,27 +56,35 @@
// Handle the request type, only `init` and `dhe` are not encrypted using the session's encrypted key
// RPC Requests must be encrypted and signed by the client, vice versa for server responses.
switch($clientRequest->getRequestType())
try
{
case RequestType::INFO:
self::handleInformationRequest();
break;
switch($clientRequest->getRequestType())
{
case RequestType::INFO:
self::handleInformationRequest();
break;
case RequestType::INITIATE_SESSION:
self::handleInitiateSession($clientRequest);
break;
case RequestType::INITIATE_SESSION:
self::handleInitiateSession($clientRequest);
break;
case RequestType::DHE_EXCHANGE:
self::handleDheExchange($clientRequest);
break;
case RequestType::DHE_EXCHANGE:
self::handleDheExchange($clientRequest);
break;
case RequestType::RPC:
self::handleRpc($clientRequest);
break;
case RequestType::RPC:
self::handleRpc($clientRequest);
break;
default:
self::returnError(400, StandardError::BAD_REQUEST, 'Invalid Request-Type header');
default:
self::returnError(400, StandardError::BAD_REQUEST, 'Invalid Request-Type header');
}
}
catch(Exception $e)
{
self::returnError(500, StandardError::INTERNAL_SERVER_ERROR, 'An internal error occurred while processing the request', $e);
}
}
/**
@ -607,7 +615,7 @@
privateKey: Configuration::getCryptographyConfiguration()->getHostPrivateKey()
);
}
catch (Exceptions\CryptographyException $e)
catch (Exception $e)
{
self::returnError(500, StandardError::INTERNAL_SERVER_ERROR, 'Failed to encrypt the server response', $e);
return;