Repository: mesos Updated Branches: refs/heads/master 316b433db -> 8d9101ec5
Marked decoder as failed when request/response parsing failed. Review: https://reviews.apache.org/r/58580/ Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/cfd37d0f Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/cfd37d0f Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/cfd37d0f Branch: refs/heads/master Commit: cfd37d0fa1067ee7b36c575e1259f6788ff53255 Parents: 316b433 Author: Anindya Sinha <[email protected]> Authored: Fri Apr 21 09:44:04 2017 -0700 Committer: Anand Mazumdar <[email protected]> Committed: Fri Apr 21 09:46:53 2017 -0700 ---------------------------------------------------------------------- 3rdparty/libprocess/src/decoder.hpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/cfd37d0f/3rdparty/libprocess/src/decoder.hpp ---------------------------------------------------------------------- diff --git a/3rdparty/libprocess/src/decoder.hpp b/3rdparty/libprocess/src/decoder.hpp index 4c779d4..a026d16 100644 --- a/3rdparty/libprocess/src/decoder.hpp +++ b/3rdparty/libprocess/src/decoder.hpp @@ -205,6 +205,7 @@ private: http_parser_parse_url(decoder->url.data(), decoder->url.size(), 0, &url); if (parse_url != 0) { + decoder->failure = true; return parse_url; } @@ -231,6 +232,7 @@ private: http::query::decode(decoder->query); if (decoded.isError()) { + decoder->failure = true; return 1; } @@ -242,6 +244,7 @@ private: if (encoding.isSome() && encoding.get() == "gzip") { Try<std::string> decompressed = gzip::decompress(decoder->request->body); if (decompressed.isError()) { + decoder->failure = true; return 1; } decoder->request->body = decompressed.get(); @@ -435,7 +438,6 @@ private: http::Status::string(decoder->parser.status_code); } else { decoder->failure = true; - return 1; } @@ -666,7 +668,6 @@ private: http::Status::string(decoder->parser.status_code); } else { decoder->failure = true; - return 1; } @@ -919,6 +920,7 @@ private: http_parser_parse_url(decoder->url.data(), decoder->url.size(), 0, &url); if (parse_url != 0) { + decoder->failure = true; return parse_url; } @@ -945,6 +947,7 @@ private: http::query::decode(decoder->query); if (decoded.isError()) { + decoder->failure = true; return 1; } @@ -986,6 +989,7 @@ private: decoder->decompressor->decompress(std::string(data, length)); if (decompressed.isError()) { + decoder->failure = true; return 1; } @@ -1010,6 +1014,7 @@ private: if (decoder->decompressor.get() != nullptr && !decoder->decompressor->finished()) { writer.fail("Failed to decompress body"); + decoder->failure = true; return 1; }
