Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.3.x will end 7 October 2024 (12 months).
  • Bug fixes for security issues in 4.3.x will end 21 April 2025 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.2.x is supported too.

(no description)

File Size: 385 lines (13 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

Utils:: (14 methods):
  describeType()
  headersFromLines()
  debugResource()
  chooseHandler()
  defaultUserAgent()
  defaultCaBundle()
  normalizeHeaderKeys()
  isHostInNoProxy()
  jsonDecode()
  jsonEncode()
  currentTime()
  idnUriConvert()
  getenv()
  idnToAsci()


Class: Utils  - X-Ref

describeType($input)   X-Ref
Debug function used to describe the provided value type and class.

param: mixed $input
return: string Returns a string containing the type of the variable and

headersFromLines(iterable $lines)   X-Ref
Parses an array of header lines into an associative array of headers.

param: iterable $lines Header lines array of strings in the following

debugResource($value = null)   X-Ref
Returns a debug stream based on the provided variable.

param: mixed $value Optional value
return: resource

chooseHandler()   X-Ref
Chooses and creates a default handler to use based on the environment.

The returned handler is not wrapped by any default middlewares.

return: callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system.

defaultUserAgent()   X-Ref
Get the default User-Agent string to use with Guzzle.


defaultCaBundle()   X-Ref
Returns the default cacert bundle for the current system.

First, the openssl.cafile and curl.cainfo php.ini settings are checked.
If those settings are not configured, then the common locations for
bundles found on Red Hat, CentOS, Fedora, Ubuntu, Debian, FreeBSD, OS X
and Windows are checked. If any of these file locations are found on
disk, they will be utilized.

Note: the result of this function is cached for subsequent calls.


normalizeHeaderKeys(array $headers)   X-Ref
Creates an associative array of lowercase header names to the actual
header casing.


isHostInNoProxy(string $host, array $noProxyArray)   X-Ref
Returns true if the provided host matches any of the no proxy areas.

This method will strip a port from the host if it is present. Each pattern
can be matched with an exact match (e.g., "foo.com" == "foo.com") or a
partial match: (e.g., "foo.com" == "baz.foo.com" and ".foo.com" ==
"baz.foo.com", but ".foo.com" != "foo.com").

Areas are matched in the following cases:
1. "*" (without quotes) always matches any hosts.
2. An exact match.
3. The area starts with "." and the area is the last part of the host. e.g.
'.mit.edu' will match any host that ends with '.mit.edu'.

param: string   $host         Host to check against the patterns.
param: string[] $noProxyArray An array of host patterns.

jsonDecode(string $json, bool $assoc = false, int $depth = 512, int $options = 0)   X-Ref
Wrapper for json_decode that throws when an error occurs.

param: string $json    JSON data to parse
param: bool   $assoc   When true, returned objects will be converted
param: int    $depth   User specified recursion depth.
param: int    $options Bitmask of JSON decode options.
return: object|array|string|int|float|bool|null

jsonEncode($value, int $options = 0, int $depth = 512)   X-Ref
Wrapper for JSON encoding that throws when an error occurs.

param: mixed $value   The value being encoded
param: int   $options JSON encode option bitmask
param: int   $depth   Set the maximum depth. Must be greater than zero.

currentTime()   X-Ref
Wrapper for the hrtime() or microtime() functions
(depending on the PHP version, one of the two is used)

return: float UNIX timestamp

idnUriConvert(UriInterface $uri, int $options = 0)   X-Ref


getenv(string $name)   X-Ref


idnToAsci(string $domain, int $options, ?array &$info = [])   X-Ref

return: string|false