HEX
Server: LiteSpeed
System: Linux dune179.sitesanctuary.org 5.14.0-427.40.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 16 07:08:17 EDT 2024 x86_64
User: h278792 (1197)
PHP: 8.1.29
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/h278792/public_html/wp-content/plugins/loco-translate/src/api/Client.php
<?php
/**
 * Generic API client base class
 */
abstract class Loco_api_Client {

    /**
     * @param array|WP_Error $result
     * @return array
     */
    public static function decodeResponse( $result ):array {
        if( $result instanceof WP_Error ){
            foreach( $result->get_error_messages() as $message ){
                throw new Loco_error_Exception($message);
            }
        }
        // always decode response if server says it's JSON
        if( 'application/json' === substr($result['headers']['Content-Type'],0,16) ){
            $data = json_decode( $result['body'], true );
            if( is_array($data) ){
                return $data;
            }
            throw new Loco_error_Exception('Failed to decode JSON response');
        }
        if( 200 === $result['response']['code'] ){
            throw new Loco_error_Exception('Expected JSON Content-Type for 200 response');
        }
        // else this may be a valid error response
        return [];
    }
    
    
    
    public static function getUserAgent():string {
        return apply_filters( 'loco_api_user_agent', sprintf('Loco Translate/%s; wp-%s', loco_plugin_version(), $GLOBALS['wp_version'] ) );
    }
    
    
    
}