jenkins-bot has submitted this change and it was merged.

Change subject: Log errors in Http::request()
......................................................................


Log errors in Http::request()

Instead of silently discarding errors in server-side HTTP requests,
log them to a 'http' channel.

Make ForeignAPIFile::httpGet() (which sort of reimplements Http::get())
log to the same channel, for consistency.

Bug: T103043
Change-Id: Ibf552e22adc7fde4a751f92e92dad6ceba2f335c
---
M includes/HttpFunctions.php
M includes/filerepo/ForeignAPIRepo.php
2 files changed, 12 insertions(+), 4 deletions(-)

Approvals:
  BryanDavis: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/HttpFunctions.php b/includes/HttpFunctions.php
index 7b43a2d..fec8adc 100644
--- a/includes/HttpFunctions.php
+++ b/includes/HttpFunctions.php
@@ -25,6 +25,8 @@
  * @defgroup HTTP HTTP
  */
 
+use MediaWiki\Logger\LoggerFactory;
+
 /**
  * Various HTTP related functions
  * @ingroup HTTP
@@ -73,11 +75,14 @@
                $req = MWHttpRequest::factory( $url, $options, $caller );
                $status = $req->execute();
 
-               $content = false;
                if ( $status->isOK() ) {
-                       $content = $req->getContent();
+                       return $req->getContent();
+               } else {
+                       $errors = $status->getErrorsByType( 'error' );
+                       $logger = LoggerFactory::getInstance( 'http' );
+                       $logger->warning( $status->getWikiText(), array( 
'caller' => $caller ) );
+                       return false;
                }
-               return $content;
        }
 
        /**
diff --git a/includes/filerepo/ForeignAPIRepo.php 
b/includes/filerepo/ForeignAPIRepo.php
index ec84762..4ffbf4a 100644
--- a/includes/filerepo/ForeignAPIRepo.php
+++ b/includes/filerepo/ForeignAPIRepo.php
@@ -21,6 +21,8 @@
  * @ingroup FileRepo
  */
 
+use MediaWiki\Logger\LoggerFactory;
+
 /**
  * A foreign repository with a remote MediaWiki with an API thingy
  *
@@ -521,7 +523,8 @@
                if ( $status->isOK() ) {
                        return $req->getContent();
                } else {
-                       wfDebug( "ForeignAPIRepo: ERROR on GET: " . 
$status->getWikiText() );
+                       $logger = LoggerFactory::getInstance( 'http' );
+                       $logger->warning( $status->getWikiText(), array( 
'caller' => 'ForeignAPIRepo::httpGet' ) );
                        return false;
                }
        }

-- 
To view, visit https://gerrit.wikimedia.org/r/223518
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ibf552e22adc7fde4a751f92e92dad6ceba2f335c
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Gergő Tisza <gti...@wikimedia.org>
Gerrit-Reviewer: Aaron Schulz <asch...@wikimedia.org>
Gerrit-Reviewer: Brian Wolff <bawolff...@gmail.com>
Gerrit-Reviewer: BryanDavis <bda...@wikimedia.org>
Gerrit-Reviewer: Legoktm <legoktm.wikipe...@gmail.com>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to