xref: /openbmc/bmcweb/features/redfish/src/utils/json_utils.cpp (revision f12894f8bd7fc26ffa16e5a89072e6c19095f866)
177dd8813SKowalski, Kamil /*
277dd8813SKowalski, Kamil // Copyright (c) 2018 Intel Corporation
377dd8813SKowalski, Kamil //
477dd8813SKowalski, Kamil // Licensed under the Apache License, Version 2.0 (the "License");
577dd8813SKowalski, Kamil // you may not use this file except in compliance with the License.
677dd8813SKowalski, Kamil // You may obtain a copy of the License at
777dd8813SKowalski, Kamil //
877dd8813SKowalski, Kamil //      http://www.apache.org/licenses/LICENSE-2.0
977dd8813SKowalski, Kamil //
1077dd8813SKowalski, Kamil // Unless required by applicable law or agreed to in writing, software
1177dd8813SKowalski, Kamil // distributed under the License is distributed on an "AS IS" BASIS,
1277dd8813SKowalski, Kamil // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1377dd8813SKowalski, Kamil // See the License for the specific language governing permissions and
1477dd8813SKowalski, Kamil // limitations under the License.
1577dd8813SKowalski, Kamil */
1677dd8813SKowalski, Kamil #include "utils/json_utils.hpp"
171abe55efSEd Tanous 
181abe55efSEd Tanous namespace redfish
191abe55efSEd Tanous {
2077dd8813SKowalski, Kamil 
211abe55efSEd Tanous namespace json_util
221abe55efSEd Tanous {
2377dd8813SKowalski, Kamil 
2455c7b7a2SEd Tanous bool processJsonFromRequest(crow::Response& res, const crow::Request& req,
251abe55efSEd Tanous                             nlohmann::json& reqJson)
261abe55efSEd Tanous {
2777dd8813SKowalski, Kamil     reqJson = nlohmann::json::parse(req.body, nullptr, false);
2877dd8813SKowalski, Kamil 
291abe55efSEd Tanous     if (reqJson.is_discarded())
301abe55efSEd Tanous     {
31*f12894f8SJason M. Bills         messages::malformedJSON(res);
3277dd8813SKowalski, Kamil 
3377dd8813SKowalski, Kamil         res.end();
3477dd8813SKowalski, Kamil 
3577dd8813SKowalski, Kamil         return false;
3677dd8813SKowalski, Kamil     }
3777dd8813SKowalski, Kamil 
3877dd8813SKowalski, Kamil     return true;
3977dd8813SKowalski, Kamil }
4077dd8813SKowalski, Kamil 
4177dd8813SKowalski, Kamil } // namespace json_util
4277dd8813SKowalski, Kamil } // namespace redfish
43