WP_REST_Server::get_compact_response_links PHP Method

    public static function get_compact_response_links($response)
    {
        $links = self::get_response_links($response);
        if (empty($links)) {
            return array();
        }
        $curies = $response->get_curies();
        $used_curies = array();
        foreach ($links as $rel => $items) {
            // Convert $rel URIs to their compact versions if they exist.
            foreach ($curies as $curie) {
                $href_prefix = substr($curie['href'], 0, strpos($curie['href'], '{rel}'));
                if (strpos($rel, $href_prefix) !== 0) {
                    continue;
                }
                // Relation now changes from '$uri' to '$curie:$relation'.
                $rel_regex = str_replace('\\{rel\\}', '(.+)', preg_quote($curie['href'], '!'));
                preg_match('!' . $rel_regex . '!', $rel, $matches);
                if ($matches) {
                    $new_rel = $curie['name'] . ':' . $matches[1];
                    $used_curies[$curie['name']] = $curie;
                    $links[$new_rel] = $items;
                    unset($links[$rel]);
                    break;
                }
            }
        }
        // Push the curies onto the start of the links array.
        if ($used_curies) {
            $links['curies'] = array_values($used_curies);
        }
        return $links;
    }