class-wpml-tp-api-exception.php
948 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?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();
}
}