cmd ) ) { return new WP_Error( '404', 'Command Not Found' ); } if ( $validate_request ) { // Request is valid if trial is valid or user is on a premium plan. $is_request_valid = ES()->trial->is_trial_valid() || ES()->is_premium(); // Allow custom validation logic for some services e.g. sending es cron delete request even after trial is inactive. $is_request_valid = apply_filters( 'ig_es_service_request_custom_validation', $is_request_valid, $options ); // Don't process request if request is not valid. if ( ! $is_request_valid ) { return $options; } } $url = $this->api_url . $this->cmd; $options = apply_filters( 'ig_es_service_request_data', $options ); if ( ! empty( $options ) && is_array( $options ) ) { if ( 'POST' === $method ) { $response = wp_remote_post( $url, $options ); } else { $response = wp_remote_get( $url, $options ); } if ( ! is_wp_error( $response ) ) { if ( 200 === wp_remote_retrieve_response_code( $response ) ) { $response_data = $response['body']; if ( 'error' != $response_data ) { $response_data = json_decode( $response_data, true ); do_action( 'ig_es_service_response_received', $response_data, $options ); return $response_data; } } } } return $response; } }