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( return (bool)$this->sendRequest(
new RpcRequest(StandardMethods::SETTINGS_SET_DISPLAY_NAME->value, Utilities::randomCrc32(), [ new RpcRequest(StandardMethods::SETTINGS_SET_DISPLAY_NAME->value, Utilities::randomCrc32(), [
'display_name' => $displayName 'name' => $displayName
]) ])
)->getResponse()->getResult(); )->getResponse()->getResult();
} }

View file

@ -56,6 +56,8 @@
// Handle the request type, only `init` and `dhe` are not encrypted using the session's encrypted key // 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. // RPC Requests must be encrypted and signed by the client, vice versa for server responses.
try
{
switch($clientRequest->getRequestType()) switch($clientRequest->getRequestType())
{ {
case RequestType::INFO: case RequestType::INFO:
@ -78,6 +80,12 @@
self::returnError(400, StandardError::BAD_REQUEST, 'Invalid Request-Type header'); 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);
}
}
/** /**
* Handles an information request by setting the appropriate HTTP response code, * Handles an information request by setting the appropriate HTTP response code,
@ -607,7 +615,7 @@
privateKey: Configuration::getCryptographyConfiguration()->getHostPrivateKey() 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); self::returnError(500, StandardError::INTERNAL_SERVER_ERROR, 'Failed to encrypt the server response', $e);
return; return;