110 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Zend Framework (http://framework.zend.com/)
 | |
|  *
 | |
|  * @link      http://github.com/zendframework/zf2 for the canonical source repository
 | |
|  * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
 | |
|  * @license   http://framework.zend.com/license/new-bsd New BSD License
 | |
|  * @package   Zend_Service
 | |
|  */
 | |
| 
 | |
| namespace ZendServiceTest\Apple\Apns\TestAsset;
 | |
| 
 | |
| use ZendService\Apple\Apns\Exception;
 | |
| use ZendService\Apple\Apns\Client\Message as ZfMessageClient;
 | |
| 
 | |
| /**
 | |
|  * Message Client Proxy
 | |
|  * This class is utilized for unit testing purposes
 | |
|  *
 | |
|  * @category   ZendService
 | |
|  * @package    ZendService_Apple
 | |
|  * @subpackage Apns
 | |
|  */
 | |
| class MessageClient extends ZfMessageClient
 | |
| {
 | |
|     /**
 | |
|      * Read Response
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $readResponse;
 | |
| 
 | |
|     /**
 | |
|      * Write Response
 | |
|      *
 | |
|      * @var mixed
 | |
|      */
 | |
|     protected $writeResponse;
 | |
| 
 | |
|     /**
 | |
|      * Set the Response
 | |
|      *
 | |
|      * @param  string        $str
 | |
|      * @return MessageClient
 | |
|      */
 | |
|     public function setReadResponse($str)
 | |
|     {
 | |
|         $this->readResponse = $str;
 | |
| 
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Set the write response
 | |
|      *
 | |
|      * @param  mixed         $resp
 | |
|      * @return MessageClient
 | |
|      */
 | |
|     public function setWriteResponse($resp)
 | |
|     {
 | |
|         $this->writeResponse = $resp;
 | |
| 
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Connect to Host
 | |
|      *
 | |
|      * @return MessageClient
 | |
|      */
 | |
|     protected function connect($host, array $ssl)
 | |
|     {
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Return Response
 | |
|      *
 | |
|      * @param  string $length
 | |
|      * @return string
 | |
|      */
 | |
|     protected function read($length = 1024)
 | |
|     {
 | |
|         if (! $this->isConnected()) {
 | |
|             throw new Exception\RuntimeException('You must open the connection prior to reading data');
 | |
|         }
 | |
|         $ret = substr($this->readResponse, 0, $length);
 | |
|         $this->readResponse = null;
 | |
| 
 | |
|         return $ret;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Write and Return Length
 | |
|      *
 | |
|      * @param  string $payload
 | |
|      * @return int
 | |
|      */
 | |
|     protected function write($payload)
 | |
|     {
 | |
|         if (! $this->isConnected()) {
 | |
|             throw new Exception\RuntimeException('You must open the connection prior to writing data');
 | |
|         }
 | |
|         $ret = $this->writeResponse;
 | |
|         $this->writeResponse = null;
 | |
| 
 | |
|         return (null === $ret) ? strlen($payload) : $ret;
 | |
|     }
 | |
| }
 | 
