File "class-wp-rest-response.php"
Full path: /home/kosmetik/public_html/wp-includes/rest-api/class-wp-rest-response.php
File
size: 3.04 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
class WP_REST_Response extends WP_HTTP_Response
{
protected $links = array();
protected $matched_route = '';
protected $matched_handler = null;
public function add_link($rel, $href, $attributes = array())
{
if (empty($this->links[$rel])) {
$this->links[$rel] = array();
}
if (isset($attributes['href'])) {
unset($attributes['href']);
}
$this->links[$rel][] = array('href' => $href, 'attributes' => $attributes);
}
public function remove_link($rel, $href = null)
{
if (!isset($this->links[$rel])) {
return;
}
if ($href) {
$this->links[$rel] = wp_list_filter($this->links[$rel], array('href' => $href), 'NOT');
} else {
$this->links[$rel] = array();
}
if (!$this->links[$rel]) {
unset($this->links[$rel]);
}
}
public function add_links($links)
{
foreach ($links as $rel => $set) {
if (isset($set['href'])) {
$set = array($set);
}
foreach ($set as $attributes) {
$this->add_link($rel, $attributes['href'], $attributes);
}
}
}
public function get_links()
{
return $this->links;
}
public function link_header($rel, $link, $other = array())
{
$header = '<' . $link . '>; rel="' . $rel . '"';
foreach ($other as $key => $value) {
if ('title' === $key) {
$value = '"' . $value . '"';
}
$header .= '; ' . $key . '=' . $value;
}
$this->header('Link', $header, false);
}
public function get_matched_route()
{
return $this->matched_route;
}
public function set_matched_route($route)
{
$this->matched_route = $route;
}
public function get_matched_handler()
{
return $this->matched_handler;
}
public function set_matched_handler($handler)
{
$this->matched_handler = $handler;
}
public function is_error()
{
return $this->get_status() >= 400;
}
public function as_error()
{
if (!$this->is_error()) {
return null;
}
$error = new WP_Error();
if (is_array($this->get_data())) {
$data = $this->get_data();
$error->add($data['code'], $data['message'], $data['data']);
if (!empty($data['additional_errors'])) {
foreach ($data['additional_errors'] as $err) {
$error->add($err['code'], $err['message'], $err['data']);
}
}
} else {
$error->add($this->get_status(), '', array('status' => $this->get_status()));
}
return $error;
}
public function get_curies()
{
$curies = array(array('name' => 'wp', 'href' => 'https://api.w.org/{rel}', 'templated' => true));
$additional = apply_filters('rest_response_link_curies', array());
return array_merge($curies, $additional);
}
}