wpseek.com
				A WordPress-centric search engine for devs and theme authors
			_oembed_rest_pre_serve_request is private and should not be used in themes or plugins directly.
_oembed_rest_pre_serve_request › WordPress Function
Since4.4.0
Deprecatedn/a
› _oembed_rest_pre_serve_request ( $served, $result, $request, $server )
| Access: | 
 | 
| Parameters: (4) | 
 | 
| Returns: | 
 | 
| Defined at: | 
 | 
| Codex: | 
Hooks into the REST API output to print XML instead of JSON.
This is only done for the oEmbed API endpoint, which supports both formats.Source
function _oembed_rest_pre_serve_request( $served, $result, $request, $server ) {
	$params = $request->get_params();
	if ( '/oembed/1.0/embed' !== $request->get_route() || 'GET' !== $request->get_method() ) {
		return $served;
	}
	if ( ! isset( $params['format'] ) || 'xml' !== $params['format'] ) {
		return $served;
	}
	// Embed links inside the request.
	$data = $server->response_to_data( $result, false );
	if ( ! class_exists( 'SimpleXMLElement' ) ) {
		status_header( 501 );
		die( get_status_header_desc( 501 ) );
	}
	$result = _oembed_create_xml( $data );
	// Bail if there's no XML.
	if ( ! $result ) {
		status_header( 501 );
		die( get_status_header_desc( 501 ) );
	}
	if ( ! headers_sent() ) {
		$server->send_header( 'Content-Type', 'text/xml; charset=' . get_option( 'blog_charset' ) );
	}
	echo $result;
	return true;
}