Simple RestClient Package for Laravel 4
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests
.gitignore
.travis.yml
LICENSE Initial commit Mar 27, 2014
README.md
composer.json
phpunit.xml

README.md

laravel-restclient

Build Status Still Maintained

Simple RestClient Package for Laravel 4

Installation

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.

'Nathanmac\RestClient\RestClientServiceProvider'
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(
    'token: SLDKFJLKSDFJSLDFJ',
    '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
print_r($response->getHeaders());
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.