From 177e58da4e2e934a9f31e1f39954cc3add867157 Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Mon, 25 Mar 2019 00:51:51 +0000 Subject: [PATCH] changed: if there is no body we do not parse application/json to space git-svn-id: svn://ttmath.org/publicrep/winix/trunk@1183 e52654a7-88a9-db11-a3e9-0013d4bc506e --- winixd/core/app.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/winixd/core/app.cpp b/winixd/core/app.cpp index e07e695..d4d4cdd 100644 --- a/winixd/core/app.cpp +++ b/winixd/core/app.cpp @@ -1095,14 +1095,21 @@ void App::ReadPostJson() } while( read_len == buffer_len ); - PT::JSONToSpaceParser::Status status = post_json_parser.ParseString(post_buffer.c_str()); - post_buffer.clear(); - - if( status != PT::JSONToSpaceParser::ok ) + if( !post_buffer.empty() ) { - log << log1 << "App: cannot parse the input stream as a JSON object, status: " << (int)status << logend; - cur.request->post_in.Clear(); - // return an error (http error of some kind?) + PT::JSONToSpaceParser::Status status = post_json_parser.ParseString(post_buffer.c_str()); + post_buffer.clear(); + + if( status != PT::JSONToSpaceParser::ok ) + { + log << log1 << "App: cannot parse the input stream as a JSON object, status: " << (int)status << logend; + cur.request->post_in.Clear(); + // return an error (http error of some kind?) + } + } + else + { + log << log3 << "App: input body empty (skipping parsing)" << logend; } }