2929#include " src/request_body_processor/json_instrumentation.h"
3030#include " simdjson.h"
3131
32- namespace modsecurity {
33- namespace RequestBodyProcessor {
32+ namespace modsecurity ::RequestBodyProcessor {
3433namespace {
3534
3635JsonParseResult makeResult (JsonParseStatus parse_status,
@@ -97,8 +96,8 @@ std::size_t effectiveTechnicalMaxDepth(
9796
9897std::string_view trimTrailingJsonWhitespace (std::string_view token) {
9998 while (!token.empty ()) {
100- const char tail = token.back ();
101- if ( tail != ' ' && tail != ' \t ' && tail != ' \n ' && tail != ' \r ' ) {
99+ if ( const char tail = token.back ();
100+ tail != ' ' && tail != ' \t ' && tail != ' \n ' && tail != ' \r ' ) {
102101 break ;
103102 }
104103 token.remove_suffix (1 );
@@ -220,8 +219,8 @@ class JsonBackendWalker {
220219 return result;
221220 }
222221
223- JsonSinkStatus sink_status = m_sink->on_string (decoded);
224- if ( sink_status != JsonSinkStatus::Continue) {
222+ if ( JsonSinkStatus sink_status = m_sink->on_string (decoded);
223+ sink_status != JsonSinkStatus::Continue) {
225224 return stopTraversal (sink_status, " handling a root string" );
226225 }
227226 return makeResult (JsonParseStatus::Ok);
@@ -233,9 +232,9 @@ class JsonBackendWalker {
233232 return result;
234233 }
235234
236- JsonSinkStatus sink_status = m_sink->on_number (
237- trimTrailingJsonWhitespace (raw_number));
238- if ( sink_status != JsonSinkStatus::Continue) {
235+ if ( JsonSinkStatus sink_status = m_sink->on_number (
236+ trimTrailingJsonWhitespace (raw_number));
237+ sink_status != JsonSinkStatus::Continue) {
239238 return stopTraversal (sink_status, " handling a root number" );
240239 }
241240 return makeResult (JsonParseStatus::Ok);
@@ -247,8 +246,9 @@ class JsonBackendWalker {
247246 return result;
248247 }
249248
250- JsonSinkStatus sink_status = m_sink->on_boolean (boolean_value);
251- if (sink_status != JsonSinkStatus::Continue) {
249+ if (JsonSinkStatus sink_status = m_sink->on_boolean (
250+ boolean_value);
251+ sink_status != JsonSinkStatus::Continue) {
252252 return stopTraversal (sink_status, " handling a root boolean" );
253253 }
254254 return makeResult (JsonParseStatus::Ok);
@@ -264,8 +264,8 @@ class JsonBackendWalker {
264264 " Root scalar classified as null but failed validation." );
265265 }
266266
267- JsonSinkStatus sink_status = m_sink->on_null ();
268- if ( sink_status != JsonSinkStatus::Continue) {
267+ if ( JsonSinkStatus sink_status = m_sink->on_null ();
268+ sink_status != JsonSinkStatus::Continue) {
269269 return stopTraversal (sink_status, " handling a root null" );
270270 }
271271 return makeResult (JsonParseStatus::Ok);
@@ -286,8 +286,8 @@ class JsonBackendWalker {
286286 JsonParseResult walkValue (simdjson::ondemand::value value) {
287287 simdjson::ondemand::json_type type;
288288
289- JsonParseResult result = getResult (value.type (), &type);
290- if ( !result.ok ()) {
289+ if ( JsonParseResult result = getResult (value.type (), &type);
290+ !result.ok ()) {
291291 return result;
292292 }
293293
@@ -309,8 +309,8 @@ class JsonBackendWalker {
309309 case simdjson::ondemand::json_type::boolean:
310310 return walkBoolean (value);
311311 case simdjson::ondemand::json_type::null: {
312- JsonSinkStatus sink_status = m_sink->on_null ();
313- if ( sink_status != JsonSinkStatus::Continue) {
312+ if ( JsonSinkStatus sink_status = m_sink->on_null ();
313+ sink_status != JsonSinkStatus::Continue) {
314314 return stopTraversal (sink_status, " handling a null value" );
315315 }
316316 return makeResult (JsonParseStatus::Ok);
@@ -408,13 +408,13 @@ class JsonBackendWalker {
408408
409409 JsonParseResult walkString (simdjson::ondemand::value value) {
410410 std::string_view decoded;
411- JsonParseResult result = getResult (value.get_string (), &decoded);
412- if ( !result.ok ()) {
411+ if ( JsonParseResult result = getResult (value.get_string (), &decoded);
412+ !result.ok ()) {
413413 return result;
414414 }
415415
416- JsonSinkStatus sink_status = m_sink->on_string (decoded);
417- if ( sink_status != JsonSinkStatus::Continue) {
416+ if ( JsonSinkStatus sink_status = m_sink->on_string (decoded);
417+ sink_status != JsonSinkStatus::Continue) {
418418 return stopTraversal (sink_status, " handling a string" );
419419 }
420420
@@ -424,9 +424,8 @@ class JsonBackendWalker {
424424 JsonParseResult walkNumber (simdjson::ondemand::value value) {
425425 std::string_view raw_number = trimTrailingJsonWhitespace (
426426 value.raw_json_token ());
427- JsonSinkStatus sink_status = m_sink->on_number (raw_number);
428-
429- if (sink_status != JsonSinkStatus::Continue) {
427+ if (JsonSinkStatus sink_status = m_sink->on_number (raw_number);
428+ sink_status != JsonSinkStatus::Continue) {
430429 return stopTraversal (sink_status, " handling a number" );
431430 }
432431
@@ -435,13 +434,13 @@ class JsonBackendWalker {
435434
436435 JsonParseResult walkBoolean (simdjson::ondemand::value value) {
437436 bool boolean_value = false ;
438- JsonParseResult result = getResult (value.get_bool (), &boolean_value);
439- if ( !result.ok ()) {
437+ if ( JsonParseResult result = getResult (value.get_bool (),
438+ &boolean_value); !result.ok ()) {
440439 return result;
441440 }
442441
443- JsonSinkStatus sink_status = m_sink->on_boolean (boolean_value);
444- if ( sink_status != JsonSinkStatus::Continue) {
442+ if ( JsonSinkStatus sink_status = m_sink->on_boolean (boolean_value);
443+ sink_status != JsonSinkStatus::Continue) {
445444 return stopTraversal (sink_status, " handling a boolean" );
446445 }
447446
@@ -563,5 +562,4 @@ JsonParseResult parseDocumentWithSimdjson(const std::string &input,
563562 return parsePreparedDocumentWithSimdjson (prepared.view , sink, options);
564563}
565564
566- } // namespace RequestBodyProcessor
567- } // namespace modsecurity
565+ } // namespace modsecurity::RequestBodyProcessor
0 commit comments