Skip to content

Commit 63542e4

Browse files
committed
Ensure default timeout is number casted to float and is at least zero
1 parent 8006183 commit 63542e4

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

src/wp-includes/ai-client/class-wp-ai-client-prompt-builder.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,14 +190,22 @@ public function __construct( ProviderRegistry $registry, $prompt = null ) {
190190
$this->error = $this->exception_to_wp_error( $e );
191191
}
192192

193+
$default_timeout = 30;
194+
193195
/**
194196
* Filters the default request timeout in seconds for AI Client HTTP requests.
195197
*
196198
* @since 7.0.0
197199
*
198-
* @param int $default_timeout The default timeout in seconds.
200+
* @param float $default_timeout The default timeout in seconds.
199201
*/
200-
$default_timeout = (int) apply_filters( 'wp_ai_client_default_request_timeout', 30 );
202+
$timeout = apply_filters( 'wp_ai_client_default_request_timeout', $default_timeout );
203+
if ( is_numeric( $timeout ) ) {
204+
$timeout = (float) $timeout;
205+
if ( $timeout >= 0 ) {
206+
$default_timeout = $timeout;
207+
}
208+
}
201209

202210
$this->builder->usingRequestOptions(
203211
RequestOptions::fromArray(

0 commit comments

Comments
 (0)