/**
  * @param Request $request
  * @return string
  */
 public function encodeRequest(Request $request)
 {
     $closure = $request->getClosure();
     $serialized = $this->serializer->serialize($closure);
     $request = new Request($serialized);
     return $this->encodeMessage($request);
 }
Example #2
0
 /**
  * Parse the json decode to convert to objects again
  *
  * @param mixed $value
  * @return mixed
  */
 protected function unserializeData($value)
 {
     if (is_scalar($value) || $value === null) {
         return $value;
     }
     if (isset($value[static::CLASS_IDENTIFIER_KEY])) {
         return $this->unserializeObject($value);
     }
     if (!empty($value[static::CLOSURE_IDENTIFIER_KEY])) {
         if (!$this->closureSerializer) {
             throw new JsonSerializerException('Closure serializer not provided to unserialize closure');
         }
         return $this->closureSerializer->unserialize($value['value']);
     }
     return array_map(array($this, __FUNCTION__), $value);
 }
Example #3
0
 /**
  * Returns closure data for `var_dump()`.
  *
  * @return array
  */
 public function __debugInfo()
 {
     return $this->data ?: $this->serializer->getData($this->closure, true);
 }
Example #4
0
 /**
  * @return mixed
  */
 public function getData()
 {
     return $this->serializer->serialize($this->closure);
 }