From b550389f411762cb570c8f8f2fdb476ab0860f03 Mon Sep 17 00:00:00 2001 From: Peter Sorensen Date: Mon, 5 Aug 2024 17:39:53 -0700 Subject: [PATCH] add helper function to utilize vip remote get --- includes/Classifai/Helpers.php | 24 +++++++++++++++++++ .../Classifai/Providers/Azure/Language.php | 8 ++++--- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/includes/Classifai/Helpers.php b/includes/Classifai/Helpers.php index 5968fe69b..76a6dc990 100644 --- a/includes/Classifai/Helpers.php +++ b/includes/Classifai/Helpers.php @@ -661,3 +661,27 @@ function get_classification_mode(): string { return $value; } + + +/** + * Use VIP's `vip_safe_wp_remote_get` if available, otherwise use `wp_remote_get`. + * + * @param string $url URL to fetch. + * @param array $args Optional. Request arguments. + * @return WP_Error|array The response or WP_Error on failure. + */ +function safe_wp_remote_get( string $url, array $args = [] ) { + if ( function_exists( 'vip_safe_wp_remote_get' ) ) { + return vip_safe_wp_remote_get( $url, $args ); + } + + wp_parse_args( + $args, + [ + 'timeout' => 20, // phpcs:ignore + + ] + ); + + return wp_remote_get( $url, $args ); // phpcs:ignore +} \ No newline at end of file diff --git a/includes/Classifai/Providers/Azure/Language.php b/includes/Classifai/Providers/Azure/Language.php index ada349b41..3b21b93df 100644 --- a/includes/Classifai/Providers/Azure/Language.php +++ b/includes/Classifai/Providers/Azure/Language.php @@ -10,6 +10,8 @@ use Classifai\Providers\Provider; use Classifai\Features\ExcerptGeneration; use WP_Error; +use function Classifai\safe_wp_remote_get; + class Language extends Provider { /** @@ -152,7 +154,7 @@ protected function authenticate_credentials( string $url, string $api_key ) { $endpoint = trailingslashit( $url ) . '/text/analytics/v3.1/languages'; $endpoint = add_query_arg( 'api-version', static::API_VERSION, $endpoint ); - $request = wp_remote_post( + $request = safe_wp_remote_get( $endpoint, [ 'headers' => [ @@ -322,7 +324,7 @@ public function request_summary( $endpoint_url, $api_key, $post_content, $post_i private function retrieve_summary( $url ) { $api_key = $this->feature_instance->get_settings( static::ID )['api_key']; - $request = wp_remote_get( + $request = safe_wp_remote_get( $url, [ 'headers' => [ @@ -342,7 +344,7 @@ private function retrieve_summary( $url ) { while ( 'succeeded' !== $response->status ) { sleep( .5 ); - $request = wp_remote_get( + $request = safe_wp_remote_get( $url, [ 'headers' => [