1<?php
2/**
3 * Copyright 2007-2016 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 */
17class Horde_Http_Response_Peclhttp extends Horde_Http_Response_Base
18{
19    /**
20     * HttpMessage object.
21     *
22     * @var HttpMessage
23     */
24    protected $_message;
25
26    /**
27     * Constructor.
28     *
29     * @param string $uri
30     * @param HttpMessage $message
31     */
32    public function __construct($uri, HttpMessage $message)
33    {
34        try {
35            $parent = $message->getParentMessage();
36            $location = $parent->getHeader('Location');
37            $this->uri = $location;
38        } catch (HttpRuntimeException $e) {
39            $this->uri = $uri;
40        }
41
42        $this->httpVersion = $message->getHttpVersion();
43        $this->code = $message->getResponseCode();
44        $this->_message = $message;
45        $this->_headers = new Horde_Support_CaseInsensitiveArray(
46            $message->getHeaders()
47        );
48        $this->headers = array_change_key_case($this->_headers->getArrayCopy());
49    }
50
51    public function getBody()
52    {
53        return $this->_message->getBody();
54    }
55}
56