|
|
- <?php
- namespace SparkLib;
-
- /**
- * An interface to Phant instances.
- */
- class Phant {
-
- protected $_endpoint = 'http://data.sparkfun.com';
- protected $_pubhash;
- protected $_privhash;
-
- public function __construct ($endpoint, $pubhash, $privhash)
- {
- $this->_endpoint = $endpoint;
- $this->_pubhash = $pubhash;
- $this->_privhash = $privhash;
- }
-
- /**
- * Write data to a stream for which we know the private hash.
- */
- public function input (array $data)
- {
- $postbody = http_build_query($data);
-
- $headers = [
- "Phant-Private-Key: {$this->_privhash}",
- "Content-type: application/x-www-form-urlencoded",
- ];
-
- $opts = [
- 'http' => [
- 'method' => 'POST',
- 'header' => $headers,
- 'content' => $postbody
- ]
- ];
-
- $url = $this->_endpoint . '/input/' . $this->_pubhash . '.txt';
-
- $context = stream_context_create($opts);
-
- return file_get_contents($url, false, $context);
- }
-
- /**
- * Get current stats for the stream.
- */
- public function stats ()
- {
- $opts = [
- 'http' => [
- 'method' => 'GET',
- ]
- ];
-
- $url = $this->_endpoint . '/output/' . $this->_pubhash . '/stats';
-
- $context = stream_context_create($opts);
-
- return json_decode(file_get_contents($url, false, $context));
- }
-
- /**
- * Return stream data.
- */
- public function data ()
- {
- $opts = [
- 'http' => [
- 'method' => 'GET',
- ]
- ];
-
- $url = $this->_endpoint . '/output/' . $this->_pubhash . '.json';
-
- $context = stream_context_create($opts);
-
- return json_decode(file_get_contents($url, false, $context));
- }
-
- }
|