webcore / snitcher
Simple API client for Dead Man's Snitch
v0.1.0
2016-06-09 12:25 UTC
Requires
- php: >=5.6
- guzzlehttp/psr7: ^1.3.0
- php-http/client-implementation: ^1.0
- php-http/message-factory: ^1.0.2
- webcore/validation-traits: ^1.0
Suggests
- php-http/guzzle6-adapter: Implementation of HttpClient adapter using Guzzle
- php-http/message: Implementations of MessageFactory, StreamFactory and UriFactory
This package is not auto-updated.
Last update: 2024-11-09 20:39:21 UTC
README
Simple API client for Dead Man's Snitch inspired by official Ruby client
Install
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.
Usage
Example with Guzzle HTTP client
Install dependencies:
-
Implementation of HttpClient adapter using Guzzle
composer require php-http/guzzle6-adapter
-
Implementations of MessageFactory, StreamFactory and UriFactory
composer require php-http/message
Create required factories:
use Http\Adapter\Guzzle6\Client; use Http\Message\MessageFactory\GuzzleMessageFactory; use Http\Message\StreamFactory\GuzzleStreamFactory; use Http\Message\UriFactory\GuzzleUriFactory; $httpClient = new Client(new GuzzleHttp\Client()); $messageFactory = new GuzzleMessageFactory(); $streamFactory = new GuzzleStreamFactory(); $uriFactory = new GuzzleUriFactory();
Create Snitcher instance:
use Webcore\Snitcher\Snitcher; $snitcher = new Snitcher($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
Sample composer.json:
{
"name": "some-user/nice-project",
"require": {
"webcore/snitcher": "^1.0.0",
"php-http/guzzle6-adapter": "^1.1.1",
"php-http/message": "^1.2.0"
}
}
TODO
- Client for Dead Man's Snitch's JSON API
- Unit tests
MIT license
Copyright (c) 2016, Štefan Peťovský