REST API: Accept string path in rest_ensure_request.
Update `rest_ensure_request()` to accept a string path, permitting a string path to be passed to `rest_do_request()` as is indicated (previously inaccurately) in that method's PHPDoc. Props TimothyBlynJacobs, kadamwhite. Fixes #40614. git-svn-id: https://develop.svn.wordpress.org/trunk@46099 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
ee69f54b8a
commit
b979a99355
@ -482,8 +482,9 @@ function rest_get_server() {
|
||||
* Ensures request arguments are a request object (for consistency).
|
||||
*
|
||||
* @since 4.4.0
|
||||
* @since 5.3.0 Accept string argument for the request path.
|
||||
*
|
||||
* @param array|WP_REST_Request $request Request to check.
|
||||
* @param array|string|WP_REST_Request $request Request to check.
|
||||
* @return WP_REST_Request REST request instance.
|
||||
*/
|
||||
function rest_ensure_request( $request ) {
|
||||
@ -491,6 +492,10 @@ function rest_ensure_request( $request ) {
|
||||
return $request;
|
||||
}
|
||||
|
||||
if ( is_string( $request ) ) {
|
||||
return new WP_REST_Request( 'GET', $request );
|
||||
}
|
||||
|
||||
return new WP_REST_Request( 'GET', '', $request );
|
||||
}
|
||||
|
||||
|
@ -744,4 +744,14 @@ class Tests_REST_API extends WP_UnitTestCase {
|
||||
|
||||
$GLOBALS['wp_rest_server'] = $rest_server;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 40614
|
||||
*/
|
||||
function test_rest_ensure_response_accepts_path_string() {
|
||||
$request = rest_ensure_request( '/wp/v2/posts' );
|
||||
$this->assertInstanceOf( 'WP_REST_Request', $request );
|
||||
$this->assertEquals( '/wp/v2/posts', $request->get_route() );
|
||||
$this->assertEquals( 'GET', $request->get_method() );
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user