MediaWiki  REL1_31
Http Class Reference

Various HTTP related functions. More...

Inheritance diagram for Http:

Static Public Member Functions

static createMultiClient ( $options=[])
 Get a configured MultiHttpClient. More...
 
static get ( $url, $options=[], $caller=__METHOD__)
 Simple wrapper for Http::request( 'GET' ) More...
 
static getProxy ()
 Gets the relevant proxy from $wgHTTPProxy. More...
 
static isValidURI ( $uri)
 Checks that the given URI is a valid one. More...
 
static post ( $url, $options=[], $caller=__METHOD__)
 Simple wrapper for Http::request( 'POST' ) More...
 
static request ( $method, $url, $options=[], $caller=__METHOD__)
 Perform an HTTP request. More...
 
static userAgent ()
 A standard user-agent we can use for external requests. More...
 

Static Public Attributes

static $httpEngine = false
 

Detailed Description

Various HTTP related functions.

Definition at line 27 of file Http.php.

Member Function Documentation

◆ createMultiClient()

static Http::createMultiClient (   $options = [])
static

Get a configured MultiHttpClient.

Parameters
array$options
Returns
MultiHttpClient

Definition at line 173 of file Http.php.

References $options, $wgHTTPConnectTimeout, $wgHTTPProxy, $wgHTTPTimeout, and global.

◆ get()

static Http::get (   $url,
  $options = [],
  $caller = __METHOD__ 
)
static

Simple wrapper for Http::request( 'GET' )

See also
Http::request()
Since
1.25 Second parameter $timeout removed. Second parameter is now $options which can be given a 'timeout'
Parameters
string$url
array$options
string$callerThe method making this request, for profiling
Returns
string|bool false on error

Reimplemented in MediaWikiPageNameNormalizerTestMockHttp.

Definition at line 98 of file Http.php.

References $args, $options, request(), and wfWarn().

Referenced by Installer\dirIsExecutable(), BenchHttpHttps\doRequest(), ImportableUploadRevisionImporter\downloadSource(), ImportSiteScripts\execute(), ExternalStoreHttp\fetchFromURL(), PopulateInterwiki\fetchLinks(), ImportSiteScripts\fetchScriptList(), File\getDescriptionText(), ForeignDBFile\getDescriptionText(), ImportImages\getFileCommentFromSourceWiki(), ImportImages\getFileUserFromSourceWiki(), and FindHooks\getHooksFromOnlineDocCategory().

◆ getProxy()

static Http::getProxy ( )
static

Gets the relevant proxy from $wgHTTPProxy.

Returns
mixed The proxy address or an empty string if not set.

Definition at line 158 of file Http.php.

References $wgHTTPProxy, and global.

Referenced by MWHttpRequest\proxySetup(), and HttpTest\testGetProxy().

◆ isValidURI()

static Http::isValidURI (   $uri)
static

Checks that the given URI is a valid one.

Hardcoding the protocols, because we only want protocols that both cURL and php support.

file:// should not be allowed here for security purpose (r67684)

Todo:
FIXME this is wildly inaccurate and fails to actually check most stuff
Parameters
string$uriURI to check for validity
Returns
bool

Definition at line 146 of file Http.php.

Referenced by MWHttpRequest\__construct(), PhpHttpRequest\execute(), UploadFromUrl\fetchFile(), SideBarTest\initMessagesHref(), and HttpTest\testIsValidUri().

◆ post()

static Http::post (   $url,
  $options = [],
  $caller = __METHOD__ 
)
static

Simple wrapper for Http::request( 'POST' )

See also
Http::request()
Parameters
string$url
array$options
string$callerThe method making this request, for profiling
Returns
string|bool false on error

Definition at line 121 of file Http.php.

References $options, and request().

Referenced by Pingback\postPingback().

◆ request()

static Http::request (   $method,
  $url,
  $options = [],
  $caller = __METHOD__ 
)
static

Perform an HTTP request.

Parameters
string$methodHTTP method. Usually GET/POST
string$urlFull URL to act on. If protocol-relative, will be expanded to an http:// URL
array$optionsOptions to pass to MWHttpRequest object. Possible keys for the array:
  • timeout Timeout length in seconds
  • connectTimeout Timeout for connection, in seconds (curl only)
  • postData An array of key-value pairs or a url-encoded form data
  • proxy The proxy to use. Otherwise it will use $wgHTTPProxy (if set) Otherwise it will use the environment variable "http_proxy" (if set)
  • noProxy Don't use any proxy at all. Takes precedence over proxy value(s).
  • sslVerifyHost Verify hostname against certificate
  • sslVerifyCert Verify SSL certificate
  • caInfo Provide CA information
  • maxRedirects Maximum number of redirects to follow (defaults to 5)
  • followRedirects Whether to follow redirects (defaults to false). Note: this should only be used when the target URL is trusted, to avoid attacks on intranet services accessible by HTTP.
  • userAgent A user agent, if you want to override the default MediaWiki/$wgVersion
  • logger A \Psr\Logger\LoggerInterface instance for debug logging
  • username Username for HTTP Basic Authentication
  • password Password for HTTP Basic Authentication
  • originalRequest Information about the original request (as a WebRequest object or an associative array with 'ip' and 'userAgent').
string$callerThe method making this request, for profiling
Returns
string|bool (bool)false on failure or a string on success

Definition at line 61 of file Http.php.

References $options, $req, MWHttpRequest\factory(), and Status\wrap().

Referenced by FileBackendTest\doTestGetFileHttpUrl(), get(), ImportStreamSource\newFromURL(), and post().

◆ userAgent()

static Http::userAgent ( )
static

A standard user-agent we can use for external requests.

Returns
string

Definition at line 129 of file Http.php.

References $wgVersion, and global.

Referenced by MediaWiki\Sparql\SparqlClient\__construct(), ForeignAPIRepo\getUserAgent(), MediaWiki\Sparql\SparqlClientTest\optionsProvider(), MWHttpRequest\prepare(), and SquidPurgeClient\queuePurge().

Member Data Documentation

◆ $httpEngine


The documentation for this class was generated from the following file: