File "class-wc-api-json-handler.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/woocommerce/includes/legacy/api/v1/class-wc-api-json-handler.php
File
size: 1.31 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
if (!defined('ABSPATH')) {
exit;
}
class WC_API_JSON_Handler implements WC_API_Handler
{
public function get_content_type()
{
return sprintf('%s; charset=%s', isset($_GET['_jsonp']) ? 'application/javascript' : 'application/json', get_option('blog_charset'));
}
public function parse_body($body)
{
return json_decode($body, true);
}
public function generate_response($data)
{
if (isset($_GET['_jsonp'])) {
if (!apply_filters('woocommerce_api_jsonp_enabled', true)) {
WC()->api->server->send_status(400);
return wp_json_encode(array(array('code' => 'woocommerce_api_jsonp_disabled', 'message' => __('JSONP support is disabled on this site', 'woocommerce'))));
}
$jsonp_callback = $_GET['_jsonp'];
if (!wp_check_jsonp_callback($jsonp_callback)) {
WC()->api->server->send_status(400);
return wp_json_encode(array(array('code' => 'woocommerce_api_jsonp_callback_invalid', __('The JSONP callback function is invalid', 'woocommerce'))));
}
WC()->api->server->header('X-Content-Type-Options', 'nosniff');
return '/**/' . $jsonp_callback . '(' . wp_json_encode($data) . ')';
}
return wp_json_encode($data);
}
}