[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 namespace RESTful; 4 5 use RESTful\Exceptions\HTTPError; 6 use RESTful\Settings; 7 8 class Client 9 { 10 public function __construct($settings_class, $request_class = null, $convert_error = null) 11 { 12 $this->request_class = $request_class == null ? '\Httpful\Request' : $request_class; 13 $this->settings_class = $settings_class; 14 $this->convert_error = $convert_error; 15 } 16 17 public function get($uri) 18 { 19 $settings_class = $this->settings_class; 20 $url = $settings_class::$url_root . $uri; 21 $request_class = $this->request_class; 22 $request = $request_class::get($url); 23 24 return $this->_op($request); 25 } 26 27 public function post($uri, $payload) 28 { 29 $settings_class = $this->settings_class; 30 $url = $settings_class::$url_root . $uri; 31 $request_class = $this->request_class; 32 $request = $request_class::post($url, $payload, 'json'); 33 34 return $this->_op($request); 35 } 36 37 public function put($uri, $payload) 38 { 39 $settings_class = $this->settings_class; 40 $url = $settings_class::$url_root . $uri; 41 $request_class = $this->request_class; 42 $request = $request_class::put($url, $payload, 'json'); 43 44 return $this->_op($request); 45 } 46 47 public function delete($uri) 48 { 49 $settings_class = $this->settings_class; 50 $url = $settings_class::$url_root . $uri; 51 $request_class = $this->request_class; 52 $request = $request_class::delete($url); 53 54 return $this->_op($request); 55 } 56 57 private function _op($request) 58 { 59 $settings_class = $this->settings_class; 60 $user_agent = $settings_class::$agent . '/' . $settings_class::$version; 61 $request->headers['User-Agent'] = $user_agent; 62 if ($settings_class::$api_key != null) { 63 $request = $request->authenticateWith($settings_class::$api_key, ''); 64 } 65 $request->expects('json'); 66 $response = $request->sendIt(); 67 if ($response->hasErrors() || $response->code == 300) { 68 if ($this->convert_error != null) { 69 $error = call_user_func($this->convert_error, $response); 70 } else { 71 $error = new HTTPError($response); 72 } 73 throw $error; 74 } 75 76 return $response; 77 } 78 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |