This is an automated email from the ASF dual-hosted git repository.

huxing pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-php-framework.git

commit b1479a67b27740d74bc1683748b39be7256092ab
Author: wangjinxi <[email protected]>
AuthorDate: Thu Jun 20 17:31:24 2019 +0800

    update
---
 common/protocol/fsof/DubboParser.php | 30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/common/protocol/fsof/DubboParser.php 
b/common/protocol/fsof/DubboParser.php
index 7dbba4f..d939b07 100644
--- a/common/protocol/fsof/DubboParser.php
+++ b/common/protocol/fsof/DubboParser.php
@@ -72,10 +72,10 @@ class DubboParser
     public function packRequest(DubboRequest $request)
     {
         if (self::DUBBO_PROTOCOL_SERIALIZE_HESSIAN2 == 
self::DUBBO_PROTOCOL_NAME_MAP_CODE[$request->getSerialization()]) {
-            $reqData = $this->buildHessian2Body($request);
+            $reqData = $this->buildBodyForHessian2($request);
             $serialize_type = self::DUBBO_PROTOCOL_SERIALIZE_HESSIAN2;
         } else {
-            $reqData = $this->buildFastJsonBody($request);
+            $reqData = $this->buildBodyForFastJson($request);
             $serialize_type = self::DUBBO_PROTOCOL_SERIALIZE_FAST_JSON;
         }
         $upper = ($request->getSn() & self::UPPER_MASK) >> 32;
@@ -93,7 +93,7 @@ class DubboParser
         return $out . $reqData;
     }
 
-    public function buildFastJsonBody(DubboRequest $request)
+    public function buildBodyForFastJson(DubboRequest $request)
     {
         $reqData = json_encode($request->getDubboVersion()) . PHP_EOL .
             json_encode($request->getService()) . PHP_EOL;
@@ -128,7 +128,7 @@ class DubboParser
 
     }
 
-    public function buildHessian2Body(DubboRequest $request)
+    public function buildBodyForHessian2(DubboRequest $request)
     {
         $hess_stream = new \HessianStream();
         $hess_options = new \HessianOptions();
@@ -193,7 +193,7 @@ class DubboParser
     {
         if (DubboResponse::OK == $response->getStatus()) {
             if (self::DUBBO_PROTOCOL_SERIALIZE_FAST_JSON == 
$response->getSerialization()) {
-                $this->parseResponseBodyForFastjson($response);
+                $this->parseResponseBodyForFastJson($response);
             } else if (self::DUBBO_PROTOCOL_SERIALIZE_HESSIAN2 == 
$response->getSerialization()) {
                 $this->parseResponseBodyForHessian2($response);
             } else {
@@ -205,7 +205,7 @@ class DubboParser
         return $response;
     }
 
-    private function parseResponseBodyForFastjson(DubboResponse $response)
+    private function parseResponseBodyForFastJson(DubboResponse $response)
     {
         $_data = substr($response->getFullData(), self::PACKAGE_HEDA_LEN);
         $response->setResponseBody($_data);
@@ -238,14 +238,16 @@ class DubboParser
 
     private function parseResponseBodyForHessian2(DubboResponse $response)
     {
-        $_data = substr($response->getFullData(), self::PACKAGE_HEDA_LEN + 1);
-        $response->setResponseBody($_data);
-        $hess_stream = new \HessianStream($_data);
-        $hess_options = new \HessianOptions();
-        $hess_factory = new \HessianFactory();
-        $parser = $hess_factory->getParser($hess_stream, $hess_options);
-        $content = $parser->parseReply();
-        $response->setResult($content);
+        if (!$response->isHeartbeatEvent()) {
+            $_data = substr($response->getFullData(), self::PACKAGE_HEDA_LEN + 
1);
+            $response->setResponseBody($_data);
+            $hess_stream = new \HessianStream($_data);
+            $hess_options = new \HessianOptions();
+            $hess_factory = new \HessianFactory();
+            $parser = $hess_factory->getParser($hess_stream, $hess_options);
+            $content = $parser->parseReply();
+            $response->setResult($content);
+        }
         return $response;
     }
 

Reply via email to