]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - includes/DerivativeRequest.php
MediaWiki 1.30.2
[autoinstalls/mediawiki.git] / includes / DerivativeRequest.php
1 <?php
2 /**
3  * Deal with importing all those nasty globals and things
4  *
5  * Copyright © 2003 Brion Vibber <brion@pobox.com>
6  * https://www.mediawiki.org/
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License along
19  * with this program; if not, write to the Free Software Foundation, Inc.,
20  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21  * http://www.gnu.org/copyleft/gpl.html
22  *
23  * @file
24  */
25
26 /**
27  * Similar to FauxRequest, but only fakes URL parameters and method
28  * (POST or GET) and use the base request for the remaining stuff
29  * (cookies, session and headers).
30  *
31  * @ingroup HTTP
32  * @since 1.19
33  */
34 class DerivativeRequest extends FauxRequest {
35         private $base;
36
37         /**
38          * @param WebRequest $base
39          * @param array $data Array of *non*-urlencoded key => value pairs, the
40          *   fake GET/POST values
41          * @param bool $wasPosted Whether to treat the data as POST
42          */
43         public function __construct( WebRequest $base, $data, $wasPosted = false ) {
44                 $this->base = $base;
45                 parent::__construct( $data, $wasPosted );
46         }
47
48         public function getCookie( $key, $prefix = null, $default = null ) {
49                 return $this->base->getCookie( $key, $prefix, $default );
50         }
51
52         public function getHeader( $name, $flags = 0 ) {
53                 return $this->base->getHeader( $name, $flags );
54         }
55
56         public function getAllHeaders() {
57                 return $this->base->getAllHeaders();
58         }
59
60         public function getSession() {
61                 return $this->base->getSession();
62         }
63
64         public function getSessionData( $key ) {
65                 return $this->base->getSessionData( $key );
66         }
67
68         public function setSessionData( $key, $data ) {
69                 $this->base->setSessionData( $key, $data );
70         }
71
72         public function getAcceptLang() {
73                 return $this->base->getAcceptLang();
74         }
75
76         public function getIP() {
77                 return $this->base->getIP();
78         }
79
80         public function getProtocol() {
81                 return $this->base->getProtocol();
82         }
83
84         public function getElapsedTime() {
85                 return $this->base->getElapsedTime();
86         }
87 }