nathanmac/laravel-restclient

Simple RestClient for Laravel 4

dev-master 2017-01-16 17:26 UTC

This package is not auto-updated.

Last update: 2024-12-21 16:51:36 UTC


README

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.