diff options
-rw-r--r-- | plugins/c8y_configuration_plugin/src/main.rs | 53 | ||||
-rw-r--r-- | plugins/c8y_log_plugin/src/main.rs | 21 |
2 files changed, 44 insertions, 30 deletions
diff --git a/plugins/c8y_configuration_plugin/src/main.rs b/plugins/c8y_configuration_plugin/src/main.rs index eb4b8272..96d2b020 100644 --- a/plugins/c8y_configuration_plugin/src/main.rs +++ b/plugins/c8y_configuration_plugin/src/main.rs @@ -151,31 +151,40 @@ async fn run( } else { match payload.split(',').next().unwrap_or_default() { "524" => { - let config_download_request = - SmartRestConfigDownloadRequest::from_smartrest(payload)?; - - handle_config_download_request( - &plugin_config, - config_download_request, - tmp_dir.clone(), - &mut mqtt_client, - http_client, - ) - .await + let maybe_config_download_request = + SmartRestConfigDownloadRequest::from_smartrest(payload); + if let Ok(config_download_request) = maybe_config_download_request { + handle_config_download_request( + &plugin_config, + config_download_request, + tmp_dir.clone(), + &mut mqtt_client, + http_client, + ) + .await + } else { + error!("Incorrect Download SmartREST payload: {}", payload); + Ok(()) + } } "526" => { // retrieve config file upload smartrest request from payload - let config_upload_request = - SmartRestConfigUploadRequest::from_smartrest(payload)?; - - // handle the config file upload request - handle_config_upload_request( - &plugin_config, - config_upload_request, - &mut mqtt_client, - http_client, - ) - .await + let maybe_config_upload_request = + SmartRestConfigUploadRequest::from_smartrest(payload); + + if let Ok(config_upload_request) = maybe_config_upload_request { + // handle the config file upload request + handle_config_upload_request( + &plugin_config, + config_upload_request, + &mut mqtt_client, + http_client, + ) + .await + } else { + error!("Incorrect Upload SmartREST payload: {}", payload); + Ok(()) + } } _ => { // Ignore operation messages not meant for this plugin diff --git a/plugins/c8y_log_plugin/src/main.rs b/plugins/c8y_log_plugin/src/main.rs index 8a04589f..42e28053 100644 --- a/plugins/c8y_log_plugin/src/main.rs +++ b/plugins/c8y_log_plugin/src/main.rs @@ -108,14 +108,19 @@ async fn run( "522" => { info!("Log request received: {payload}"); // retrieve smartrest object from payload - let smartrest_obj = SmartRestLogRequest::from_smartrest(payload)?; - handle_logfile_request_operation( - &smartrest_obj, - &plugin_config, - mqtt_client, - http_client, - ) - .await + let maybe_smartrest_obj = SmartRestLogRequest::from_smartrest(payload); + if let Ok(smartrest_obj) = maybe_smartrest_obj { + handle_logfile_request_operation( + &smartrest_obj, + &plugin_config, + mqtt_client, + http_client, + ) + .await + } else { + error!("Incorrect SmartREST payload: {}", payload); + Ok(()) + } } _ => { // Ignore operation messages not meant for this plugin |