update v 1.0.7.5
This commit is contained in:
		| @@ -1,79 +1,94 @@ | ||||
| <?php namespace Illuminate\Http; | ||||
| <?php | ||||
|  | ||||
| namespace Illuminate\Http; | ||||
|  | ||||
| use JsonSerializable; | ||||
| use InvalidArgumentException; | ||||
| use Illuminate\Contracts\Support\Jsonable; | ||||
| use Illuminate\Contracts\Support\Arrayable; | ||||
| use Symfony\Component\HttpFoundation\JsonResponse as BaseJsonResponse; | ||||
|  | ||||
| class JsonResponse extends BaseJsonResponse { | ||||
| class JsonResponse extends BaseJsonResponse | ||||
| { | ||||
|     use ResponseTrait; | ||||
|  | ||||
| 	use ResponseTrait; | ||||
|     /** | ||||
|      * Constructor. | ||||
|      * | ||||
|      * @param  mixed  $data | ||||
|      * @param  int    $status | ||||
|      * @param  array  $headers | ||||
|      * @param  int    $options | ||||
|      */ | ||||
|     public function __construct($data = null, $status = 200, $headers = [], $options = 0) | ||||
|     { | ||||
|         $this->encodingOptions = $options; | ||||
|  | ||||
| 	/** | ||||
| 	 * The json encoding options. | ||||
| 	 * | ||||
| 	 * @var int | ||||
| 	 */ | ||||
| 	protected $jsonOptions; | ||||
|         parent::__construct($data, $status, $headers); | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * Constructor. | ||||
| 	 * | ||||
| 	 * @param  mixed  $data | ||||
| 	 * @param  int    $status | ||||
| 	 * @param  array  $headers | ||||
| 	 * @param  int    $options | ||||
| 	*/ | ||||
| 	public function __construct($data = null, $status = 200, $headers = array(), $options = 0) | ||||
| 	{ | ||||
| 		$this->jsonOptions = $options; | ||||
|     /** | ||||
|      * Get the json_decoded data from the response. | ||||
|      * | ||||
|      * @param  bool  $assoc | ||||
|      * @param  int   $depth | ||||
|      * @return mixed | ||||
|      */ | ||||
|     public function getData($assoc = false, $depth = 512) | ||||
|     { | ||||
|         return json_decode($this->data, $assoc, $depth); | ||||
|     } | ||||
|  | ||||
| 		parent::__construct($data, $status, $headers); | ||||
| 	} | ||||
|     /** | ||||
|      * {@inheritdoc} | ||||
|      */ | ||||
|     public function setData($data = []) | ||||
|     { | ||||
|         if ($data instanceof Arrayable) { | ||||
|             $this->data = json_encode($data->toArray(), $this->encodingOptions); | ||||
|         } elseif ($data instanceof Jsonable) { | ||||
|             $this->data = $data->toJson($this->encodingOptions); | ||||
|         } elseif ($data instanceof JsonSerializable) { | ||||
|             $this->data = json_encode($data->jsonSerialize(), $this->encodingOptions); | ||||
|         } else { | ||||
|             $this->data = json_encode($data, $this->encodingOptions); | ||||
|         } | ||||
|  | ||||
| 	/** | ||||
| 	 * Get the json_decoded data from the response. | ||||
| 	 * | ||||
| 	 * @param  bool  $assoc | ||||
| 	 * @param  int   $depth | ||||
| 	 * @return mixed | ||||
| 	 */ | ||||
| 	public function getData($assoc = false, $depth = 512) | ||||
| 	{ | ||||
| 		return json_decode($this->data, $assoc, $depth); | ||||
| 	} | ||||
|         if (JSON_ERROR_NONE !== json_last_error()) { | ||||
|             throw new InvalidArgumentException(json_last_error_msg()); | ||||
|         } | ||||
|  | ||||
| 	/** | ||||
| 	 * {@inheritdoc} | ||||
| 	 */ | ||||
| 	public function setData($data = array()) | ||||
| 	{ | ||||
| 		$this->data = $data instanceof Jsonable | ||||
| 								   ? $data->toJson($this->jsonOptions) | ||||
| 								   : json_encode($data, $this->jsonOptions); | ||||
|         return $this->update(); | ||||
|     } | ||||
|  | ||||
| 		return $this->update(); | ||||
| 	} | ||||
|     /** | ||||
|      * Get the JSON encoding options. | ||||
|      * | ||||
|      * @return int | ||||
|      */ | ||||
|     public function getJsonOptions() | ||||
|     { | ||||
|         return $this->getEncodingOptions(); | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * Get the JSON encoding options. | ||||
| 	 * | ||||
| 	 * @return int | ||||
| 	 */ | ||||
| 	public function getJsonOptions() | ||||
| 	{ | ||||
| 		return $this->jsonOptions; | ||||
| 	} | ||||
|     /** | ||||
|      * {@inheritdoc} | ||||
|      */ | ||||
|     public function setEncodingOptions($encodingOptions) | ||||
|     { | ||||
|         return $this->setJsonOptions($encodingOptions); | ||||
|     } | ||||
|  | ||||
| 	/** | ||||
| 	 * Set the JSON encoding options. | ||||
| 	 * | ||||
| 	 * @param  int  $options | ||||
| 	 * @return mixed | ||||
| 	 */ | ||||
| 	public function setJsonOptions($options) | ||||
| 	{ | ||||
| 		$this->jsonOptions = $options; | ||||
|  | ||||
| 		return $this->setData($this->getData()); | ||||
| 	} | ||||
|     /** | ||||
|      * Set the JSON encoding options. | ||||
|      * | ||||
|      * @param  int  $options | ||||
|      * @return mixed | ||||
|      */ | ||||
|     public function setJsonOptions($options) | ||||
|     { | ||||
|         $this->encodingOptions = (int) $options; | ||||
|  | ||||
|         return $this->setData($this->getData()); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sujit Prasad
					Sujit Prasad