2626#include < vector>
2727#include < iostream>
2828
29- #include < boost/lexical_cast.hpp>
30-
3129#include " oatpp/web/server/api/ApiController.hpp"
3230#include " oatpp/parser/json/mapping/ObjectMapper.hpp"
3331#include " oatpp/core/macro/codegen.hpp"
3432#include " oatpp/core/macro/component.hpp"
3533
3634#include " apidata.h"
3735#include " oatppjsonapi.h"
36+ #include " utils/utils.hpp"
3837#include " dto/info.hpp"
3938#include " dto/service_predict.hpp"
4039#include " dto/service_create.hpp"
@@ -77,8 +76,16 @@ class DedeController : public oatpp::web::server::api::ApiController
7776
7877 oatpp::String qs_status = queryParams.get (" status" );
7978 bool status = false ;
80- if (qs_status)
81- status = boost::lexical_cast<bool >(*qs_status);
79+ try
80+ {
81+ if (qs_status)
82+ status = dd::dd_utils::parse_bool (*qs_status);
83+ }
84+ catch (boost::bad_lexical_cast &)
85+ {
86+ return _oja->response_bad_request_400 (
87+ " status must be a boolean value" );
88+ }
8289
8390 auto hit = _oja->_mlservices .begin ();
8491 while (hit != _oja->_mlservices .end ())
@@ -101,13 +108,29 @@ class DedeController : public oatpp::web::server::api::ApiController
101108 {
102109 oatpp::String qs_status = queryParams.get (" status" );
103110 bool status = true ;
104- if (qs_status)
105- status = boost::lexical_cast<bool >(*qs_status);
111+ try
112+ {
113+ if (qs_status)
114+ status = dd::dd_utils::parse_bool (*qs_status);
115+ }
116+ catch (boost::bad_lexical_cast &)
117+ {
118+ return _oja->response_bad_request_400 (
119+ " status must be a boolean value" );
120+ }
106121
107122 oatpp::String qs_labels = queryParams.get (" labels" );
108123 bool labels = false ;
109- if (qs_labels)
110- labels = boost::lexical_cast<bool >(*qs_labels);
124+ try
125+ {
126+ if (qs_labels)
127+ labels = dd::dd_utils::parse_bool (*qs_labels);
128+ }
129+ catch (boost::bad_lexical_cast &)
130+ {
131+ return _oja->response_bad_request_400 (
132+ " labels must be a boolean value" );
133+ }
111134
112135 auto janswer = _oja->service_status (service_name, status, labels);
113136 return _oja->jdoc_to_response (janswer);
0 commit comments