48 $session =
null, $protocol =
'http'
50 $this->requestTime = microtime(
true );
52 if ( is_array(
$data ) ) {
55 throw new MWException(
"FauxRequest() got bogus data" );
58 if ( $session instanceof
MediaWiki\Session\Session ) {
59 $this->sessionId = $session->getSessionId();
60 } elseif ( is_array( $session ) ) {
61 $mwsession = SessionManager::singleton()->getEmptySession( $this );
62 $this->sessionId = $mwsession->getSessionId();
63 foreach ( $session as $key => $value ) {
64 $mwsession->set( $key, $value );
66 } elseif ( $session !==
null ) {
67 throw new MWException(
"FauxRequest() got bogus session" );
84 public function getText( $name, $default =
'' ) {
85 # Override; don't recode since we're using internal data
86 return (
string)$this->
getVal( $name, $default );
101 return $this->
wasPosted ?
'POST' :
'GET';
108 return $this->wasPosted;
111 public function getCookie( $key, $prefix =
null, $default =
null ) {
112 if ( $prefix ===
null ) {
116 $name = $prefix . $key;
117 return $this->cookies[$name] ?? $default;
126 public function setCookie( $key, $value, $prefix =
null ) {
127 $this->
setCookies( [ $key => $value ], $prefix );
136 if ( $prefix ===
null ) {
140 foreach (
$cookies as $key => $value ) {
141 $name = $prefix . $key;
142 $this->cookies[$name] = $value;
151 $this->requestUrl = $url;
160 if ( $this->requestUrl ===
null ) {
163 return $this->requestUrl;
167 return $this->protocol;
183 foreach (
$headers as $name => $val ) {
184 $name = strtoupper( $name );
185 $this->headers[$name] = $val;
193 if ( $this->sessionId !==
null ) {
194 return iterator_to_array( $this->
getSession() );
$wgCookiePrefix
Cookies generated by MediaWiki have names starting with this prefix.
WebRequest clone which takes values from a provided array.
setCookie( $key, $value, $prefix=null)
getText( $name, $default='')
getRawPostString()
FauxRequests shouldn't depend on raw request data (but that could be implemented here)
initHeaders()
Initialise the header list.
checkUrlExtension( $extWhitelist=[])
getRawInput()
FauxRequests shouldn't depend on raw request data (but that could be implemented here)
setCookies( $cookies, $prefix=null)
getProtocol()
Get the current URL protocol (http or https)
getMethod()
Get the HTTP method used for this request.
__construct( $data=[], $wasPosted=false, $session=null, $protocol='http')
getCookie( $key, $prefix=null, $default=null)
Get a cookie from the $_COOKIE jar.
getRawQueryString()
FauxRequests shouldn't depend on raw request data (but that could be implemented here)
The WebRequest class encapsulates getting at data passed in the URL or via a POSTed form stripping il...
array $headers
Lazy-initialized request headers indexed by upper-case header name.
string $protocol
Cached URL protocol.
getSession()
Return the session for this request.
getVal( $name, $default=null)
Fetch a scalar from the input or return $default if it's not set.
array $data
The parameters from $_GET, $_POST and the path router.