Files
doitinpoland.com/wp-content/plugins/wpml-translation-management/classes/translation-proxy/api/class-wpml-tp-api-exception.php
2023-09-12 21:41:04 +02:00

47 lines
948 B
PHP

<?php
class WPML_TP_API_Exception extends Exception {
public function __construct( $message, WPML_TP_API_Request $request = null, $response = null ) {
if ( $request ) {
$message .= ' ' . $this->get_exception_message(
$request->get_url(),
$request->get_method(),
$request->get_params(),
$response
);
}
parent::__construct( $message );
}
private function get_exception_message( $url, $method, $params, $response ) {
return 'Details: |'
. ' url: '
. '`'
. $url
. '`'
. ' method: '
. '`'
. $method
. '`'
. ' param: '
. '`'
. json_encode( $this->filter_params( $params ) )
. '`'
. ' response: '
. '`'
. json_encode( $response )
. '`';
}
/**
* @param array $params
*
* @return array mixed
*/
private function filter_params( $params ) {
return wpml_collect( $params )->forget( 'accesskey' )->toArray();
}
}