mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
Requests: Add some more failure checks and improve response codes
This commit is contained in:
parent
eebcc25115
commit
d811c95e10
@ -108,7 +108,7 @@ RequestResult RequestHandler::CreateSceneCollection(const Request& request)
|
|||||||
bool success = false;
|
bool success = false;
|
||||||
QMetaObject::invokeMethod(mainWindow, "AddSceneCollection", Qt::BlockingQueuedConnection, Q_RETURN_ARG(bool, success), Q_ARG(bool, true), Q_ARG(QString, QString::fromStdString(sceneCollectionName)));
|
QMetaObject::invokeMethod(mainWindow, "AddSceneCollection", Qt::BlockingQueuedConnection, Q_RETURN_ARG(bool, success), Q_ARG(bool, true), Q_ARG(QString, QString::fromStdString(sceneCollectionName)));
|
||||||
if (!success)
|
if (!success)
|
||||||
return RequestResult::Error(RequestStatus::RequestProcessingFailed, "Failed to create the scene collection for an unknown reason");
|
return RequestResult::Error(RequestStatus::ResourceCreationFailed, "Failed to create the scene collection.");
|
||||||
|
|
||||||
return RequestResult::Success();
|
return RequestResult::Success();
|
||||||
}
|
}
|
||||||
@ -349,7 +349,7 @@ RequestResult RequestHandler::SetStreamServiceSettings(const Request& request)
|
|||||||
OBSService newStreamService = obs_service_create(requestedStreamServiceType.c_str(), "obs_websocket_custom_service", requestedStreamServiceSettings, NULL);
|
OBSService newStreamService = obs_service_create(requestedStreamServiceType.c_str(), "obs_websocket_custom_service", requestedStreamServiceSettings, NULL);
|
||||||
// TODO: Check service type here, instead of relying on service creation to fail.
|
// TODO: Check service type here, instead of relying on service creation to fail.
|
||||||
if (!newStreamService)
|
if (!newStreamService)
|
||||||
return RequestResult::Error(RequestStatus::ResourceCreationFailed, "Creating the stream service with the requested streamServiceType failed. It may be an invalid type.");
|
return RequestResult::Error(RequestStatus::ResourceCreationFailed, "Failed to create the stream service with the requested streamServiceType. It may be an invalid type.");
|
||||||
|
|
||||||
obs_frontend_set_streaming_service(newStreamService);
|
obs_frontend_set_streaming_service(newStreamService);
|
||||||
}
|
}
|
||||||
|
@ -76,7 +76,7 @@ RequestResult RequestHandler::CreateInput(const Request& request)
|
|||||||
obs_sceneitem_t *sceneItem = Utils::Obs::ActionHelper::CreateInput(inputName, inputKind, inputSettings, scene, sceneItemEnabled);
|
obs_sceneitem_t *sceneItem = Utils::Obs::ActionHelper::CreateInput(inputName, inputKind, inputSettings, scene, sceneItemEnabled);
|
||||||
|
|
||||||
if (!sceneItem)
|
if (!sceneItem)
|
||||||
return RequestResult::Error(RequestStatus::RequestProcessingFailed, "Creation of the input or scene item failed.");
|
return RequestResult::Error(RequestStatus::ResourceCreationFailed, "Creation of the input or scene item failed.");
|
||||||
|
|
||||||
json responseData;
|
json responseData;
|
||||||
responseData["sceneItemId"] = obs_sceneitem_get_id(sceneItem);
|
responseData["sceneItemId"] = obs_sceneitem_get_id(sceneItem);
|
||||||
|
@ -50,6 +50,8 @@ RequestResult RequestHandler::CreateSceneItem(const Request& request)
|
|||||||
sceneItemEnabled = request.RequestData["sceneItemEnabled"];
|
sceneItemEnabled = request.RequestData["sceneItemEnabled"];
|
||||||
|
|
||||||
obs_sceneitem_t *sceneItem = Utils::Obs::ActionHelper::CreateSceneItem(source, scene, sceneItemEnabled);
|
obs_sceneitem_t *sceneItem = Utils::Obs::ActionHelper::CreateSceneItem(source, scene, sceneItemEnabled);
|
||||||
|
if (!sceneItem)
|
||||||
|
return RequestResult::Error(RequestStatus::ResourceCreationFailed, "Failed to create the scene item.");
|
||||||
|
|
||||||
json responseData;
|
json responseData;
|
||||||
responseData["sceneItemId"] = obs_sceneitem_get_id(sceneItem);
|
responseData["sceneItemId"] = obs_sceneitem_get_id(sceneItem);
|
||||||
|
@ -81,6 +81,9 @@ RequestResult RequestHandler::CreateScene(const Request& request)
|
|||||||
return RequestResult::Error(RequestStatus::ResourceAlreadyExists, "A source already exists by that scene name.");
|
return RequestResult::Error(RequestStatus::ResourceAlreadyExists, "A source already exists by that scene name.");
|
||||||
|
|
||||||
obs_scene_t *createdScene = obs_scene_create(sceneName.c_str());
|
obs_scene_t *createdScene = obs_scene_create(sceneName.c_str());
|
||||||
|
if (!createdScene)
|
||||||
|
return RequestResult::Error(RequestStatus::ResourceCreationFailed, "Failed to create the scene.");
|
||||||
|
|
||||||
obs_scene_release(createdScene);
|
obs_scene_release(createdScene);
|
||||||
|
|
||||||
return RequestResult::Success();
|
return RequestResult::Success();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user