- Timestamp:
- 10/12/2023 03:02:41 PM (2 years ago)
- Location:
- branches/5.1
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
src/wp-includes/rest-api/class-wp-rest-server.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/5.1
- Property svn:mergeinfo changed
/trunk merged: 56833-56836,56838
- Property svn:mergeinfo changed
-
branches/5.1/src/wp-includes/rest-api/class-wp-rest-server.php
r43582 r56873 240 240 241 241 /** 242 * Send nocache headers on authenticated requests.243 *244 * @since 4.4.0245 *246 * @param bool $rest_send_nocache_headers Whether to send no-cache headers.247 */248 $send_no_cache_headers = apply_filters( 'rest_send_nocache_headers', is_user_logged_in() );249 if ( $send_no_cache_headers ) {250 foreach ( wp_get_nocache_headers() as $header => $header_value ) {251 if ( empty( $header_value ) ) {252 $this->remove_header( $header );253 } else {254 $this->send_header( $header, $header_value );255 }256 }257 }258 259 /**260 242 * Filters whether the REST API is enabled. 261 243 * … … 318 300 * header. 319 301 */ 302 $method_overridden = false; 320 303 if ( isset( $_GET['_method'] ) ) { 321 304 $request->set_method( $_GET['_method'] ); 322 305 } elseif ( isset( $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ) ) { 323 306 $request->set_method( $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'] ); 307 $method_overridden = true; 324 308 } 325 309 … … 379 363 */ 380 364 $served = apply_filters( 'rest_pre_serve_request', false, $result, $request, $this ); 365 366 /** 367 * Filters whether to send nocache headers on a REST API request. 368 * 369 * @since 4.4.0 370 * @since 6.x.x Moved the block to catch the filter added on rest_cookie_check_errors() from rest-api.php 371 * 372 * @param bool $rest_send_nocache_headers Whether to send no-cache headers. 373 */ 374 $send_no_cache_headers = apply_filters( 'rest_send_nocache_headers', is_user_logged_in() ); 375 376 // send no cache headers if the $send_no_cache_headers is true 377 // OR if the HTTP_X_HTTP_METHOD_OVERRIDE is used but resulted a 4xx response code. 378 if ( $send_no_cache_headers || ( true === $method_overridden && strpos( $code, '4' ) === 0 ) ) { 379 foreach ( wp_get_nocache_headers() as $header => $header_value ) { 380 if ( empty( $header_value ) ) { 381 $this->remove_header( $header ); 382 } else { 383 $this->send_header( $header, $header_value ); 384 } 385 } 386 } 381 387 382 388 if ( ! $served ) {
Note: See TracChangeset
for help on using the changeset viewer.