mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-05 09:48:44 +00:00
validate compositor http request
This commit is contained in:
1 parent
e462f0c08a
commit
30cef2bc57
1 file changed
+16
+16
@@ -6,6 +6,7 @@ use std::sync::Arc;
|
||||
use actix_web::{HttpRequest, HttpResponse, web};
|
||||
use actix_web::error::ResponseError;
|
||||
use actix_web::http::StatusCode;
|
||||
use actix_web::web::Json;
|
||||
use log::warn;
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
@@ -114,6 +115,9 @@ pub async fn enqueue_bvh_to_workflow_handler(
|
||||
request: web::Json<EnqueueBvhToWorkflowRequest>,
|
||||
server_state: web::Data<Arc<ServerState>>
|
||||
) -> Result<HttpResponse, EnqueueBvhToWorkflowRequestError> {
|
||||
|
||||
validate_request(&request)?;
|
||||
|
||||
let mut maybe_user_token: Option<UserToken> = None;
|
||||
|
||||
let mut mysql_connection = server_state.mysql_pool.acquire().await.map_err(|err| {
|
||||
@@ -232,3 +236,15 @@ pub async fn enqueue_bvh_to_workflow_handler(
|
||||
|
||||
Ok(HttpResponse::Ok().content_type("application/json").body(body))
|
||||
}
|
||||
|
||||
fn validate_request(request: &Json<EnqueueBvhToWorkflowRequest>) -> Result<(), EnqueueBvhToWorkflowRequestError> {
|
||||
if request.media_file_token.0.trim().is_empty() {
|
||||
return Err(EnqueueBvhToWorkflowRequestError::BadInput("token is empty".to_string()));
|
||||
}
|
||||
|
||||
if request.uuid_idempotency_token.trim().is_empty() {
|
||||
return Err(EnqueueBvhToWorkflowRequestError::BadInput("idempotency token is empty".to_string()));
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Reference in new issue
Block a user