Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
93 lines (68 sloc) 2.58 KB


Build Status Still Maintained

Simple RestClient Package for Laravel 4


Begin by installing this package through Composer. Edit your project's composer.json file to require Nathanmac/laravel-restclient.

"require": {
	"nathanmac/laravel-restclient": "dev-master"

Next, update Composer from the Terminal:

composer update

Once this operation completes, the final step is to add the service provider. Open app/config/app.php, and add a new item to the providers array.

Calling an Endpoint
try {
    $response = RestClient::get('hostname:port/endpoint');
} catch (Exception $ex) {
    print "Error: " . $ex->getMessage(); // Error: COULDNT_RESOLVE_HOST
HTTP Methods
  $response = RestClient::get('hostname:port/endpoint');
  $response = RestClient::post('hostname:port/endpoint', 'payload data');
  $response = RestClient::put('hostname:port/endpoint', 'payload data');
  $response = RestClient::delete('hostname:port/endpoint');
Adding HTTP Headers
$headers = array(
    'other: asfasdfasdf'

$response = RestClient::get('hostname:port/endpoint', $headers);
$response = RestClient::post('hostname:port/endpoint', 'payload data', $headers);
$response = RestClient::put('hostname:port/endpoint', 'payload data', $headers);
$response = RestClient::delete('hostname:port/endpoint', $headers);
Get the HTTP Status Code
echo "HTTP Status Code: " . $response->getStatusCode(); // HTTP Status Code: 200
echo "HTTP Status Text: " . $response->getStatusText(); // HTTP Status Text: OK
Returning the response content
print $response->getContent();
Returning the response headers
Returning a specific header
echo "Content-Type: " . $response->getHeader('content_type'); // Content-Type: application/json
Returning the response time (seconds)
echo "Time: " . $response->getTime();  // Time: 0.23453
Adding custom cURL options for every request

At the beginning publish the config file:

php artisan config:publish nathanmac/laravel-restclient

Then edit the options array in app/config/packages/nathanmac/laravel-restclient/config.php.

You can’t perform that action at this time.