Moodle PHP Documentation 4.2
Moodle 4.2.8 (Build: 20240610) (2d41ac46f45)
tool_brickfield\brickfieldconnect Class Reference
Inheritance diagram for tool_brickfield\brickfieldconnect:
curl tool_brickfield\mock_brickfieldconnect

Public Member Functions

 cleanopt ()
 Reset http method.
 
 delete ($url, $param=array(), $options=array())
 HTTP DELETE method.
 
 download ($requests, $options=array())
 Download multiple files in parallel.
 
 download_one ($url, $params, $options=array())
 Downloads one file and writes it to the specified file handler.
 
 get ($url, $params=array(), $options=array())
 HTTP GET method.
 
 get_errno ()
 Get curl error code.
 
 get_info ()
 Get curl information.
 
 get_raw_response ()
 Get raw HTTP Response Headers.
 
 get_security ()
 Returns the current curl security helper.
 
 getResponse ()
 Get HTTP Response Headers.
 
 head ($url, $options=array())
 HTTP HEAD method.
 
 is_registered ()
 Object method to test whether site is already registered.
 
 options ($url, $options=array())
 HTTP OPTIONS method.
 
 patch ($url, $params='', $options=array())
 HTTP PATCH method.
 
 post ($url, $params='', $options=array())
 HTTP POST method.
 
 put ($url, $params=array(), $options=array())
 HTTP PUT method.
 
 resetcookie ()
 Reset Cookie.
 
 resetHeader ()
 Resets the HTTP Request headers (to prepare for the new request)
 
 resetopt ()
 Resets the CURL options that have already been set.
 
 send_summary ()
 Send the summary data to Brickfield.
 
 set_security ($securityobject)
 Sets the curl security helper.
 
 setHeader ($header)
 Set HTTP Request Header.
 
 setopt ($options=array())
 Set curl options.
 
 trace ($url, $options=array())
 HTTP TRACE method.
 
 update_registration (string $apikey, string $secretkey)
 Update registration of this site.
 

Static Public Member Functions

static get_cacert ()
 Get the location of ca certificates.
 
static mock_response ($response)
 For use only in unit tests - we can pre-set the next curl response.
 
static strip_double_headers ($input)
 When using a proxy, an additional HTTP response code may appear at the start of the header.
 

Public Attributes

array $_tmp_file_post_params = []
 temporary params value if the value is not belongs to class stored_file.
 
curl_cache false $cache = false
 Caches http request contents.
 
bool $emulateredirects = null
 Perform redirects at PHP level instead of relying on native cURL functionality.
 
int $errno
 error code
 
string $error
 error
 
array $header = array()
 http header
 
array $info
 cURL information
 
bool $proxy = null
 Uses proxy, null means automatic based on URL.
 
array $rawresponse = array()
 Raw response headers, needed for BC in download_file_content().
 
array $response = array()
 http's response
 
string $version = '0.4 dev'
 library version
 
array const ACTION_CHECK_REGISTRATION
 Endpoint details for setting and checking a site registration.
 
array const ACTION_SEND_SUMMARY
 Endpoint details for sending site summary data.
 

Protected Member Functions

 call (array $command, $params='')
 Call the specified command.
 
 check_securityhelper_blocklist (string $url)
 check_securityhelper_blocklist.
 
 get_baseapiuri ()
 Get the check registration API URI.
 
 get_common_headers ()
 Get the common headers used for all calls to the Brickfields endpoints.
 
 get_registration_id_for_credentials (string $apikey=null, string $secretkey=null)
 Get the registration ID for the given set of credentials.
 
 get_siteurl ()
 Get a normalised URL for the site.
 
 get_url_for_command (array $command)
 Get the URL required for the command.
 
 has_registration_key ()
 Whether the site currently has a registration key stored.
 
 multi ($requests, $options=array())
 Multi HTTP Requests This function could run multi-requests in parallel.
 
 request ($url, $options=array())
 Single HTTP Request.
 
 reset_request_state_vars ()
 Helper function to reset the request state vars.
 
 set_headers (array $headers)
 Set headers on the request from the specified list of headers.
 

Member Function Documentation

◆ call()

tool_brickfield\brickfieldconnect::call ( array $command,
$params = '' )
protected

Call the specified command.

Parameters
array$commandThe command to call, for example see self\ACTION_REGISTER
array | string$paramsThe params provided to the call
Return values
stringThe response body

◆ check_securityhelper_blocklist()

curl::check_securityhelper_blocklist ( string $url)
protectedinherited

check_securityhelper_blocklist.

Checks whether the given URL is blocked by checking both plugin's security helpers and core curl security helper or any curl security helper that passed to curl class constructor. If ignoresecurity is set to true, skip checking and consider the url is not blocked. This augments all installed plugin's security helpers if there is any.

Parameters
string$urlthe url to check.
Return values
string- an error message if URL is blocked or null if URL is not blocked.

◆ delete()

curl::delete ( $url,
$param = array(),
$options = array() )
inherited

HTTP DELETE method.

Parameters
string$url
array$param
array$options
Return values
bool

◆ download()

curl::download ( $requests,
$options = array() )
inherited

Download multiple files in parallel.

Calls multi() with specific download headers

$c = new curl(); $file1 = fopen('a', 'wb'); $file2 = fopen('b', 'wb'); $c->download(array( array('url'=>'http://localhost/', 'file'=>$file1), array('url'=>'http://localhost/20/', 'file'=>$file2) )); fclose($file1); fclose($file2);

or

$c = new curl(); $c->download(array( array('url'=>'http://localhost/', 'filepath'=>'/tmp/file1.tmp'), array('url'=>'http://localhost/20/', 'filepath'=>'/tmp/file2.tmp') ));

Parameters
array$requestsAn array of files to request { url => url to download the file [required] file => file handler, or filepath => file path } If 'file' and 'filepath' parameters are both specified in one request, the open file handle in the 'file' parameter will take precedence and 'filepath' will be ignored.
array$optionsAn array of options to set
Return values
arrayAn array of results

◆ download_one()

curl::download_one ( $url,
$params,
$options = array() )
inherited

Downloads one file and writes it to the specified file handler.

$c = new curl(); $file = fopen('savepath', 'w'); $result = $c->download_one('http://localhost/', null, array('file' => $file, 'timeout' => 5, 'followlocation' => true, 'maxredirs' => 3)); fclose($file); $download_info = $c->get_info(); if ($result === true) { // file downloaded successfully } else { $error_text = $result; $error_code = $c->get_errno(); }

$c = new curl(); $result = $c->download_one('http://localhost/', null, array('filepath' => 'savepath', 'timeout' => 5, 'followlocation' => true, 'maxredirs' => 3)); // ... see above, no need to close handle and remove file if unsuccessful

Parameters
string$url
array | null$paramskey-value pairs to be added to $url as query string
array$optionsrequest options. Must include either 'file' or 'filepath'
Return values
bool|stringtrue on success or error string on failure

◆ get()

curl::get ( $url,
$params = array(),
$options = array() )
inherited

HTTP GET method.

Parameters
string$url
array$params
array$options
Return values
bool

◆ get_baseapiuri()

tool_brickfield\brickfieldconnect::get_baseapiuri ( )
protected

Get the check registration API URI.

Return values
string

◆ get_cacert()

static curl::get_cacert ( )
staticinherited

Get the location of ca certificates.

Return values
stringabsolute file path or empty if default used

◆ get_common_headers()

tool_brickfield\brickfieldconnect::get_common_headers ( )
protected

Get the common headers used for all calls to the Brickfields endpoints.

Return values
array

◆ get_errno()

curl::get_errno ( )
inherited

Get curl error code.

Return values
int

◆ get_info()

curl::get_info ( )
inherited

Get curl information.

Return values
array

◆ get_raw_response()

curl::get_raw_response ( )
inherited

Get raw HTTP Response Headers.

Return values
arrayof strings

◆ get_registration_id_for_credentials()

tool_brickfield\brickfieldconnect::get_registration_id_for_credentials ( string $apikey = null,
string $secretkey = null )
protected

Get the registration ID for the given set of credentials.

Parameters
null | string$apikeyThe API key to use for the registration attempt
null | string$secretkeyThe secret key to use
Return values
null|stringThe registration ID if registration was successful, or null if not

◆ get_security()

curl::get_security ( )
inherited

Returns the current curl security helper.

Return values
core\files\curl_security_helperinstance.

◆ get_siteurl()

tool_brickfield\brickfieldconnect::get_siteurl ( )
protected

Get a normalised URL for the site.

Return values
string

◆ get_url_for_command()

tool_brickfield\brickfieldconnect::get_url_for_command ( array $command)
protected

Get the URL required for the command.

Parameters
array$commandThe command to call, for example see self\ACTION_REGISTER
Return values
stringThe complete URL

◆ getResponse()

curl::getResponse ( )
inherited

Get HTTP Response Headers.

Return values
arrayof arrays

◆ has_registration_key()

tool_brickfield\brickfieldconnect::has_registration_key ( )
protected

Whether the site currently has a registration key stored.

Return values
bool

◆ head()

curl::head ( $url,
$options = array() )
inherited

HTTP HEAD method.

See also
request()
Parameters
string$url
array$options
Return values
bool

◆ is_registered()

tool_brickfield\brickfieldconnect::is_registered ( )

Object method to test whether site is already registered.

Return values
bool

Reimplemented in tool_brickfield\mock_brickfieldconnect.

◆ mock_response()

static curl::mock_response ( $response)
staticinherited

For use only in unit tests - we can pre-set the next curl response.

This is useful for unit testing APIs that call external systems.

Parameters
string$response

◆ multi()

curl::multi ( $requests,
$options = array() )
protectedinherited

Multi HTTP Requests This function could run multi-requests in parallel.

Parameters
array$requestsAn array of files to request
array$optionsAn array of options to set
Return values
arrayAn array of results

Reimplemented in oauth2_client.

◆ options()

curl::options ( $url,
$options = array() )
inherited

HTTP OPTIONS method.

Parameters
string$url
array$options
Return values
bool

◆ patch()

curl::patch ( $url,
$params = '',
$options = array() )
inherited

HTTP PATCH method.

Parameters
string$url
array | string$params
array$options
Return values
bool

◆ post()

curl::post ( $url,
$params = '',
$options = array() )
inherited

HTTP POST method.

Parameters
string$url
array | string$params
array$options
Return values
bool

◆ put()

curl::put ( $url,
$params = array(),
$options = array() )
inherited

HTTP PUT method.

Parameters
string$url
array$params
array$options
Return values
bool

◆ request()

curl::request ( $url,
$options = array() )
protectedinherited

Single HTTP Request.

Parameters
string$urlThe URL to request
array$options
Return values
bool

◆ reset_request_state_vars()

curl::reset_request_state_vars ( )
protectedinherited

Helper function to reset the request state vars.

Return values
void.

◆ send_summary()

tool_brickfield\brickfieldconnect::send_summary ( )

Send the summary data to Brickfield.

Return values
bool
Exceptions
dml_exception

◆ set_headers()

tool_brickfield\brickfieldconnect::set_headers ( array $headers)
protected

Set headers on the request from the specified list of headers.

Parameters
array$headersAn array of header name => value

◆ set_security()

curl::set_security ( $securityobject)
inherited

Sets the curl security helper.

Parameters
core\files\curl_security_helper$securityobjectinstance/subclass of the base curl_security_helper class.
Return values
booltrue if the security helper could be set, false otherwise.

◆ setHeader()

curl::setHeader ( $header)
inherited

Set HTTP Request Header.

Parameters
array$header

◆ setopt()

curl::setopt ( $options = array())
inherited

Set curl options.

Do not use the curl constants to define the options, pass a string corresponding to that constant. Ie. to set CURLOPT_MAXREDIRS, pass array('CURLOPT_MAXREDIRS' => 10) or array('maxredirs' => 10) to this method.

Parameters
array$optionsIf array is null, this function will reset the options to default value.
Return values
void
Exceptions
coding_exceptionIf an option uses constant value instead of option name.

◆ strip_double_headers()

static curl::strip_double_headers ( $input)
staticinherited

When using a proxy, an additional HTTP response code may appear at the start of the header.

For example, when using https over a proxy there may be 'HTTP/1.0 200 Connection Established'. Other codes are also possible and some may come with their own headers.

If using the return value containing all headers, this function can be called to remove unwanted doubles.

Note that it is not possible to distinguish this situation from valid data unless you know the actual response part (below the headers) will not be included in this string, or else will not 'look like' HTTP headers. As a result it is not safe to call this function for general data.

Parameters
string$inputInput HTTP response
Return values
stringHTTP response with additional headers stripped if any

◆ trace()

curl::trace ( $url,
$options = array() )
inherited

HTTP TRACE method.

Parameters
string$url
array$options
Return values
bool

◆ update_registration()

tool_brickfield\brickfieldconnect::update_registration ( string $apikey,
string $secretkey )

Update registration of this site.

Parameters
string$apikeyThe API key to use for the registration attempt
string$secretkeyThe secret key to use
Return values
bool

Reimplemented in tool_brickfield\mock_brickfieldconnect.

Member Data Documentation

◆ $emulateredirects

bool curl::$emulateredirects = null
inherited

Perform redirects at PHP level instead of relying on native cURL functionality.

Always true now.

◆ ACTION_CHECK_REGISTRATION

array const tool_brickfield\brickfieldconnect::ACTION_CHECK_REGISTRATION
Initial value:
= [
'endpoint' => 'checkRegister',
'method' => 'get',
]

Endpoint details for setting and checking a site registration.

◆ ACTION_SEND_SUMMARY

array const tool_brickfield\brickfieldconnect::ACTION_SEND_SUMMARY
Initial value:
= [
'endpoint' => 'summary',
'method' => 'post',
]

Endpoint details for sending site summary data.


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