| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- <?php
 
- /**
 
-  * @link http://www.yiiframework.com/
 
-  * @copyright Copyright (c) 2008 Yii Software LLC
 
-  * @license http://www.yiiframework.com/license/
 
-  */
 
- namespace yii\web;
 
- use yii\base\InvalidArgumentException;
 
- use yii\helpers\Json;
 
- /**
 
-  * Parses a raw HTTP request using [[\yii\helpers\Json::decode()]].
 
-  *
 
-  * To enable parsing for JSON requests you can configure [[Request::parsers]] using this class:
 
-  *
 
-  * ```php
 
-  * 'request' => [
 
-  *     'parsers' => [
 
-  *         'application/json' => 'yii\web\JsonParser',
 
-  *     ]
 
-  * ]
 
-  * ```
 
-  *
 
-  * @author Dan Schmidt <danschmidt5189@gmail.com>
 
-  * @since 2.0
 
-  */
 
- class JsonParser implements RequestParserInterface
 
- {
 
-     /**
 
-      * @var bool whether to return objects in terms of associative arrays.
 
-      */
 
-     public $asArray = true;
 
-     /**
 
-      * @var bool whether to throw a [[BadRequestHttpException]] if the body is invalid json
 
-      */
 
-     public $throwException = true;
 
-     /**
 
-      * Parses a HTTP request body.
 
-      * @param string $rawBody the raw HTTP request body.
 
-      * @param string $contentType the content type specified for the request body.
 
-      * @return array parameters parsed from the request body
 
-      * @throws BadRequestHttpException if the body contains invalid json and [[throwException]] is `true`.
 
-      */
 
-     public function parse($rawBody, $contentType)
 
-     {
 
-         try {
 
-             $parameters = Json::decode($rawBody, $this->asArray);
 
-             return $parameters === null ? [] : $parameters;
 
-         } catch (InvalidArgumentException $e) {
 
-             if ($this->throwException) {
 
-                 throw new BadRequestHttpException('Invalid JSON data in request body: ' . $e->getMessage());
 
-             }
 
-             return [];
 
-         }
 
-     }
 
- }
 
 
  |