PHP 8.0.30
Preview: FluentFormAIAPI.php Size: 1.75 KB
/home/certprox/zang.certproxywizard.com/wp/wp-content/plugins/fluentform/app/Modules/Ai/FluentFormAIAPI.php

<?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',
        ];
    
        // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- http_request_timeout is a WordPress core hook
        $originalTimeout = apply_filters('http_request_timeout', 5);
    
        // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- http_request_timeout is a WordPress core hook
        add_filter('http_request_timeout', function ($timeout) {
            return 60;
        });
    
        $response = wp_remote_post($this->url, [
            'headers' => $headers,
            'body'    => json_encode($requestData),
        ]);
    
        // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- http_request_timeout is a WordPress core hook
        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'];
        }
    
        if ($code !== 200) {
            return new \WP_Error(423, $error_message);
        }
    
        return $body;
    }
}

Directory Contents

Dirs: 0 × Files: 3

Name Size Perms Modified Actions
188 B lrw-r--r-- 2026-03-30 10:23:20
Edit Download
16.61 KB lrw-r--r-- 2026-03-30 10:23:20
Edit Download
1.75 KB lrw-r--r-- 2026-03-30 10:23:20
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).