diff --git a/WSRequestHandler.cpp b/WSRequestHandler.cpp index 9d5b5575..f07c0566 100644 --- a/WSRequestHandler.cpp +++ b/WSRequestHandler.cpp @@ -189,6 +189,17 @@ void WSRequestHandler::SendErrorResponse(const char* errorMessage) { SendResponse(response); } +void WSRequestHandler::SendErrorResponse(obs_data_t* additionalFields) { + obs_data_t* response = obs_data_create(); + obs_data_set_string(response, "status", "error"); + obs_data_set_string(response, "message-id", _messageId); + + if (additionalFields) + obs_data_set_obj(response, "error", additionalFields); + + SendResponse(response); +} + void WSRequestHandler::SendResponse(obs_data_t* response) { const char *json = obs_data_get_json(response); _client->sendTextMessage(json); diff --git a/WSRequestHandler.h b/WSRequestHandler.h index 890d5317..796fe874 100644 --- a/WSRequestHandler.h +++ b/WSRequestHandler.h @@ -47,6 +47,7 @@ class WSRequestHandler : public QObject { void SendOKResponse(obs_data_t* additionalFields = NULL); void SendErrorResponse(const char* errorMessage); + void SendErrorResponse(obs_data_t* additionalFields = NULL); void SendResponse(obs_data_t* response); static void HandleGetVersion(WSRequestHandler* req);