Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 public function serialize(Message $message, array $options = [])
 {
     if (isset($options['json_encode_options'])) {
         return json_encode(parent::serialize($message, $options), $options['json_encode_options']);
     }
     return json_encode(parent::serialize($message, $options));
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  *
  * Note that the greater the yaml_inline option the slower it is.
  * 3 provides really good human readability but if you need
  * speed use 0 or 1.
  */
 public function serialize(Message $message, array $options = [])
 {
     if (!isset($options['yaml_inline'])) {
         $options['yaml_inline'] = 3;
     }
     if (!isset($options['yaml_indent'])) {
         $options['yaml_indent'] = 2;
     }
     return Yaml::dump(parent::serialize($message, $options), (int) $options['yaml_inline'], (int) $options['yaml_indent']);
 }
Esempio n. 3
0
 /**
  * {@inheritdoc}
  * todo: review performance
  */
 public final function generateEtag(array $ignoredFields = [])
 {
     if (null === self::$serializer) {
         self::$serializer = new PhpArraySerializer();
     }
     $array = self::$serializer->serialize($this, ['includeAllFields' => true]);
     if (empty($ignoredFields)) {
         return md5(json_encode($array));
     }
     foreach ($ignoredFields as $field) {
         unset($array[$field]);
     }
     return md5(json_encode($array));
 }