public static function init() { // Obfuscated self::$PRIMITIVE_TYPES[self::OBFUSCATED_CLASS_REFIX . BOOLEAN_TYPE] = Boolean::typeClass(); self::$PRIMITIVE_TYPES[self::OBFUSCATED_CLASS_REFIX . BYTE_TYPE] = Byte::typeClass(); self::$PRIMITIVE_TYPES[self::OBFUSCATED_CLASS_REFIX . CHAR_TYPE] = Character::typeClass(); self::$PRIMITIVE_TYPES[self::OBFUSCATED_CLASS_REFIX . DOUBLE_TYPE] = Double::typeClass(); self::$PRIMITIVE_TYPES[self::OBFUSCATED_CLASS_REFIX . FLOAT_TYPE] = Float::typeClass(); self::$PRIMITIVE_TYPES[self::OBFUSCATED_CLASS_REFIX . INT_TYPE] = Integer::typeClass(); self::$PRIMITIVE_TYPES[self::OBFUSCATED_CLASS_REFIX . LONG_TYPE] = Long::typeClass(); self::$PRIMITIVE_TYPES[self::OBFUSCATED_CLASS_REFIX . SHORT_TYPE] = Short::typeClass(); self::$PRIMITIVE_TYPES[self::OBFUSCATED_CLASS_REFIX . VOID_TYPE] = Void::typeClass(); // Regular self::$PRIMITIVE_TYPES[Boolean::typeClass()->getName()] = Boolean::typeClass(); self::$PRIMITIVE_TYPES[Byte::typeClass()->getName()] = Byte::typeClass(); self::$PRIMITIVE_TYPES[Character::typeClass()->getName()] = Character::typeClass(); self::$PRIMITIVE_TYPES[Double::typeClass()->getName()] = Double::typeClass(); self::$PRIMITIVE_TYPES[Float::typeClass()->getName()] = Float::typeClass(); self::$PRIMITIVE_TYPES[Integer::typeClass()->getName()] = Integer::typeClass(); self::$PRIMITIVE_TYPES[Long::typeClass()->getName()] = Long::typeClass(); self::$PRIMITIVE_TYPES[Short::typeClass()->getName()] = Short::typeClass(); self::$PRIMITIVE_TYPES[Void::typeClass()->getName()] = Void::typeClass(); }
private static function encodeResponse(Clazz $responseClass, $object, $wasThrown, $flags, $serializationPolicy) { $stream = new ServerSerializationStreamWriter($serializationPolicy); $stream->setFlags($flags); $stream->prepareToWrite(); if ($responseClass !== Void::typeClass()) { $stream->serializeValue($object, $responseClass); } $bufferStr = ($wasThrown ? '//EX' : '//OK') . (string) $stream; return $bufferStr; }