12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- /**
- * ApiClient
- *
- * PHP version 5
- *
- * @category Services
- * @package Authy
- * @author David Cuadrado <[email protected]>
- * @license http://creativecommons.org/licenses/MIT/ MIT
- * @link http://authy.github.com/pear
- */
- /**
- * Friendly class to parse response from the authy API
- *
- * @category Services
- * @package Authy
- * @author David Cuadrado <[email protected]>
- * @license http://creativecommons.org/licenses/MIT/ MIT
- * @link http://authy.github.com/pear
- */
- class Authy_Response
- {
- protected $raw_response;
- protected $body;
- protected $errors;
- /**
- * Constructor.
- *
- * @param array $raw_response Raw server response
- */
- public function __construct($raw_response)
- {
- $this->raw_response = $raw_response;
- $this->body = $raw_response['body'];
- $this->errors = new stdClass();
- // Handle errors
- if (isset($this->body->errors)) {
- $this->errors = $this->body->errors; // when response is {errors: {}}
- unset($this->body->errors);
- } else if ($raw_response['status'] == 400) {
- $this->errors = $this->body; // body here is a stdClass
- $this->body = new stdClass();
- } else if (!$this->ok() && gettype($this->body) == 'string') {
- // the response was an error so put the body as an error
- $this->errors = (object) array("error" => $this->body);
- $this->body = new stdClass();
- }
- }
- /**
- * Check if the response was ok
- *
- * @return boolean return true if the response code is 200
- */
- public function ok()
- {
- return $this->raw_response['status'] == 200;
- }
- /**
- * Returns the id of the response if present
- *
- * @return integer id of the response
- */
- public function id()
- {
- return isset($this->body->id) ? $this->body->id : null;
- }
- /**
- * Get the request errors
- *
- * @return stdClass object containing the request errors
- */
- public function errors()
- {
- return $this->errors;
- }
- }
|