Class RestClient
Class for executing RESTful service calls using a fluent interface.
- Class name: RestClient
- Namespace: MikeBrant\RestClientLib
protected boolean $useBasicAuth = false
Flag to determine if basic authentication is to be used.
- Visibility: protected
protected string $basicAuthUsername = null
User Name for HTTP Basic Auth
- Visibility: protected
protected string $basicAuthPassword = null
Password for HTTP Basic Auth
- Visibility: protected
protected boolean $useSsl = false
Flag to determine if SSL is used
- Visibility: protected
protected boolean $useSslTestMode = false
Flag to determine is we are to run in test mode where host's SSL cert is not verified
- Visibility: protected
protected integer $timeout = 30
Integer value representing number of seconds to set for curl timeout option. Defaults to 30 seconds.
- Visibility: protected
protected string $remoteHost = null
Variable to store remote host name
- Visibility: protected
protected boolean $followRedirects = false
Variable to hold setting to determine if redirects are followed
- Visibility: protected
protected integer $maxRedirects
Variable to hold value for maximum number of redirects to follow for cases when redirect are being followed.
Default value of 0 will allow for following of unlimited redirects.
- Visibility: protected
protected string $uriBase = '/'
Variable which can hold a URI base for all actions
- Visibility: protected
private mixed $curl = null
Stores curl handle
- Visibility: private
private array $headers = array()
Array containing headers to be used for request
- Visibility: private
void MikeBrant\RestClientLib\RestClient::__construct()
Constructor method. Currently there is no instantiation logic.
- Visibility: public
\MikeBrant\RestClientLib\CurlHttpResponse MikeBrant\RestClientLib\RestClient::get(string $action)
Method to execute GET on server
- Visibility: public
- $action string
\MikeBrant\RestClientLib\CurlHttpResponse MikeBrant\RestClientLib\RestClient::post(mixed $action, mixed $data)
Method to exexute POST on server
- Visibility: public
- $action mixed
- $data mixed
\MikeBrant\RestClientLib\CurlHttpResponse MikeBrant\RestClientLib\RestClient::put(string $action, mixed $data)
Method to execute PUT on server
- Visibility: public
- $action string
- $data mixed
\MikeBrant\RestClientLib\CurlHttpResponse MikeBrant\RestClientLib\RestClient::delete(string $action)
Method to execute DELETE on server
- Visibility: public
- $action string
\MikeBrant\RestClientLib\CurlHttpResponse MikeBrant\RestClientLib\RestClient::head(string $action)
Method to execute HEAD on server
- Visibility: public
- $action string
\MikeBrant\RestClientLib\RestClient MikeBrant\RestClientLib\RestClient::setRemoteHost(string $host)
Sets host name of remote server
- Visibility: public
- $host string
\MikeBrant\RestClientLib\RestClient MikeBrant\RestClientLib\RestClient::setUriBase(string $uriBase)
Sets URI base for the instance
- Visibility: public
- $uriBase string
\MikeBrant\RestClientLib\RestClient MikeBrant\RestClientLib\RestClient::setUseSsl(boolean $value)
Sets whether SSL is to be used
- Visibility: public
- $value boolean
\MikeBrant\RestClientLib\RestClient MikeBrant\RestClientLib\RestClient::setUseSslTestMode(boolean $value)
Sets whether SSL Test Mode is to be used
- Visibility: public
- $value boolean
\MikeBrant\RestClientLib\RestClient MikeBrant\RestClientLib\RestClient::setBasicAuthCredentials(string $user, string $password)
Sets basic authentication credentials
- Visibility: public
- $user string
- $password string
\MikeBrant\RestClientLib\RestClient MikeBrant\RestClientLib\RestClient::setHeaders(array $headers)
Sets HTTP headers from an associative array where key is header name and value is the header value
- Visibility: public
- $headers array
\MikeBrant\RestClientLib\RestClient MikeBrant\RestClientLib\RestClient::setTimeout(integer $seconds)
Sets maximum timeout for curl requests
- Visibility: public
- $seconds integer
\MikeBrant\RestClientLib\RestClient MikeBrant\RestClientLib\RestClient::setFollowRedirects(boolean $follow)
Sets flag on whether to follow 3XX redirects.
- Visibility: public
- $follow boolean
\MikeBrant\RestClientLib\RestClient MikeBrant\RestClientLib\RestClient::setMaxRedirects(integer $redirects)
Sets maximum number of redirects to follow. A value of 0 represents no redirect limit. Also sets followRedirects property to true .
- Visibility: public
- $redirects integer
string MikeBrant\RestClientLib\RestClient::getRemoteHost()
Get remote host setting
- Visibility: public
string MikeBrant\RestClientLib\RestClient::getUriBase()
Get URI Base setting
- Visibility: public
boolean MikeBrant\RestClientLib\RestClient::isUsingSsl()
Get boolean setting indicating whether SSL is to be used
- Visibility: public
boolean MikeBrant\RestClientLib\RestClient::isUsingSslTestMode()
Get boolean setting indicating whether SSL test mode is enabled
- Visibility: public
integer MikeBrant\RestClientLib\RestClient::getTimeout()
Get timeout setting
- Visibility: public
boolean MikeBrant\RestClientLib\RestClient::isFollowingRedirects()
Get follow redirects setting
- Visibility: public
integer MikeBrant\RestClientLib\RestClient::getMaxRedirects()
Get max redirects setting
- Visibility: public
void MikeBrant\RestClientLib\RestClient::curlSetup()
Method to set up curl handle on client
- Visibility: private
resource MikeBrant\RestClientLib\RestClient::curlInit()
Method to initilize and return a curl handle
- Visibility: protected
void MikeBrant\RestClientLib\RestClient::curlTeardown()
Method to to teardown curl fixtures at end of request
- Visibility: private
void MikeBrant\RestClientLib\RestClient::curlClose(resource $curl)
Method to close curl handle
- Visibility: protected
- $curl resource - <p>curl handle</p>
\MikeBrant\RestClientLib\CurlHttpResponse MikeBrant\RestClientLib\RestClient::curlExec()
Method to execute curl call
- Visibility: private
void MikeBrant\RestClientLib\RestClient::setRequestUrl(string $action)
Method to set the url on curl handle based on passed action
- Visibility: protected
- $action string
string MikeBrant\RestClientLib\RestClient::buildUrl(string $action)
Method to build URL based on class settings and passed action
- Visibility: protected
- $action string
void MikeBrant\RestClientLib\RestClient::setRequestData(mixed $data)
Method to set data to be sent along with POST/PUT requests
- Visibility: protected
- $data mixed
void MikeBrant\RestClientLib\RestClient::validateAction(string $action)
Method to provide common validation for action parameters
- Visibility: protected
- $action string
void MikeBrant\RestClientLib\RestClient::validateData(mixed $data)
Method to provide common validation for data parameters
- Visibility: protected
- $data mixed