WP_REST_Server::envelope_response( WP_REST_Response $response, bool|string[] $embed ): WP_REST_Response

Wraps the response in an envelope.

Description

The enveloping technique is used to work around browser/client compatibility issues. Essentially, it converts the full HTTP response to data instead.

Parameters

$responseWP_REST_Responserequired
Response object.
$embedbool|string[]required
Whether to embed all links, a filtered list of link relations, or no links.

Return

WP_REST_Response New response with wrapped data

Source

public function envelope_response( $response, $embed ) {
	$envelope = array(
		'body'    => $this->response_to_data( $response, $embed ),
		'status'  => $response->get_status(),
		'headers' => $response->get_headers(),
	);

	/**
	 * Filters the enveloped form of a REST API response.
	 *
	 * @since 4.4.0
	 *
	 * @param array            $envelope {
	 *     Envelope data.
	 *
	 *     @type array $body    Response data.
	 *     @type int   $status  The 3-digit HTTP status code.
	 *     @type array $headers Map of header name to header value.
	 * }
	 * @param WP_REST_Response $response Original response data.
	 */
	$envelope = apply_filters( 'rest_envelope_response', $envelope, $response );

	// Ensure it's still a response and return.
	return rest_ensure_response( $envelope );
}

Hooks

apply_filters( ‘rest_envelope_response’, array $envelope, WP_REST_Response $response )

Filters the enveloped form of a REST API response.

Changelog

VersionDescription
6.0.0The $embed parameter can now contain a list of link relations to include.
4.4.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.