2017 © Pedro Peláez
 

library rest-client

A simple REST client to interact with Jaeger based installations in a RESTful manner

image

jaeger-app/rest-client

A simple REST client to interact with Jaeger based installations in a RESTful manner

  • Thursday, July 28, 2016
  • by mithra62
  • Repository
  • 1 Watchers
  • 1 Stars
  • 43 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

Jaeger REST Client

Build Status Scrutinizer Code Quality Author GitHub license, (*1)

A simple REST client to interact with Jaeger REST API installations., (*2)

Installation

Add jaeger-app/rest-client as a requirement to composer.json:, (*3)

$ composer require jaeger-app/rest-client

Simple Example

use \JaegerApp\Rest\Client;

$client = new Client();
$backups = $client->setApiKey($api_key)
                 ->setApiSecret($api_secret)
                 ->setSiteUrl($api_endpoint_url)
                 ->get('/backups');

Authentication

Jaeger uses HMAC-SHA authentication which is a simple key / secret paradigm to create hashed signatures. You can get/set your api key and secret, as well as the API URL endpoint, from your individual Jaeger installations., (*4)

Error Handling

If anything goes wrong with a request the library will return an ApiProblem object. Here's an example:, (*5)

use \JaegerApp\Rest\Client;
use \JaegerApp\Rest\ApiProblem;

$client = new Client();
$result = $client->setApiKey($api_key)
                 ->setApiSecret($api_secret)
                 ->setSiteUrl($api_endpoint_url)
                 ->get('/myendpoint');

if($result instanceof ApiProblem) 
{
    if($result->getStatus() == 403) {
        //authentication issue
    }

    $result->getTitle() //API problem response title
    $result->getDetail() //API problem response details

}

Hal Responses

For all successful responses from the Jaeger API, the library will return an instance of \JaegerApp\Rest\Client\Hal object which is a wrapper for \Nocarrier\Hal., (*6)

use \JaegerApp\Rest\Client;
use \JaegerApp\Rest\Hal;

$client = new Client();
$result = $client->setApiKey($api_key)
                 ->setApiSecret($api_secret)
                 ->setSiteUrl($api_endpoint_url)
                 ->get('/myendpoint');

if($result instanceof Hal) 
{
    $data = $result->getData();
    $resources = $result->getResources();
}

Examples

Since Jaeger follows the [Richardson Maturity Model](Richardson Maturity Model) there are helper methods available for each HTTP verb. Below are some simple use case examples and their implementations, (*7)

Take a Backup

use \JaegerApp\Rest\Client;

$client = new Client();
$result = $client->setApiKey($api_key)
                 ->setApiSecret($api_secret)
                 ->setSiteUrl($api_endpoint_url)
                 ->post('/myendpoint');

Update Settings

use \JaegerApp\Rest\Client;

$client = new Client();
$settings = array('working_directory' => '/path/to/working_directory');
$update = $client->setApiKey($api_key)
                 ->setApiSecret($api_secret)
                 ->setSiteUrl($api_endpoint_url)
                 ->put('/settings', $settings);

Get Settings

use \JaegerApp\Rest\Client;

$client = new Client();
$settings = $client->setApiKey($api_key)
                 ->setApiSecret($api_secret)
                 ->setSiteUrl($api_endpoint_url)
                 ->get('/settings');

Get Storage Locations

use \JaegerApp\Rest\Client;

$client = new Client();
$storage_locations = $client->setApiKey($api_key)
                 ->setApiSecret($api_secret)
                 ->setSiteUrl($api_endpoint_url)
                 ->get('/storage');

The Versions

28/07 2016

dev-master

9999999-dev

A simple REST client to interact with Jaeger based installations in a RESTful manner

  Sources   Download

MIT

The Requires

 

The Development Requires

by Eric Lamb

28/07 2016

0.1.1

0.1.1.0

A simple REST client to interact with Jaeger based installations in a RESTful manner

  Sources   Download

MIT

The Requires

 

The Development Requires

by Eric Lamb

20/04 2016

dev-develop

dev-develop

A simple REST client to interact with Jaeger based installations in a RESTful manner

  Sources   Download

MIT

The Requires

 

The Development Requires

by Eric Lamb

20/04 2016

0.1

0.1.0.0

A simple REST client to interact with Jaeger based installations in a RESTful manner

  Sources   Download

MIT

The Requires

 

The Development Requires

by Eric Lamb