Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
communication_matrix\local\command Class Reference
Inheritance diagram for communication_matrix\local\command:
GuzzleHttp\Psr7\Request Psr\Http\Message\RequestInterface Psr\Http\Message\MessageInterface

Public Member Functions

 __construct (protected matrix_client $client, string $method, string $endpoint, protected array $params=[], protected array $query=[], protected bool $ignorehttperrors=false, protected bool $requireauthorization=true, protected bool $sendasjson=true,)
 Create a new Command.
 
 get_all_params ()
 Get all parameters, including those set in the URL.
 
 get_options ()
 Get the Guzzle options to pass into the request.
 
 get_remaining_params ()
 Get the parameters provided to the command which are not used in the URL.
 
 getBody ()
 Gets the body of the message.
 
 getHeader ($name)
 Retrieves a message header value by the given case-insensitive name.
 
 getHeaderLine ($name)
 Retrieves a comma-separated string of the values for a single header.
 
 getHeaders ()
 Retrieves all message header values.
 
 getMethod ()
 Retrieves the HTTP method of the request.
 
 getProtocolVersion ()
 Retrieves the HTTP protocol version as a string.
 
 getRequestTarget ()
 Retrieves the message's request target.
 
 getUri ()
 Retrieves the URI instance.
 
 hasHeader ($name)
 Checks if a header exists by the given case-insensitive name.
 
 require_authorization ()
 Whether authorization is required.
 
 should_ignore_http_errors ()
 Whether to ignore http errors on the response.
 
 should_send_params_as_json ()
 Whether to send remaining parameters as JSON.
 
 withAddedHeader ($name, $value)
 Return an instance with the specified header appended with the given value.
 
 withBody (StreamInterface $body)
 Return an instance with the specified message body.
 
 withHeader ($name, $value)
 Return an instance with the provided value replacing the specified header.
 
 withMethod ($method)
 Return an instance with the provided HTTP method.
 
 withoutHeader ($name)
 Return an instance without the specified header.
 
 withProtocolVersion ($version)
 Return an instance with the specified HTTP protocol version.
 
 withRequestTarget ($requestTarget)
 Return an instance with the specific request-target.
 
 withUri (UriInterface $uri, $preserveHost=false)
 Returns an instance with the provided URI.
 

Protected Member Functions

 get_url (string $endpoint)
 Get the URL of the endpoint on the server.
 

Protected Attributes

array array null bool bool bool array array null array $remainingparams = []
 $command The raw command data
 

Constructor & Destructor Documentation

◆ __construct()

communication_matrix\local\command::__construct ( protected matrix_client $client,
string $method,
string $endpoint,
protected array $params = [],
protected array $query = [],
protected bool $ignorehttperrors = false,
protected bool $requireauthorization = true,
protected bool $sendasjson = true )

Create a new Command.

Parameters
matrix_client$clientThe URL for this method
string$method(GET|POST|PUT|DELETE)
string$endpointThe URL
array$paramsAny parameters to pass
array$queryAny query parameters to set on the URL
bool$ignorehttperrorsWhether to ignore HTTP Errors
bool$requireauthorizationWhether authorization is required for this request
bool$sendasjsonWhether to send params as JSON

Member Function Documentation

◆ get_all_params()

communication_matrix\local\command::get_all_params ( )

Get all parameters, including those set in the URL.

Return values
array

◆ get_options()

communication_matrix\local\command::get_options ( )

Get the Guzzle options to pass into the request.

Return values
array

◆ get_remaining_params()

communication_matrix\local\command::get_remaining_params ( )

Get the parameters provided to the command which are not used in the URL.

These are typically passed to the server as query or body parameters instead.

Return values
array

◆ get_url()

communication_matrix\local\command::get_url ( string $endpoint)
protected

Get the URL of the endpoint on the server.

Parameters
string$endpoint
Return values
string

◆ getBody()

Psr\Http\Message\MessageInterface::getBody ( )
inherited

Gets the body of the message.

Return values
StreamInterfaceReturns the body as a stream.

◆ getHeader()

Psr\Http\Message\MessageInterface::getHeader ( $name)
inherited

Retrieves a message header value by the given case-insensitive name.

This method returns an array of all the header values of the given case-insensitive header name.

If the header does not appear in the message, this method MUST return an empty array.

Parameters
string$nameCase-insensitive header field name.
Return values
string[]An array of string values as provided for the given header. If the header does not appear in the message, this method MUST return an empty array.

◆ getHeaderLine()

Psr\Http\Message\MessageInterface::getHeaderLine ( $name)
inherited

Retrieves a comma-separated string of the values for a single header.

This method returns all of the header values of the given case-insensitive header name as a string concatenated together using a comma.

NOTE: Not all header values may be appropriately represented using comma concatenation. For such headers, use getHeader() instead and supply your own delimiter when concatenating.

If the header does not appear in the message, this method MUST return an empty string.

Parameters
string$nameCase-insensitive header field name.
Return values
stringA string of values as provided for the given header concatenated together using a comma. If the header does not appear in the message, this method MUST return an empty string.

◆ getHeaders()

Psr\Http\Message\MessageInterface::getHeaders ( )
inherited

Retrieves all message header values.

The keys represent the header name as it will be sent over the wire, and each value is an array of strings associated with the header.

// Represent the headers as a string
foreach ($message->getHeaders() as $name => $values) {
    echo $name . ": " . implode(", ", $values);
}

// Emit headers iteratively:
foreach ($message->getHeaders() as $name => $values) {
    foreach ($values as $value) {
        header(sprintf('%s: %s', $name, $value), false);
    }
}

While header names are not case-sensitive, getHeaders() will preserve the exact case in which headers were originally specified.

Return values
string[][]Returns an associative array of the message's headers. Each key MUST be a header name, and each value MUST be an array of strings for that header.

◆ getMethod()

GuzzleHttp\Psr7\Request::getMethod ( )
inherited

Retrieves the HTTP method of the request.

Return values
stringReturns the request method.

Implements Psr\Http\Message\RequestInterface.

◆ getProtocolVersion()

Psr\Http\Message\MessageInterface::getProtocolVersion ( )
inherited

Retrieves the HTTP protocol version as a string.

The string MUST contain only the HTTP version number (e.g., "1.1", "1.0").

Return values
stringHTTP protocol version.

◆ getRequestTarget()

GuzzleHttp\Psr7\Request::getRequestTarget ( )
inherited

Retrieves the message's request target.

Retrieves the message's request-target either as it will appear (for clients), as it appeared at request (for servers), or as it was specified for the instance (see withRequestTarget()).

In most cases, this will be the origin-form of the composed URI, unless a value was provided to the concrete implementation (see withRequestTarget() below).

If no URI is available, and no request-target has been specifically provided, this method MUST return the string "/".

Return values
string

Implements Psr\Http\Message\RequestInterface.

◆ getUri()

GuzzleHttp\Psr7\Request::getUri ( )
inherited

Retrieves the URI instance.

This method MUST return a UriInterface instance.

@externalurl http://tools.ietf.org/html/rfc3986#section-4.3

Return values
UriInterfaceReturns a UriInterface instance representing the URI of the request.

Implements Psr\Http\Message\RequestInterface.

◆ hasHeader()

Psr\Http\Message\MessageInterface::hasHeader ( $name)
inherited

Checks if a header exists by the given case-insensitive name.

Parameters
string$nameCase-insensitive header field name.
Return values
boolReturns true if any header names match the given header name using a case-insensitive string comparison. Returns false if no matching header name is found in the message.

◆ require_authorization()

communication_matrix\local\command::require_authorization ( )

Whether authorization is required.

Based on the 'authorization' attribute set in a raw command.

Return values
bool

◆ should_ignore_http_errors()

communication_matrix\local\command::should_ignore_http_errors ( )

Whether to ignore http errors on the response.

Based on the 'ignore_http_errors' attribute set in a raw command.

Return values
bool

◆ should_send_params_as_json()

communication_matrix\local\command::should_send_params_as_json ( )

Whether to send remaining parameters as JSON.

Return values
bool

◆ withAddedHeader()

Psr\Http\Message\MessageInterface::withAddedHeader ( $name,
$value )
inherited

Return an instance with the specified header appended with the given value.

Existing values for the specified header will be maintained. The new value(s) will be appended to the existing list. If the header did not exist previously, it will be added.

This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return an instance that has the new header and/or value.

Parameters
string$nameCase-insensitive header field name to add.
string | string[]$valueHeader value(s).
Return values
static
Exceptions
InvalidArgumentExceptionfor invalid header names or values.

◆ withBody()

Psr\Http\Message\MessageInterface::withBody ( StreamInterface $body)
inherited

Return an instance with the specified message body.

The body MUST be a StreamInterface object.

This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return a new instance that has the new body stream.

Parameters
StreamInterface$bodyBody.
Return values
static
Exceptions
InvalidArgumentExceptionWhen the body is not valid.

◆ withHeader()

Psr\Http\Message\MessageInterface::withHeader ( $name,
$value )
inherited

Return an instance with the provided value replacing the specified header.

While header names are case-insensitive, the casing of the header will be preserved by this function, and returned from getHeaders().

This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return an instance that has the new and/or updated header and value.

Parameters
string$nameCase-insensitive header field name.
string | string[]$valueHeader value(s).
Return values
static
Exceptions
InvalidArgumentExceptionfor invalid header names or values.

◆ withMethod()

GuzzleHttp\Psr7\Request::withMethod ( $method)
inherited

Return an instance with the provided HTTP method.

While HTTP method names are typically all uppercase characters, HTTP method names are case-sensitive and thus implementations SHOULD NOT modify the given string.

This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return an instance that has the changed request method.

Parameters
string$methodCase-sensitive method.
Return values
static
Exceptions
InvalidArgumentExceptionfor invalid HTTP methods.

Implements Psr\Http\Message\RequestInterface.

◆ withoutHeader()

Psr\Http\Message\MessageInterface::withoutHeader ( $name)
inherited

Return an instance without the specified header.

Header resolution MUST be done without case-sensitivity.

This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return an instance that removes the named header.

Parameters
string$nameCase-insensitive header field name to remove.
Return values
static

◆ withProtocolVersion()

Psr\Http\Message\MessageInterface::withProtocolVersion ( $version)
inherited

Return an instance with the specified HTTP protocol version.

The version string MUST contain only the HTTP version number (e.g., "1.1", "1.0").

This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return an instance that has the new protocol version.

Parameters
string$versionHTTP protocol version
Return values
static

◆ withRequestTarget()

GuzzleHttp\Psr7\Request::withRequestTarget ( $requestTarget)
inherited

Return an instance with the specific request-target.

If the request needs a non-origin-form request-target — e.g., for specifying an absolute-form, authority-form, or asterisk-form — this method may be used to create an instance with the specified request-target, verbatim.

This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return an instance that has the changed request target.

@externalurl http://tools.ietf.org/html/rfc7230#section-5.3 (for the various request-target forms allowed in request messages)

Parameters
mixed$requestTarget
Return values
static

Implements Psr\Http\Message\RequestInterface.

◆ withUri()

GuzzleHttp\Psr7\Request::withUri ( UriInterface $uri,
$preserveHost = false )
inherited

Returns an instance with the provided URI.

This method MUST update the Host header of the returned request by default if the URI contains a host component. If the URI does not contain a host component, any pre-existing Host header MUST be carried over to the returned request.

You can opt-in to preserving the original state of the Host header by setting $preserveHost to true. When $preserveHost is set to true, this method interacts with the Host header in the following ways:

  • If the Host header is missing or empty, and the new URI contains a host component, this method MUST update the Host header in the returned request.
  • If the Host header is missing or empty, and the new URI does not contain a host component, this method MUST NOT update the Host header in the returned request.
  • If a Host header is present and non-empty, this method MUST NOT update the Host header in the returned request.

This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return an instance that has the new UriInterface instance.

@externalurl http://tools.ietf.org/html/rfc3986#section-4.3

Parameters
UriInterface$uriNew request URI to use.
bool$preserveHostPreserve the original state of the Host header.
Return values
static

Implements Psr\Http\Message\RequestInterface.

Member Data Documentation

◆ $remainingparams

array array null bool bool bool array array null array communication_matrix\local\command::$remainingparams = []
protected

$command The raw command data

$params The parameters passed into the command $sendasjson Whether to send params as JSON $requireauthorization Whether authorization is required for this request $ignorehttperrors Whether to ignore HTTP Errors $query Any query parameters to set on the URL Any parameters not used in the URI which are to be passed to the server via body or query params


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