Simple API client for Dead Man's Snitch inspired by official Ruby client
Via Composer
composer require webcore/snitcher
Snitcher depends on HTTPlug HTTP client abstraction for PHP. You can read more about HTTPlug framework integration with Symfony bundle in HTTPlug docs.
Install dependencies:
Implementation of HttpClient adapter using Guzzle
composer require php-http/guzzle6-adapterImplementations of MessageFactory, StreamFactory and UriFactory
composer require php-http/message
Create required factories:
useHttp\Adapter\Guzzle6\Client;
useHttp\Message\MessageFactory\GuzzleMessageFactory;
useHttp\Message\StreamFactory\GuzzleStreamFactory;
useHttp\Message\UriFactory\GuzzleUriFactory;
$httpClient = newClient(newGuzzleHttp\Client());
$messageFactory = newGuzzleMessageFactory();
$streamFactory = newGuzzleStreamFactory();
$uriFactory = newGuzzleUriFactory();Create Snitcher instance:
useWebcore\Snitcher\Snitcher;
$snitcher = newSnitcher($httpClient, $messageFactory, $streamFactory, $uriFactory);To check in for one of your snitches:
$snitcher->snitch("c2354d53d2");You also may provide a message with the check in:
$snitcher->snitch("c2354d53d2", "Finished in 23.8 seconds.")If error occurs one of these exceptions is thrown:
InvalidArgumentException
HttpClientException
Exception
{
"name": "some-user/nice-project",
"require": {
"webcore/snitcher": "^1.0.0",
"php-http/guzzle6-adapter": "^1.1.1",
"php-http/message": "^1.2.0"
}
}
- Client for Dead Man's Snitch's JSON API
- Unit tests
Copyright (c) 2016, Štefan Peťovský