fyre / curl
A cURL library.
Installs: 22
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/fyre/curl
Requires
- fyre/macro: ^2.0
- fyre/request: ^4.0
- fyre/response: ^4.0
- fyre/uri: ^4.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- fyre/php-cs-fixer-config: ^1.0
- phpunit/phpunit: ^12
README
FyreCURL is a free, open-source cURL request library for PHP.
Table Of Contents
Installation
Using Composer
composer require fyre/curl
In PHP:
use Fyre\CURL\Curl;
Methods
Delete
Perform a DELETE request.
$urlis a string representing the URL.$optionsis an array containing the request options.headersis an array containing additional headers to set, and will default to [].userAgentis a string representing the user agent, and will default to null.protocolVersionis a string representing the HTTP protocol version, and will default to "1.1".usernameis a string representing the HTTP authentication username, and will default to null.passwordis a string representing the HTTP authentication password, and will default to null.authis a string representing the authentication method, and will default to "basic".sslCertis a string representing the file path of the SSL certificate, and will default to null.sslPasswordis a string representing the SSL certificate password, and will default to null.sslKeyis a string representing the file path of the SSL key, and will default to null.cookieis a string representing the file path of the cookie file, and will default to null.redirectis a boolean indicating whether to allow redirects, and will default to true.redirectOptionsis an array containing redirect options.maxis a number representing the maximum number of redirects, and will default to 5.strictis a boolean indicating whether to only follow 301, 302 and 303 redirects, and will default to true.protocolsis an integer bitmask representing the protocols to allow redirects for, and will default to CURLPROTO_HTTP | CURLPROTO_HTTPS.
verifyis a boolean indicating whether to verify the peer SSL certificate, and will default to true.delayis a number representing the number of seconds to wait before executing the request, and will default to 0.timeoutis a number representing the maximum number of seconds for cURL to initialize, and will default to 0.connectTimeoutis a number representing the maximum number of seconds trying to connect, and will default to 150.
$response = Curl::delete($url, $options);
This method returns a new CurlResponse.
Get
Perform a GET request.
$urlis a string representing the URL.$optionsis an array containing the request options.headersis an array containing additional headers to set, and will default to [].datais an array containing additional data to send with the request, and will default to null.userAgentis a string representing the user agent, and will default to null.protocolVersionis a string representing the HTTP protocol version, and will default to "1.1".usernameis a string representing the HTTP authentication username, and will default to null.passwordis a string representing the HTTP authentication password, and will default to null.authis a string representing the authentication method, and will default to "basic".sslCertis a string representing the file path of the SSL certificate, and will default to null.sslPasswordis a string representing the SSL certificate password, and will default to null.sslKeyis a string representing the file path of the SSL key, and will default to null.cookieis a string representing the file path of the cookie file, and will default to null.redirectis a boolean indicating whether to allow redirects, and will default to true.redirectOptionsis an array containing redirect options.maxis a number representing the maximum number of redirects, and will default to 5.strictis a boolean indicating whether to only follow 301, 302 and 303 redirects, and will default to true.protocolsis an integer bitmask representing the protocols to allow redirects for, and will default to CURLPROTO_HTTP | CURLPROTO_HTTPS.
verifyis a boolean indicating whether to verify the peer SSL certificate, and will default to true.delayis a number representing the number of seconds to wait before executing the request, and will default to 0.timeoutis a number representing the maximum number of seconds for cURL to initialize, and will default to 0.connectTimeoutis a number representing the maximum number of seconds trying to connect, and will default to 150.
$response = Curl::get($url, $options);
This method returns a new CurlResponse.
Head
Perform a HEAD request.
$urlis a string representing the URL.$optionsis an array containing the request options.headersis an array containing additional headers to set, and will default to [].userAgentis a string representing the user agent, and will default to null.protocolVersionis a string representing the HTTP protocol version, and will default to "1.1".usernameis a string representing the HTTP authentication username, and will default to null.passwordis a string representing the HTTP authentication password, and will default to null.authis a string representing the authentication method, and will default to "basic".sslCertis a string representing the file path of the SSL certificate, and will default to null.sslPasswordis a string representing the SSL certificate password, and will default to null.sslKeyis a string representing the file path of the SSL key, and will default to null.cookieis a string representing the file path of the cookie file, and will default to null.redirectis a boolean indicating whether to allow redirects, and will default to true.redirectOptionsis an array containing redirect options.maxis a number representing the maximum number of redirects, and will default to 5.strictis a boolean indicating whether to only follow 301, 302 and 303 redirects, and will default to true.protocolsis an integer bitmask representing the protocols to allow redirects for, and will default to CURLPROTO_HTTP | CURLPROTO_HTTPS.
verifyis a boolean indicating whether to verify the peer SSL certificate, and will default to true.delayis a number representing the number of seconds to wait before executing the request, and will default to 0.timeoutis a number representing the maximum number of seconds for cURL to initialize, and will default to 0.connectTimeoutis a number representing the maximum number of seconds trying to connect, and will default to 150.
$response = Curl::head($url, $options);
This method returns a new CurlResponse.
Options
Perform an OPTIONS request.
$urlis a string representing the URL.$optionsis an array containing the request options.headersis an array containing additional headers to set, and will default to [].userAgentis a string representing the user agent, and will default to null.protocolVersionis a string representing the HTTP protocol version, and will default to "1.1".usernameis a string representing the HTTP authentication username, and will default to null.passwordis a string representing the HTTP authentication password, and will default to null.authis a string representing the authentication method, and will default to "basic".sslCertis a string representing the file path of the SSL certificate, and will default to null.sslPasswordis a string representing the SSL certificate password, and will default to null.sslKeyis a string representing the file path of the SSL key, and will default to null.cookieis a string representing the file path of the cookie file, and will default to null.redirectis a boolean indicating whether to allow redirects, and will default to true.redirectOptionsis an array containing redirect options.maxis a number representing the maximum number of redirects, and will default to 5.strictis a boolean indicating whether to only follow 301, 302 and 303 redirects, and will default to true.protocolsis an integer bitmask representing the protocols to allow redirects for, and will default to CURLPROTO_HTTP | CURLPROTO_HTTPS.
verifyis a boolean indicating whether to verify the peer SSL certificate, and will default to true.delayis a number representing the number of seconds to wait before executing the request, and will default to 0.timeoutis a number representing the maximum number of seconds for cURL to initialize, and will default to 0.connectTimeoutis a number representing the maximum number of seconds trying to connect, and will default to 150.
$response = Curl::options($url, $options);
This method returns a new CurlResponse.
Patch
Perform a PATCH request.
$urlis a string representing the URL.$datais an array containing the data.$optionsis an array containing the request options.headersis an array containing additional headers to set, and will default to [].dataTypeis a string representing the type of data to send with the request, and will default to "json".userAgentis a string representing the user agent, and will default to null.protocolVersionis a string representing the HTTP protocol version, and will default to "1.1".usernameis a string representing the HTTP authentication username, and will default to null.passwordis a string representing the HTTP authentication password, and will default to null.authis a string representing the authentication method, and will default to "basic".sslCertis a string representing the file path of the SSL certificate, and will default to null.sslPasswordis a string representing the SSL certificate password, and will default to null.sslKeyis a string representing the file path of the SSL key, and will default to null.cookieis a string representing the file path of the cookie file, and will default to null.redirectis a boolean indicating whether to allow redirects, and will default to true.redirectOptionsis an array containing redirect options.maxis a number representing the maximum number of redirects, and will default to 5.strictis a boolean indicating whether to only follow 301, 302 and 303 redirects, and will default to true.protocolsis an integer bitmask representing the protocols to allow redirects for, and will default to CURLPROTO_HTTP | CURLPROTO_HTTPS.
verifyis a boolean indicating whether to verify the peer SSL certificate, and will default to true.delayis a number representing the number of seconds to wait before executing the request, and will default to 0.timeoutis a number representing the maximum number of seconds for cURL to initialize, and will default to 0.connectTimeoutis a number representing the maximum number of seconds trying to connect, and will default to 150.
$response = Curl::patch($url, $data, $options);
This method returns a new CurlResponse.
Post
Perform a POST request.
$urlis a string representing the URL.$datais an array containing the data.$optionsis an array containing the request options.headersis an array containing additional headers to set, and will default to [].dataTypeis a string representing the type of data to send with the request, and will default to null.userAgentis a string representing the user agent, and will default to null.protocolVersionis a string representing the HTTP protocol version, and will default to "1.1".usernameis a string representing the HTTP authentication username, and will default to null.passwordis a string representing the HTTP authentication password, and will default to null.authis a string representing the authentication method, and will default to "basic".sslCertis a string representing the file path of the SSL certificate, and will default to null.sslPasswordis a string representing the SSL certificate password, and will default to null.sslKeyis a string representing the file path of the SSL key, and will default to null.cookieis a string representing the file path of the cookie file, and will default to null.redirectis a boolean indicating whether to allow redirects, and will default to true.redirectOptionsis an array containing redirect options.maxis a number representing the maximum number of redirects, and will default to 5.strictis a boolean indicating whether to only follow 301, 302 and 303 redirects, and will default to true.protocolsis an integer bitmask representing the protocols to allow redirects for, and will default to CURLPROTO_HTTP | CURLPROTO_HTTPS.
verifyis a boolean indicating whether to verify the peer SSL certificate, and will default to true.delayis a number representing the number of seconds to wait before executing the request, and will default to 0.timeoutis a number representing the maximum number of seconds for cURL to initialize, and will default to 0.connectTimeoutis a number representing the maximum number of seconds trying to connect, and will default to 150.
$response = Curl::post($url, $data, $options);
This method returns a new CurlResponse.
Put
Perform a PUT request.
$urlis a string representing the URL.$datais an array containing the data.$optionsis an array containing the request options.headersis an array containing additional headers to set, and will default to [].dataTypeis a string representing the type of data to send with the request, and will default to "json".userAgentis a string representing the user agent, and will default to null.protocolVersionis a string representing the HTTP protocol version, and will default to "1.1".usernameis a string representing the HTTP authentication username, and will default to null.passwordis a string representing the HTTP authentication password, and will default to null.authis a string representing the authentication method, and will default to "basic".sslCertis a string representing the file path of the SSL certificate, and will default to null.sslPasswordis a string representing the SSL certificate password, and will default to null.sslKeyis a string representing the file path of the SSL key, and will default to null.cookieis a string representing the file path of the cookie file, and will default to null.redirectis a boolean indicating whether to allow redirects, and will default to true.redirectOptionsis an array containing redirect options.maxis a number representing the maximum number of redirects, and will default to 5.strictis a boolean indicating whether to only follow 301, 302 and 303 redirects, and will default to true.protocolsis an integer bitmask representing the protocols to allow redirects for, and will default to CURLPROTO_HTTP | CURLPROTO_HTTPS.
verifyis a boolean indicating whether to verify the peer SSL certificate, and will default to true.delayis a number representing the number of seconds to wait before executing the request, and will default to 0.timeoutis a number representing the maximum number of seconds for cURL to initialize, and will default to 0.connectTimeoutis a number representing the maximum number of seconds trying to connect, and will default to 150.
$response = Curl::put($url, $data, $options);
This method returns a new CurlResponse.
Curl Requests
This class extends the Request class.
use Fyre\CURL\CurlRequest;
$uriis a Uri.$optionsis an array containing the request options.headersis an array containing additional headers to set, and will default to [].datais an array containing additional data to send with the request, and will default to null.dataTypeis a string representing the type of data to send with the request, and will default to "json".userAgentis a string representing the user agent, and will default to null.protocolVersionis a string representing the HTTP protocol version, and will default to "1.1".usernameis a string representing the HTTP authentication username, and will default to null.passwordis a string representing the HTTP authentication password, and will default to null.authis a string representing the authentication method, and will default to "basic".sslCertis a string representing the file path of the SSL certificate, and will default to null.sslPasswordis a string representing the SSL certificate password, and will default to null.sslKeyis a string representing the file path of the SSL key, and will default to null.cookieis a string representing the file path of the cookie file, and will default to null.redirectis a boolean indicating whether to allow redirects, and will default to true.redirectOptionsis an array containing redirect options.maxis a number representing the maximum number of redirects, and will default to 5.strictis a boolean indicating whether to only follow 301, 302 and 303 redirects, and will default to true.protocolsis an integer bitmask representing the protocols to allow redirects for, and will default to CURLPROTO_HTTP | CURLPROTO_HTTPS.
verifyis a boolean indicating whether to verify the peer SSL certificate, and will default to true.delayis a number representing the number of seconds to wait before executing the request, and will default to 0.timeoutis a number representing the maximum number of seconds for cURL to initialize, and will default to 0.connectTimeoutis a number representing the maximum number of seconds trying to connect, and will default to 150.
$request = new CurlRequest($url, $options);
Send
Send the request.
$response = $request->send();
This method returns a new CurlResponse.
Curl Responses
This class extends the Response class.
use Fyre\CURL\CurlResponse;
Get Json
Get the response body as decoded JSON.
$associativeis a boolean indicating whether to return JSON object as associative array, and will default to true.$depthis a number representing the maximum depth of nesting, and will default to 512.$flagsis a number representing additional flags to use for decoding, and will default to 0.
$data = $response->getJson($associative, $depth, $flags);