WordPress.org

Make WordPress Core

Ticket #35580: 35580.2.diff

File 35580.2.diff, 1.5 KB (added by rachelbaker, 3 years ago)

Added unit test

  • src/wp-includes/rest-api/class-wp-rest-server.php

     
    228228                $this->send_header( 'Content-Type', $content_type . '; charset=' . get_option( 'blog_charset' ) );
    229229                $this->send_header( 'X-Robots-Tag', 'noindex' );
    230230
     231                $api_root = get_rest_url();
     232                if ( ! empty( $api_root ) ) {
     233                        $this->send_header( 'Link', '<' . esc_url_raw( $api_root ) . '>; rel="https://api.w.org/"' );
     234                }
     235
    231236                /*
    232237                 * Mitigate possible JSONP Flash attacks.
    233238                 *
  • tests/phpunit/tests/rest-api/rest-server.php

     
    726726                $this->assertEquals( 'noindex', $headers['X-Robots-Tag'] );
    727727        }
    728728
     729        public function test_link_header_on_requests() {
     730                $api_root = get_rest_url();
     731
     732                $request = new WP_REST_Request( 'GET', '/', array() );
     733
     734                $result = $this->server->serve_request('/');
     735                $headers = $this->server->sent_headers;
     736
     737                $this->assertEquals( '<' . esc_url_raw( $api_root ) . '>; rel="https://api.w.org/"', $headers['Link'] );
     738        }
     739
    729740        public function test_nocache_headers_on_authenticated_requests() {
    730741                $editor = self::factory()->user->create( array( 'role' => 'editor' ) );
    731742                $request = new WP_REST_Request( 'GET', '/', array() );