PluginProbe ʕ •ᴥ•ʔ
WooCommerce Square / 5.4.2
WooCommerce Square v5.4.2
5.4.2 5.4.1 5.4.0 trunk 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.7.0 2.8.0 2.9.0 2.9.1 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.2.0 3.3.0 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.7.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 4.0.0 4.1.0 4.2.0 4.2.1 4.2.2 4.2.3 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.9.0 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 4.9.8 4.9.9 5.0.0 5.0.1 5.1.0 5.1.1 5.1.2 5.2.0 5.3.0 5.3.1 5.3.2 5.3.3
woocommerce-square / includes / Framework / Api / API_JSON_Response.php
woocommerce-square / includes / Framework / Api Last commit date
API_JSON_Request.php 3 years ago API_JSON_Response.php 3 years ago API_Request.php 2 years ago API_Response.php 3 years ago Base.php 1 year ago
API_JSON_Response.php
86 lines
1 <?php
2 /**
3 * WooCommerce Plugin Framework
4 *
5 * This source file is subject to the GNU General Public License v3.0
6 * that is bundled with this package in the file license.txt.
7 * It is also available through the world-wide-web at this URL:
8 * http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0 or later
9 * If you did not receive a copy of the license and are unable to
10 * obtain it through the world-wide-web, please send an email
11 * to license@skyverge.com so we can send you a copy immediately.
12 *
13 * @since 3.0.0
14 * @author WooCommerce / SkyVerge
15 * @copyright Copyright (c) 2013-2019, SkyVerge, Inc.
16 * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0 or later
17 *
18 * Modified by WooCommerce on 01 December 2021.
19 */
20
21 namespace WooCommerce\Square\Framework\Api;
22
23 defined( 'ABSPATH' ) or exit;
24
25 /**
26 * Base JSON API response class.
27 *
28 * @since 3.0.0
29 */
30 abstract class API_JSON_Response {
31
32 /** @var string string representation of this response */
33 protected $raw_response_json;
34
35 /** @var mixed decoded response data */
36 public $response_data;
37
38
39 /**
40 * Build the data object from the raw JSON.
41 *
42 * @since 3.0.0
43 * @param string $raw_response_json The raw JSON
44 */
45 public function __construct( $raw_response_json ) {
46 $this->raw_response_json = $raw_response_json;
47 $this->response_data = json_decode( $raw_response_json );
48 }
49
50
51 /**
52 * Magic accessor for response data attributes
53 *
54 * @since 3.0.0
55 * @param string $name The attribute name to get.
56 * @return mixed The attribute value
57 */
58 public function __get( $name ) {
59 // accessing the response_data object indirectly via attribute (useful when it's a class)
60 return isset( $this->response_data->$name ) ? $this->response_data->$name : null;
61 }
62
63
64 /**
65 * Get the string representation of this response.
66 *
67 * @since 3.0.0
68 * @return string
69 */
70 public function to_string() {
71 return $this->raw_response_json;
72 }
73
74
75 /**
76 * Get the string representation of this response with any and all sensitive elements masked
77 * or removed.
78 *
79 * @since 3.0.0
80 * @return string
81 */
82 public function to_string_safe() {
83 return $this->to_string();
84 }
85 }
86