ArangoDB-PHP API Documentation
  • Namespace
  • Class
  • Deprecated

Namespaces

  • triagens
    • ArangoDb

Classes

  • triagens\ArangoDb\AdminHandler
  • triagens\ArangoDb\AqlUserFunction
  • triagens\ArangoDb\Autoloader
  • triagens\ArangoDb\Batch
  • triagens\ArangoDb\BatchPart
  • triagens\ArangoDb\BindVars
  • triagens\ArangoDb\Collection
  • triagens\ArangoDb\CollectionHandler
  • triagens\ArangoDb\Connection
  • triagens\ArangoDb\ConnectionOptions
  • triagens\ArangoDb\Cursor
  • triagens\ArangoDb\Database
  • triagens\ArangoDb\DefaultValues
  • triagens\ArangoDb\Document
  • triagens\ArangoDb\DocumentHandler
  • triagens\ArangoDb\Edge
  • triagens\ArangoDb\EdgeDefinition
  • triagens\ArangoDb\EdgeHandler
  • triagens\ArangoDb\Endpoint
  • triagens\ArangoDb\Export
  • triagens\ArangoDb\ExportCursor
  • triagens\ArangoDb\Graph
  • triagens\ArangoDb\GraphHandler
  • triagens\ArangoDb\Handler
  • triagens\ArangoDb\HttpHelper
  • triagens\ArangoDb\HttpResponse
  • triagens\ArangoDb\QueryCacheHandler
  • triagens\ArangoDb\QueryHandler
  • triagens\ArangoDb\Statement
  • triagens\ArangoDb\TraceRequest
  • triagens\ArangoDb\TraceResponse
  • triagens\ArangoDb\Transaction
  • triagens\ArangoDb\Traversal
  • triagens\ArangoDb\UpdatePolicy
  • triagens\ArangoDb\UrlHelper
  • triagens\ArangoDb\Urls
  • triagens\ArangoDb\User
  • triagens\ArangoDb\UserHandler
  • triagens\ArangoDb\ValueValidator
  • triagens\ArangoDb\Vertex
  • triagens\ArangoDb\VertexHandler

Exceptions

  • triagens\ArangoDb\ClientException
  • triagens\ArangoDb\ConnectException
  • triagens\ArangoDb\Exception
  • triagens\ArangoDb\ServerException
  1 <?php
  2 /**
  3  * ArangoDB PHP client: connection
  4  *
  5  * @package   triagens\ArangoDb
  6  * @author    Jan Steemann
  7  * @author    Francis Chuang
  8  * @copyright Copyright 2012, triagens GmbH, Cologne, Germany
  9  */
 10 
 11 namespace triagens\ArangoDb;
 12 
 13 /**
 14  * Class TraceResponse
 15  *
 16  * @author    Francis Chuang
 17  * @package   triagens\ArangoDb
 18  * @since     1.3
 19  */
 20 class TraceResponse
 21 {
 22     /**
 23      * Stores each header as an array (key => value) element
 24      *
 25      * @var array
 26      */
 27     private $_headers = [];
 28 
 29     /**
 30      * The http status code
 31      *
 32      * @var int
 33      */
 34     private $_httpCode;
 35 
 36     /**
 37      * The raw body of the response
 38      *
 39      * @var string
 40      */
 41     private $_body;
 42 
 43     /**
 44      * The type of http message
 45      *
 46      * @var string
 47      */
 48     private $_type = 'response';
 49 
 50     /**
 51      * The time taken to send and receive a response in seconds
 52      *
 53      * @var float
 54      */
 55     private $_timeTaken;
 56 
 57     /**
 58      * Used to look up the definition for an http code
 59      *
 60      * @var array
 61      */
 62     private $_httpCodeDefinitions = [
 63         100 => 'Continue',
 64         101 => 'Switching Protocols',
 65         200 => 'OK',
 66         201 => 'Created',
 67         202 => 'Accepted',
 68         203 => 'Non-Authoritative Information',
 69         204 => 'No Content',
 70         205 => 'Reset Content',
 71         206 => 'Partial Content',
 72         300 => 'Multiple Choices',
 73         301 => 'Moved Permanently',
 74         302 => 'Found',
 75         303 => 'See Other',
 76         304 => 'Not Modified',
 77         305 => 'Use Proxy',
 78         307 => 'Temporary Redirect',
 79         400 => 'Bad Request',
 80         401 => 'Unauthorized',
 81         402 => 'Payment Required',
 82         403 => 'Forbidden',
 83         404 => 'Not Found',
 84         405 => 'Method Not Allowed',
 85         406 => 'Not Acceptable',
 86         407 => 'Proxy Authentication Required',
 87         408 => 'Request Timeout',
 88         409 => 'Conflict',
 89         410 => 'Gone',
 90         411 => 'Length Required',
 91         412 => 'Precondition Failed',
 92         413 => 'Request Entity Too Large',
 93         414 => 'Request-URI Too Long',
 94         415 => 'Unsupported Media Type',
 95         416 => 'Requested Range Not Satisfiable',
 96         417 => 'Expectation Failed',
 97         418 => 'I\'m a teapot',
 98         500 => 'Internal Server Error',
 99         501 => 'Not Implemented',
100         502 => 'Bad Gateway',
101         503 => 'Service Unavailable',
102         504 => 'Gateway Timeout',
103         505 => 'HTTP Version Not Supported',
104     ];
105 
106     /**
107      * Set up the response trace
108      *
109      * @param array  $headers  - the array of http headers
110      * @param int    $httpCode - the http code
111      * @param string $body     - the string of http body
112      * @param        $timeTaken
113      */
114     public function __construct($headers, $httpCode, $body, $timeTaken)
115     {
116         $this->_headers   = $headers;
117         $this->_httpCode  = $httpCode;
118         $this->_body      = $body;
119         $this->_timeTaken = $timeTaken;
120     }
121 
122     /**
123      * Get an array of the response headers
124      *
125      * @return array
126      */
127     public function getHeaders()
128     {
129         return $this->_headers;
130     }
131 
132     /**
133      * Get the http response code
134      *
135      * @return int
136      */
137     public function getHttpCode()
138     {
139         return $this->_httpCode;
140     }
141 
142     /**
143      * Get the http code definition
144      *
145      * @throws ClientException
146      * @return string
147      */
148     public function getHttpCodeDefinition()
149     {
150         if (!isset($this->_httpCodeDefinitions[$this->getHttpCode()])) {
151             throw new ClientException('Invalid http code provided.');
152         }
153 
154         return $this->_httpCodeDefinitions[$this->getHttpCode()];
155     }
156 
157     /**
158      * Get the response body
159      *
160      * @return string
161      */
162     public function getBody()
163     {
164         return $this->_body;
165     }
166 
167     /**
168      * Get the http message type
169      *
170      * @return string
171      */
172     public function getType()
173     {
174         return $this->_type;
175     }
176 
177     /**
178      * Get the time taken for this request
179      */
180     public function getTimeTaken()
181     {
182         return $this->_timeTaken;
183     }
184 }
185 
ArangoDB-PHP API Documentation API documentation generated by ApiGen