403 ) ); } $url = home_url( '/' ); $res = wp_safe_remote_get( $url, array( 'timeout' => 15, 'limit_response_size' => 1024, 'headers' => array( 'Accept-Encoding' => 'gzip, deflate, br' ), ) ); $out = array( 'url' => $url, 'error' => '', 'code' => 0, 'headers'=> array(), ); if ( is_wp_error( $res ) ) { $out['error'] = $res->get_error_message(); } else { $out['code'] = (int) wp_remote_retrieve_response_code( $res ); $headers = wp_remote_retrieve_headers( $res ); $want = array( 'content-encoding', 'cache-control', 'etag', 'x-qwsc-cache', 'x-cache', 'age', 'vary' ); $bag = array(); foreach ( $want as $h ) { $v = is_object( $headers ) ? $headers->offsetGet( $h ) : ( is_array( $headers ) ? ( $headers[ $h ] ?? '' ) : '' ); if ( $v ) { $bag[ $h ] = is_array( $v ) ? implode( ', ', $v ) : (string) $v; } } $out['headers'] = $bag; } set_transient( 'qwsc_server_test_result', $out, 300 ); wp_safe_redirect( admin_url( 'admin.php?page=qw-speed-cache&server_test=1' ) ); exit; } /** * @return array|null */ public static function last_result() { $r = get_transient( 'qwsc_server_test_result' ); return is_array( $r ) ? $r : null; } }