WP_REST_Request::parse_body_params()

Parses the request body parameters.


Description

Parses out URL-encoded bodies for request methods that aren’t supported natively by PHP. In PHP 5.x, only POST has these parsed automatically.


Top ↑

Source

File: wp-includes/rest-api/class-wp-rest-request.php. View all references

protected function parse_body_params() {
	if ( $this->parsed_body ) {
		return;
	}

	$this->parsed_body = true;

	/*
	 * Check that we got URL-encoded. Treat a missing Content-Type as
	 * URL-encoded for maximum compatibility.
	 */
	$content_type = $this->get_content_type();

	if ( ! empty( $content_type ) && 'application/x-www-form-urlencoded' !== $content_type['value'] ) {
		return;
	}

	parse_str( $this->get_body(), $params );

	/*
	 * Add to the POST parameters stored internally. If a user has already
	 * set these manually (via `set_body_params`), don't override them.
	 */
	$this->params['POST'] = array_merge( $params, $this->params['POST'] );
}


Top ↑

Changelog

Changelog
Version Description
4.4.0 Introduced.

Top ↑

User Contributed Notes

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