diff options
Diffstat (limited to 'vendor/paypal/paypalhttp/lib/PayPalHttp/Serializer/Json.php')
-rw-r--r-- | vendor/paypal/paypalhttp/lib/PayPalHttp/Serializer/Json.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/paypal/paypalhttp/lib/PayPalHttp/Serializer/Json.php b/vendor/paypal/paypalhttp/lib/PayPalHttp/Serializer/Json.php new file mode 100644 index 0000000..3f66314 --- /dev/null +++ b/vendor/paypal/paypalhttp/lib/PayPalHttp/Serializer/Json.php @@ -0,0 +1,38 @@ +<?php + +namespace PayPalHttp\Serializer; + +use PayPalHttp\HttpRequest; +use PayPalHttp\Serializer; + +/** + * Class Json + * @package PayPalHttp\Serializer + * + * Serializer for JSON content types. + */ +class Json implements Serializer +{ + + public function contentType() + { + return "/^application\\/json/"; + } + + public function encode(HttpRequest $request) + { + $body = $request->body; + if (is_string($body)) { + return $body; + } + if (is_array($body)) { + return json_encode($body); + } + throw new \Exception("Cannot serialize data. Unknown type"); + } + + public function decode($data) + { + return json_decode($data); + } +} |