- Timestamp:
- 10/12/2023 03:09:08 PM (20 months ago)
- Location:
- branches/5.5
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/5.5
- Property svn:mergeinfo changed
/trunk merged: 56833-56836,56838
- Property svn:mergeinfo changed
-
branches/5.5/src/wp-includes/rest-api/class-wp-rest-server.php
r48576 r56880 282 282 283 283 /** 284 * Send nocache headers on authenticated requests.285 *286 * @since 4.4.0287 *288 * @param bool $rest_send_nocache_headers Whether to send no-cache headers.289 */290 $send_no_cache_headers = apply_filters( 'rest_send_nocache_headers', is_user_logged_in() );291 if ( $send_no_cache_headers ) {292 foreach ( wp_get_nocache_headers() as $header => $header_value ) {293 if ( empty( $header_value ) ) {294 $this->remove_header( $header );295 } else {296 $this->send_header( $header, $header_value );297 }298 }299 }300 301 /**302 284 * Filters whether the REST API is enabled. 303 285 * … … 365 347 * header. 366 348 */ 349 $method_overridden = false; 367 350 if ( isset( $_GET['_method'] ) ) { 368 351 $request->set_method( $_GET['_method'] ); 369 352 } elseif ( isset( $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ) ) { 370 353 $request->set_method( $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ); 354 $method_overridden = true; 371 355 } 372 356 … … 426 410 */ 427 411 $served = apply_filters( 'rest_pre_serve_request', false, $result, $request, $this ); 412 413 /** 414 * Filters whether to send nocache headers on a REST API request. 415 * 416 * @since 4.4.0 417 * @since 6.x.x Moved the block to catch the filter added on rest_cookie_check_errors() from rest-api.php 418 * 419 * @param bool $rest_send_nocache_headers Whether to send no-cache headers. 420 */ 421 $send_no_cache_headers = apply_filters( 'rest_send_nocache_headers', is_user_logged_in() ); 422 423 // send no cache headers if the $send_no_cache_headers is true 424 // OR if the HTTP_X_HTTP_METHOD_OVERRIDE is used but resulted a 4xx response code. 425 if ( $send_no_cache_headers || ( true === $method_overridden && strpos( $code, '4' ) === 0 ) ) { 426 foreach ( wp_get_nocache_headers() as $header => $header_value ) { 427 if ( empty( $header_value ) ) { 428 $this->remove_header( $header ); 429 } else { 430 $this->send_header( $header, $header_value ); 431 } 432 } 433 } 428 434 429 435 if ( ! $served ) {
Note: See TracChangeset
for help on using the changeset viewer.