Overview

Packages

  • Http

Classes

  • Horde_Http
  • Horde_Http_Client
  • Horde_Http_Exception
  • Horde_Http_Request_Base
  • Horde_Http_Request_Curl
  • Horde_Http_Request_Factory
  • Horde_Http_Request_Fopen
  • Horde_Http_Request_Mock
  • Horde_Http_Request_Peclhttp
  • Horde_Http_Response_Base
  • Horde_Http_Response_Curl
  • Horde_Http_Response_Fopen
  • Horde_Http_Response_Mock
  • Horde_Http_Response_Peclhttp
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * Copyright 2007-2012 Horde LLC (http://www.horde.org/)
 4:  *
 5:  * @author   Chuck Hagenbuch <chuck@horde.org>
 6:  * @license  http://www.horde.org/licenses/bsd BSD
 7:  * @category Horde
 8:  * @package  Http
 9:  */
10: 
11: /**
12:  * @author   Chuck Hagenbuch <chuck@horde.org>
13:  * @license  http://www.horde.org/licenses/bsd BSD
14:  * @category Horde
15:  * @package  Http
16:  */
17: class Horde_Http_Response_Fopen extends Horde_Http_Response_Base
18: {
19:     /**
20:      * Response body.
21:      *
22:      * @var stream
23:      */
24:     protected $_stream;
25: 
26:     /**
27:      * Response content
28:      */
29:     protected $_content;
30: 
31:     /**
32:      * Constructor.
33:      */
34:     public function __construct($uri, $stream, $headers = array())
35:     {
36:         $this->uri = $uri;
37:         $this->_stream = $stream;
38:         $this->_parseHeaders($headers);
39:     }
40: 
41:     /**
42:      * Returns the body of the HTTP response.
43:      *
44:      * @throws Horde_Http_Exception
45:      * @return string HTTP response body.
46:      */
47:     public function getBody()
48:     {
49:         if (is_null($this->_content)) {
50:             $oldTrackErrors = ini_set('track_errors', 1);
51:             $content = @stream_get_contents($this->_stream);
52:             ini_set('track_errors', $oldTrackErrors);
53:             if ($content === false) {
54:                 $msg = 'Problem reading data from ' . $this->uri;
55:                 if (isset($php_errormsg)) {
56:                     $msg .= ': ' . $php_errormsg;
57:                 }
58:                 throw new Horde_Http_Exception($msg);
59:             }
60:             $this->_content = $content;
61:         }
62: 
63:         return $this->_content;
64:     }
65: 
66:     /**
67:      * Returns a stream pointing to the response body that can be used with
68:      * all standard PHP stream functions.
69:      */
70:     public function getStream()
71:     {
72:         return $this->_stream;
73:     }
74: }
75: 
API documentation generated by ApiGen