- Timestamp:
- 10/12/2023 04:07:43 PM (15 months ago)
- Location:
- branches/6.2
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/6.2
- Property svn:mergeinfo changed
/trunk merged: 56833-56838
- Property svn:mergeinfo changed
-
branches/6.2/src/wp-includes/rest-api/class-wp-rest-server.php
r55361 r56895 360 360 361 361 /** 362 * Filters whether to send nocache headers on a REST API request.363 *364 * @since 4.4.0365 *366 * @param bool $rest_send_nocache_headers Whether to send no-cache headers.367 */368 $send_no_cache_headers = apply_filters( 'rest_send_nocache_headers', is_user_logged_in() );369 if ( $send_no_cache_headers ) {370 foreach ( wp_get_nocache_headers() as $header => $header_value ) {371 if ( empty( $header_value ) ) {372 $this->remove_header( $header );373 } else {374 $this->send_header( $header, $header_value );375 }376 }377 }378 379 /**380 362 * Filters whether the REST API is enabled. 381 363 * … … 431 413 * header. 432 414 */ 415 $method_overridden = false; 433 416 if ( isset( $_GET['_method'] ) ) { 434 417 $request->set_method( $_GET['_method'] ); 435 418 } elseif ( isset( $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ) ) { 436 419 $request->set_method( $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ); 420 $method_overridden = true; 437 421 } 438 422 … … 493 477 */ 494 478 $served = apply_filters( 'rest_pre_serve_request', false, $result, $request, $this ); 479 480 /** 481 * Filters whether to send nocache headers on a REST API request. 482 * 483 * @since 4.4.0 484 * @since 6.x.x Moved the block to catch the filter added on rest_cookie_check_errors() from rest-api.php 485 * 486 * @param bool $rest_send_nocache_headers Whether to send no-cache headers. 487 */ 488 $send_no_cache_headers = apply_filters( 'rest_send_nocache_headers', is_user_logged_in() ); 489 490 // send no cache headers if the $send_no_cache_headers is true 491 // OR if the HTTP_X_HTTP_METHOD_OVERRIDE is used but resulted a 4xx response code. 492 if ( $send_no_cache_headers || ( true === $method_overridden && strpos( $code, '4' ) === 0 ) ) { 493 foreach ( wp_get_nocache_headers() as $header => $header_value ) { 494 if ( empty( $header_value ) ) { 495 $this->remove_header( $header ); 496 } else { 497 $this->send_header( $header, $header_value ); 498 } 499 } 500 } 495 501 496 502 if ( ! $served ) {
Note: See TracChangeset
for help on using the changeset viewer.