处理服务器的OPTIONS请求。

原型

rest_handle_options_request( mixed $response, WP_REST_Server $handler, WP_REST_Request $request )

描述

这是在服务器代码之外处理的,因为它不遵循正常的路由映射。

参数

$response (mixed) (Required) 当前响应,响应或null表示传递。

$handler (WP_REST_Server) (Required) ResponseHandler实例(通常是WP_REST_Server)。

$request (WP_REST_Request) (Required) 用于进行当前响应的请求。

返回值

(WP_REST_Response)  修改后的响应,响应或响应

源文件

路径:wp-includes/rest-api.php

<?php
...
function rest_handle_options_request( $response, $handler, $request ) {
	if ( ! empty( $response ) || $request->get_method() !== 'OPTIONS' ) {
		return $response;
	}
	$response = new WP_REST_Response();
	$data = array();
	foreach ( $handler->get_routes() as $route => $endpoints ) {
		$match = preg_match( '@^' . $route . '[email protected]', $request->get_route() );
		if ( ! $match ) {
			continue;
		}
		$data = $handler->get_data_for_route( $route, $endpoints, 'help' );
		$response->set_matched_route( $route );
		break;
	}
	$response->set_data( $data );
	return $response;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/rest_handle_options_request/