3
3
namespace MediaWiki \Extension \Notifications \Push ;
4
4
5
5
use MediaWiki \Http \HttpRequestFactory ;
6
- use MediaWiki \Status \Status ;
6
+ use MediaWiki \Status \StatusFormatter ;
7
7
use MWHttpRequest ;
8
8
use Psr \Log \LoggerAwareInterface ;
9
9
use Psr \Log \LoggerAwareTrait ;
@@ -15,15 +15,24 @@ class NotificationServiceClient implements LoggerAwareInterface {
15
15
/** @var HttpRequestFactory */
16
16
private $ httpRequestFactory ;
17
17
18
+ /** @var StatusFormatter */
19
+ private $ statusFormatter ;
20
+
18
21
/** @var string */
19
22
private $ endpointBase ;
20
23
21
24
/**
22
25
* @param HttpRequestFactory $httpRequestFactory
26
+ * @param StatusFormatter $statusFormatter
23
27
* @param string $endpointBase push service notification request endpoint base URL
24
28
*/
25
- public function __construct ( HttpRequestFactory $ httpRequestFactory , string $ endpointBase ) {
29
+ public function __construct (
30
+ HttpRequestFactory $ httpRequestFactory ,
31
+ StatusFormatter $ statusFormatter ,
32
+ string $ endpointBase
33
+ ) {
26
34
$ this ->httpRequestFactory = $ httpRequestFactory ;
35
+ $ this ->statusFormatter = $ statusFormatter ;
27
36
$ this ->endpointBase = $ endpointBase ;
28
37
}
29
38
@@ -66,15 +75,10 @@ protected function sendRequest( string $provider, array $payload ): void {
66
75
$ request = $ this ->constructRequest ( $ provider , $ payload );
67
76
$ status = $ request ->execute ();
68
77
if ( !$ status ->isOK () ) {
69
- $ errors = $ status ->getErrorsByType ( 'error ' );
70
- $ this ->logger ->warning (
71
- serialize ( Status::wrap ( $ status )->getMessage ( false , false , 'en ' ) ),
72
- [
73
- 'error ' => $ errors ,
74
- 'caller ' => __METHOD__ ,
75
- 'content ' => $ request ->getContent ()
76
- ]
77
- );
78
+ $ this ->logger ->warning ( ...$ this ->statusFormatter ->getPsr3MessageAndContext ( $ status , [
79
+ 'caller ' => __METHOD__ ,
80
+ 'content ' => $ request ->getContent (),
81
+ ] ) );
78
82
}
79
83
}
80
84
0 commit comments