onse_data Object of data returned from request. * @param string $url Url for the web page to be checked. * @param bool $is_mobile Optional. Flag for if this is cpcss for mobile or not. Default: false. * @param string $item_type Optional. Type for this item if it's custom or specific type. Default: custom. * * @return string */ private function get_response_message( $response_status_code, $response_data, $url, $is_mobile = false, $item_type = 'custom' ) { $message = ''; switch ( $response_status_code ) { case 200: if ( ! isset( $response_data->data->id ) ) { $message .= sprintf( $is_mobile ? // translators: %s = item URL. __( 'Critical CSS for %1$s on mobile not generated. Error: The API returned an empty response.', 'rocket' ) : // translators: %s = item URL. __( 'Critical CSS for %1$s not generated. Error: The API returned an empty response.', 'rocket' ), ( 'custom' === $item_type ) ? $url : $item_type ); } break; case 400: case 440: case 404: // translators: %s = item URL. $message .= sprintf( $is_mobile // translators: %s = item URL. ? __( 'Critical CSS for %1$s on mobile not generated.', 'rocket' ) // translators: %s = item URL. : __( 'Critical CSS for %1$s not generated.', 'rocket' ), ( 'custom' === $item_type ) ? $url : $item_type ); break; default: $message .= sprintf( $is_mobile // translators: %s = URL. ? __( 'Critical CSS for %1$s on mobile not generated. Error: The API returned an invalid response code.', 'rocket' ) // translators: %s = URL. : __( 'Critical CSS for %1$s not generated. Error: The API returned an invalid response code.', 'rocket' ), ( 'custom' === $item_type ) ? $url : $item_type ); break; } if ( isset( $response_data->message ) ) { // translators: %1$s = error message. $message .= ' ' . sprintf( __( 'Error: %1$s', 'rocket' ), $response_data->message ); } return $message; } /** * Get response data from the API. * * @since 3.6 * * @param array|WP_Error $response The response or WP_Error on failure. * * @return mixed response of API. */ private function get_response_data( $response ) { return json_decode( wp_remote_retrieve_body( $response ) ); } /** * Get our internal response code [Not the standard HTTP codes]. * * @since 3.6 * * @param array|WP_Error $response The response or WP_Error on failure. * * @return string response code. */ private function get_response_code( $response ) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found // Todo: we can return code based on the response status number, for example 404 not_found. return 'cpcss_generation_failed'; } /** * Get job details by calling API with job ID. * * @since 3.6 * * @param string $job_id ID for the job to get details. * @param string $url URL to be used in error messages. * @param bool $is_mobile Optional. Flag for if this is cpcss for mobile or not. Default: false. * @param string $item_type Optional. Type for this item if it's custom or specific type. Default: custom. * * @return mixed|WP_Error Details for job. */ public function get_job_details( $job_id, $url, $is_mobile = false, $item_type = 'custom' ) { $response = wp_remote_get( self::API_URL . "{$job_id}/" ); return $this->prepare_response( $response, $url, $is_mobile, $item_type ); } }
Fatal error: Uncaught TypeError: WP_Rocket\Engine\CriticalPath\ProcessorService::__construct(): Argument #2 ($api_client) must be of type WP_Rocket\Engine\CriticalPath\APIClient, string given in /htdocs/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/ProcessorService.php:31 Stack trace: #0 [internal function]: WP_Rocket\Engine\CriticalPath\ProcessorService->__construct(Object(WP_Rocket\Engine\CriticalPath\DataManager), 'WP_Rocket\\Engin...') #1 /htdocs/wp-content/plugins/wp-rocket/inc/Dependencies/League/Container/Definition/Definition.php(256): ReflectionClass->newInstanceArgs(Array) #2 /htdocs/wp-content/plugins/wp-rocket/inc/Dependencies/League/Container/Definition/Definition.php(212): WP_Rocket\Dependencies\League\Container\Definition\Definition->resolveClass('WP_Rocket\\Engin...') #3 /htdocs/wp-content/plugins/wp-rocket/inc/Dependencies/League/Container/Definition/DefinitionAggregate.php(94): WP_Rocket\Dependencies\League\Container\Definition\Definition->resolve(false) #4 /htdocs/wp-content/plugins/wp-rocket/inc/Dependencies/League/Container/Container.php(157): WP_Rocket\Dependencies\League\Container\Definition\DefinitionAggregate->resolve('cpcss_service', false) #5 /htdocs/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/ServiceProvider.php(62): WP_Rocket\Dependencies\League\Container\Container->get('cpcss_service') #6 /htdocs/wp-content/plugins/wp-rocket/inc/Dependencies/League/Container/ServiceProvider/ServiceProviderAggregate.php(102): WP_Rocket\Engine\CriticalPath\ServiceProvider->register() #7 /htdocs/wp-content/plugins/wp-rocket/inc/Dependencies/League/Container/Container.php(172): WP_Rocket\Dependencies\League\Container\ServiceProvider\ServiceProviderAggregate->register('critical_css_su...') #8 /htdocs/wp-content/plugins/wp-rocket/inc/Plugin.php(161): WP_Rocket\Dependencies\League\Container\Container->get('critical_css_su...') #9 /htdocs/wp-content/plugins/wp-rocket/inc/main.php(47): WP_Rocket\Plugin->load() #10 /htdocs/wp-includes/class-wp-hook.php(324): rocket_init('') #11 /htdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #12 /htdocs/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #13 /htdocs/wp-settings.php(506): do_action('plugins_loaded') #14 /htdocs/wp-config.php(87): require_once('/htdocs/wp-sett...') #15 /htdocs/wp-load.php(50): require_once('/htdocs/wp-conf...') #16 /htdocs/wp-blog-header.php(13): require_once('/htdocs/wp-load...') #17 /htdocs/index.php(17): require('/htdocs/wp-blog...') #18 {main} thrown in /htdocs/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/ProcessorService.php on line 31