Exception
6 years ago
Client.php
6 years ago
Config.php
6 years ago
Curl.php
6 years ago
Helper.php
6 years ago
RequestHandler.php
6 years ago
Response.php
6 years ago
Stream.php
6 years ago
RequestHandler.php
72 lines
| 1 | <?php |
| 2 | |
| 3 | namespace BackupGuard; |
| 4 | |
| 5 | require_once(dirname(__FILE__).'/Curl.php'); |
| 6 | require_once(dirname(__FILE__).'/Stream.php'); |
| 7 | |
| 8 | abstract class RequestHandler |
| 9 | { |
| 10 | protected $url = ''; |
| 11 | protected $params = array(); |
| 12 | protected $headers = array(); |
| 13 | protected $httpCode = false; |
| 14 | protected $contentType = false; |
| 15 | protected $body = false; |
| 16 | protected $getWithQueryParams = false; |
| 17 | |
| 18 | public function __construct($url) |
| 19 | { |
| 20 | $this->url = $url; |
| 21 | } |
| 22 | |
| 23 | abstract public function post(); |
| 24 | |
| 25 | abstract public function get(); |
| 26 | |
| 27 | public static function createRequest($url) |
| 28 | { |
| 29 | //if curl is available, use it |
| 30 | if (function_exists('curl_version')) { |
| 31 | return new Curl($url); |
| 32 | } |
| 33 | |
| 34 | return new Stream($url); |
| 35 | } |
| 36 | |
| 37 | public function addHeader($header) |
| 38 | { |
| 39 | $this->headers[] = $header; |
| 40 | } |
| 41 | |
| 42 | public function setHeaders($headers) |
| 43 | { |
| 44 | $this->headers = $headers; |
| 45 | } |
| 46 | |
| 47 | public function addParam($key, $value) |
| 48 | { |
| 49 | $this->params[$key] = $value; |
| 50 | } |
| 51 | |
| 52 | public function setParams($params) |
| 53 | { |
| 54 | $this->params = $params; |
| 55 | } |
| 56 | |
| 57 | protected function parseResponse() |
| 58 | { |
| 59 | $response = new Response(); |
| 60 | $response->setBody($this->body); |
| 61 | $response->setHttpStatus($this->httpCode); |
| 62 | $response->setContentType($this->contentType); |
| 63 | |
| 64 | //if the response is in json format, decode it |
| 65 | if ($this->contentType == 'application/json') { |
| 66 | $response->parseJsonBody(); |
| 67 | } |
| 68 | |
| 69 | return $response; |
| 70 | } |
| 71 | } |
| 72 |