diff --git a/src/rest_interface.cpp b/src/rest_interface.cpp index aa4fd57..f786b16 100644 --- a/src/rest_interface.cpp +++ b/src/rest_interface.cpp @@ -71,18 +71,17 @@ void start_rest_api(WriterManager& writer_manager, uint16_t port, std::mapat(parameter_name); if (parameter_type == NX_FLOAT) { - result[parameter_name] = *(boost::any_cast(parameter_value)); - + result[parameter_name] = boost::any_cast(parameter_value); } else if (parameter_type == NX_CHAR) { - result[parameter_name] = *(boost::any_cast(parameter_value)); + result[parameter_name] = boost::any_cast(parameter_value); } else if (parameter_type == NX_DATE_TIME) { - result[parameter_name] = *(boost::any_cast(parameter_value)); + result[parameter_name] = boost::any_cast(parameter_value); } else if (parameter_type == NX_INT) { - result[parameter_name] = *(boost::any_cast(parameter_value)); - + result[parameter_name] = boost::any_cast(parameter_value); } + } catch (const boost::bad_any_cast& exception) { stringstream error_message; error_message << "Cannot cast parameter " << parameter_name << " into specified type." << endl;