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;
     }
 

Reply via email to