MediaWiki master
MediaWiki\Http\GuzzleHttpRequest Class Reference

MWHttpRequest implemented using the Guzzle library. More...

Inherits MediaWiki\Http\MWHttpRequest.

Collaboration diagram for MediaWiki\Http\GuzzleHttpRequest:

Public Member Functions

 __construct ( $url, array $options=[], $caller=__METHOD__, ?Profiler $profiler=null)
 
 execute ()
 
 setCallback ( $callback)
 Set a read callback to accept data read from the HTTP request.
 
- Public Member Functions inherited from MediaWiki\Http\MWHttpRequest
 __construct ( $url, array $options, string $caller=__METHOD__, protected readonly ?Profiler $profiler=null,)
 
 addTelemetry (TelemetryHeadersInterface $telemetry)
 Add Telemetry information to the request.
 
 canFollowRedirects ()
 Returns true if the backend can follow redirects.
 
 getContent ()
 Get the body, or content, of the response to the request.
 
 getCookieJar ()
 Returns the cookie jar in use.
 
 getFinalUrl ()
 Returns the final URL after all redirections.
 
 getResponseHeader ( $header)
 Returns the value of the given response header.
 
 getResponseHeaders ()
 Returns an associative array of response headers after the request has been executed.
 
 getStatus ()
 Get the integer value of the HTTP status code (e.g.
 
 isRedirect ()
 Returns true if the last status code was a redirect.
 
 read ( $fh, $content)
 A generic callback to read the body of the response from a remote server.
 
 setCookie ( $name, $value, array $attr=[])
 Sets a cookie.
 
 setCookieJar (CookieJar $jar)
 Tells the MWHttpRequest object to use this pre-loaded CookieJar.
 
 setData (array $args)
 Set the parameters of the request.
 
 setHeader ( $name, $value)
 Set an arbitrary header.
 
 setLogger (LoggerInterface $logger)
 
 setOriginalRequest ( $originalRequest)
 Set information about the original request.
 
 setUserAgent ( $UA)
 

Public Attributes

const SUPPORTS_FILE_POSTS = true
 
- Public Attributes inherited from MediaWiki\Http\MWHttpRequest
const SUPPORTS_FILE_POSTS = false
 

Protected Member Functions

 doSetCallback ( $callback)
 Worker function for setting callbacks.
 
 parseHeader ()
 Guzzle provides headers as an array.
 
 prepare ()
 
 usingCurl ()
 
- Protected Member Functions inherited from MediaWiki\Http\MWHttpRequest
 parseCookies ()
 Parse the cookies in the response headers and store them in the cookie jar.
 
 proxySetup ()
 Take care of setting up the proxy (do nothing if "noProxy" is set)
 
 setReverseProxy (string $proxy)
 Enable use of a reverse proxy in which the hostname is passed as a "Host" header, and the request is sent to the proxy's host:port instead.
 
 setStatus ()
 Sets HTTPRequest status member to a fatal value with the error message if the returned integer value of the status code was not successful (1-299) or a redirect (300-399).
 

Protected Attributes

array $guzzleOptions = [ 'http_errors' => false ]
 
callable null $handler = null
 
StreamInterface $sink = null
 
- Protected Attributes inherited from MediaWiki\Http\MWHttpRequest
string null $caInfo = null
 
callable $callback
 
int $connectTimeout
 
string null $content
 
CookieJar $cookieJar
 
bool $followRedirects = false
 
array $headerList = []
 
bool null $headersOnly = null
 
LoggerInterface $logger
 
int $maxRedirects = 5
 
string $method = "GET"
 
bool $noProxy = false
 
array false $parsedUrl
 
array null $postData = null
 
readonly string $profileName
 
string null $proxy = null
 
array $reqHeaders = []
 
string[][] $respHeaders = []
 
string $respStatus = "200 Ok"
 
string $respVersion = "0.9"
 
bool $sslVerifyCert = true
 
bool $sslVerifyHost = true
 
readonly StatusValue $status
 
int string $timeout = 'default'
 
string $url
 

Additional Inherited Members

- Static Public Member Functions inherited from MediaWiki\Http\MWHttpRequest
static canMakeRequests ()
 Simple function to test if we can make any sort of requests at all, using cURL or fopen()
 
static isValidURI ( $uri)
 Check that the given URI is a valid one.
 

Detailed Description

MWHttpRequest implemented using the Guzzle library.

Note
a new 'sink' option is available as an alternative to callbacks. See: http://docs.guzzlephp.org/en/stable/request-options.html#sink) The 'callback' option remains available as well. If both 'sink' and 'callback' are specified, 'sink' is used.
Callers may set a custom handler via the 'handler' option. If this is not set, Guzzle will use curl (if available) or PHP streams (otherwise)
Setting either sslVerifyHost or sslVerifyCert will enable both. Guzzle does not allow them to be set separately.
Since
1.33

Definition at line 38 of file GuzzleHttpRequest.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Http\GuzzleHttpRequest::__construct ( $url,
array $options = [],
$caller = __METHOD__,
?Profiler $profiler = null )
Access: internal
Use HttpRequestFactory
Parameters
string$urlUrl to use. If protocol-relative, will be expanded to an http:// URL
array$options(optional) extra params to pass (see HttpRequestFactory::create())
string$callerThe method making this request, for profiling
Profiler | null$profilerAn instance of the profiler for profiling, or null
Exceptions

\Exception

Definition at line 55 of file GuzzleHttpRequest.php.

References MediaWiki\Http\MWHttpRequest\$url.

Member Function Documentation

◆ doSetCallback()

MediaWiki\Http\GuzzleHttpRequest::doSetCallback ( $callback)
protected

Worker function for setting callbacks.

Calls can originate both internally and externally via setCallback). Defaults to the internal read callback if $callback is null.

If a sink is already specified, this does nothing. This causes the 'sink' constructor option to override the 'callback' constructor option.

Parameters
callable | null$callback

Reimplemented from MediaWiki\Http\MWHttpRequest.

Definition at line 101 of file GuzzleHttpRequest.php.

References MediaWiki\Http\MWHttpRequest\$callback.

Referenced by MediaWiki\Http\GuzzleHttpRequest\prepare(), and MediaWiki\Http\GuzzleHttpRequest\setCallback().

◆ execute()

◆ parseHeader()

MediaWiki\Http\GuzzleHttpRequest::parseHeader ( )
protected

Guzzle provides headers as an array.

Reprocess to match our expectations. Guzzle will have already parsed and removed the status line (in EasyHandle::createResponse).

Reimplemented from MediaWiki\Http\MWHttpRequest.

Definition at line 276 of file GuzzleHttpRequest.php.

Referenced by MediaWiki\Http\GuzzleHttpRequest\execute().

◆ prepare()

MediaWiki\Http\GuzzleHttpRequest::prepare ( )
protected

◆ setCallback()

MediaWiki\Http\GuzzleHttpRequest::setCallback ( $callback)

Set a read callback to accept data read from the HTTP request.

By default, data is appended to an internal buffer which can be retrieved through $req->getContent().

To handle data as it comes in – especially for large files that would not fit in memory – you can instead set your own callback, in the form function($resource, $buffer) where the first parameter is the low-level resource being read (implementation specific), and the second parameter is the data buffer.

You MUST return the number of bytes handled in the buffer; if fewer bytes are reported handled than were passed to you, the HTTP fetch will be aborted.

This function overrides any 'sink' or 'callback' constructor option.

Parameters
callable | null$callback

Reimplemented from MediaWiki\Http\MWHttpRequest.

Definition at line 87 of file GuzzleHttpRequest.php.

References MediaWiki\Http\MWHttpRequest\$callback, and MediaWiki\Http\GuzzleHttpRequest\doSetCallback().

◆ usingCurl()

MediaWiki\Http\GuzzleHttpRequest::usingCurl ( )
protected

Definition at line 267 of file GuzzleHttpRequest.php.

Referenced by MediaWiki\Http\GuzzleHttpRequest\execute().

Member Data Documentation

◆ $guzzleOptions

array MediaWiki\Http\GuzzleHttpRequest::$guzzleOptions = [ 'http_errors' => false ]
protected

Definition at line 44 of file GuzzleHttpRequest.php.

◆ $handler

callable null MediaWiki\Http\GuzzleHttpRequest::$handler = null
protected

Definition at line 42 of file GuzzleHttpRequest.php.

◆ $sink

StreamInterface MediaWiki\Http\GuzzleHttpRequest::$sink = null
protected

Definition at line 43 of file GuzzleHttpRequest.php.

Referenced by MediaWiki\Http\GuzzleHttpRequest\execute().

◆ SUPPORTS_FILE_POSTS

const MediaWiki\Http\GuzzleHttpRequest::SUPPORTS_FILE_POSTS = true

Definition at line 39 of file GuzzleHttpRequest.php.


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