diff options
author | beardyman <nornholdj@gmail.com> | 2015-09-16 23:25:03 -0400 |
---|---|---|
committer | beardyman <nornholdj@gmail.com> | 2015-09-16 23:25:03 -0400 |
commit | b51ce2d0a8fad2577c164e1ab1c8382b1ae23fae (patch) | |
tree | 0cfd23aff75b957b0beb7e88e4c0a544c5c107b5 /lib/SparkPost/APIResource.php | |
parent | 0c4b276fd3c51e938474071fcde5b294a7651256 (diff) | |
download | php-sparkpost-b51ce2d0a8fad2577c164e1ab1c8382b1ae23fae.zip php-sparkpost-b51ce2d0a8fad2577c164e1ab1c8382b1ae23fae.tar.gz php-sparkpost-b51ce2d0a8fad2577c164e1ab1c8382b1ae23fae.tar.bz2 |
finished code updates/refactoring updated examples and began refactoring tests
Diffstat (limited to 'lib/SparkPost/APIResource.php')
-rw-r--r-- | lib/SparkPost/APIResource.php | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/lib/SparkPost/APIResource.php b/lib/SparkPost/APIResource.php index be3d788..260d5e2 100644 --- a/lib/SparkPost/APIResource.php +++ b/lib/SparkPost/APIResource.php @@ -58,7 +58,10 @@ class APIResource { } - protected static function buildRequestModel( $requestConfig, $model=array() ) { + /** + * TODO: Docs + */ + protected static function buildRequestModel(Array $requestConfig, Array $model=[] ) { foreach($requestConfig as $key=>$value) { self::setMappedValue($model, $key, $value); } @@ -69,14 +72,14 @@ class APIResource { * TODO: Docs */ public static function create(Array $body=[]) { - return self::callResource( 'post', '/', ['body'=>$options]); + return self::callResource( 'post', null, ['body'=>$body]); } /** * TODO: Docs */ - public static function update(String $resourcePath, Array $body=[]) { - return self::callResource( 'post', $resourcePath, ['body'=>$options]); + public static function update( $resourcePath, Array $body=[]) { + return self::callResource( 'put', $resourcePath, ['body'=>$body]); } /** @@ -86,8 +89,8 @@ class APIResource { * @param array $options (optional) query string parameters * @return array Result set of transmissions found */ - public static function get(String $resourcePath=null, Array $options=[] ) { - return self::callResource( 'get', $resourcePath, $options ); + public static function get( $resourcePath=null, Array $query=[] ) { + return self::callResource( 'get', $resourcePath, ['query'=>$query] ); } /** @@ -97,8 +100,8 @@ class APIResource { * @param array $options (optional) query string parameters * @return array Result set of transmissions found */ - public static function delete(String $resourcePath=null, Array $options=[] ) { - return self::callResource( 'delete', $resourcePath, $options ); + public static function delete( $resourcePath=null, Array $query=[] ) { + return self::callResource( 'delete', $resourcePath, ['query'=>$query] ); } /** @@ -121,10 +124,10 @@ class APIResource { throw new \Exception('Invalid resource action'); } - $url = '/'.static::$endpoint; + $url = '/' . static::$endpoint . '/'; $body = null; if (!is_null($resourcePath)){ - $url .= $url.$resourcePath; + $url .= $resourcePath; } // untested: @@ -135,7 +138,7 @@ class APIResource { if( !empty($options['body']) ) { $model = static::$structure; - $requestModel = self::buildRequestModel( $requestConfig, $options['body'] ); + $requestModel = self::buildRequestModel( $options['body'], $model ); $body = json_encode($requestModel); } @@ -147,15 +150,15 @@ class APIResource { } /* * Handles 4XX responses - */ - // catch (HttpAdapterException $exception) { - // $response = $exception->getResponse(); - // $statusCode = $response->getStatusCode(); - // if($statusCode === 404) { - // throw new \Exception("The specified resource does not exist", 404); - // } - // throw new \Exception("Received bad response from ".ucfirst(static::$endpoint)." API: ". $statusCode ); - // } + */ + catch (HttpAdapterException $exception) { + $response = $exception->getBody(); + $statusCode = $response->getStatusCode(); + if($statusCode === 404) { + throw new \Exception("The specified resource does not exist", 404); + } + throw new \Exception("Received bad response from ".ucfirst(static::$endpoint)." API: ". $statusCode ); + } /* * Handles 5XX Errors, Configuration Errors, and a catch all for other errors */ |