File "FluentFormAIAPI.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/fluentform/app/Modules/Ai/FluentFormAIAPI.php
File size: 1.35 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace FluentForm\App\Modules\Ai;
/**
* Handling AI Api.
* @since 6.0.0
*/
class FluentFormAIAPI
{
private $url = 'https://ai.fluentforms.com/';
public function makeRequest($requestData = [])
{
$headers = [
'Content-Type' => 'application/json',
];
$originalTimeout = apply_filters('http_request_timeout', 5);
add_filter('http_request_timeout', function ($timeout) {
return 60;
});
$response = wp_remote_post($this->url, [
'headers' => $headers,
'body' => json_encode($requestData),
]);
add_filter('http_request_timeout', function ($timeout) use ($originalTimeout) {
return $originalTimeout;
});
if (is_wp_error($response)) {
return new \WP_Error(423, $response->get_error_message());
}
$body = json_decode(wp_remote_retrieve_body($response), true);
$code = wp_remote_retrieve_response_code($response);
$error_message = __('Something went wrong.', 'fluentform');
if (isset($body['error']['message'])) {
$error_message = __($body['error']['message'], 'fluentform');
}
if ($code !== 200) {
return new \WP_Error(423, $error_message);
}
return $body;
}
}