annotate vendor/jcalderonzumba/gastonjs/src/NetworkTraffic/Request.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Zumba\GastonJS\NetworkTraffic;
Chris@0 4
Chris@0 5 /**
Chris@0 6 * Class Request
Chris@0 7 * @package Zumba\GastonJS\NetworkTraffic
Chris@0 8 */
Chris@0 9 class Request {
Chris@0 10 /** @var array */
Chris@0 11 protected $data;
Chris@0 12 /** @var array */
Chris@0 13 protected $responseParts;
Chris@0 14
Chris@0 15
Chris@0 16 /**
Chris@0 17 * @param array $data
Chris@0 18 * @param array $responseParts
Chris@0 19 */
Chris@0 20 public function __construct($data, $responseParts = null) {
Chris@0 21 $this->data = $data;
Chris@0 22 $this->responseParts = $this->createResponseParts($responseParts);
Chris@0 23 }
Chris@0 24
Chris@0 25 /**
Chris@0 26 * Creates an array of Response objects from a given response array
Chris@0 27 * @param $responseParts
Chris@0 28 * @return array
Chris@0 29 */
Chris@0 30 protected function createResponseParts($responseParts) {
Chris@0 31 if ($responseParts === null) {
Chris@0 32 return array();
Chris@0 33 }
Chris@0 34 $responses = array();
Chris@0 35 foreach ($responseParts as $responsePart) {
Chris@0 36 $responses[] = new Response($responsePart);
Chris@0 37 }
Chris@0 38 return $responses;
Chris@0 39 }
Chris@0 40
Chris@0 41 /**
Chris@0 42 * @return array
Chris@0 43 */
Chris@0 44 public function getResponseParts() {
Chris@0 45 return $this->responseParts;
Chris@0 46 }
Chris@0 47
Chris@0 48 /**
Chris@0 49 * @param array $responseParts
Chris@0 50 */
Chris@0 51 public function setResponseParts($responseParts) {
Chris@0 52 $this->responseParts = $responseParts;
Chris@0 53 }
Chris@0 54
Chris@0 55 /**
Chris@0 56 * Returns the url where the request is going to be made
Chris@0 57 * @return string
Chris@0 58 */
Chris@0 59 public function getUrl() {
Chris@0 60 //TODO: add isset maybe?
Chris@0 61 return $this->data['url'];
Chris@0 62 }
Chris@0 63
Chris@0 64 /**
Chris@0 65 * Returns the request method
Chris@0 66 * @return string
Chris@0 67 */
Chris@0 68 public function getMethod() {
Chris@0 69 return $this->data['method'];
Chris@0 70 }
Chris@0 71
Chris@0 72 /**
Chris@0 73 * Gets the request headers
Chris@0 74 * @return array
Chris@0 75 */
Chris@0 76 public function getHeaders() {
Chris@0 77 //TODO: Check if the data is actually an array, else make it array and see implications
Chris@0 78 return $this->data['headers'];
Chris@0 79 }
Chris@0 80
Chris@0 81 /**
Chris@0 82 * Returns if exists the request time
Chris@0 83 * @return \DateTime
Chris@0 84 */
Chris@0 85 public function getTime() {
Chris@0 86 if (isset($this->data['time'])) {
Chris@0 87 $requestTime = new \DateTime();
Chris@0 88 //TODO: fix the microseconds to miliseconds
Chris@0 89 $requestTime->createFromFormat("Y-m-dTH:i:s.uZ", $this->data["time"]);
Chris@0 90 return $requestTime;
Chris@0 91 }
Chris@0 92 return null;
Chris@0 93 }
Chris@0 94
Chris@0 95 }