diff --git a/lib/googleapi.php b/lib/googleapi.php index 3d2a3fe8523..5c198cca7eb 100644 --- a/lib/googleapi.php +++ b/lib/googleapi.php @@ -448,4 +448,17 @@ class google_oauth extends oauth2_client { $this->header = array(); $this->response = array(); } + + /** + * Make a HTTP request, we override the parents because we do not + * want to send accept headers (this was a change in the parent class and we want to keep the old behaviour). + * + * @param string $url The URL to request + * @param array $options + * @param mixed $acceptheader Not used. + * @return bool + */ + protected function request($url, $options = array(), $acceptheader = 'application/json') { + return parent::request($url, $options, false); + } } diff --git a/lib/oauthlib.php b/lib/oauthlib.php index ff2f68951de..0485ac12bca 100644 --- a/lib/oauthlib.php +++ b/lib/oauthlib.php @@ -604,9 +604,10 @@ abstract class oauth2_client extends curl { * * @param string $url The URL to request * @param array $options + * @param mixed $acceptheader mimetype (as string) or false to skip sending an accept header. * @return bool */ - protected function request($url, $options = array()) { + protected function request($url, $options = array(), $acceptheader = 'application/json') { $murl = new moodle_url($url); if ($this->accesstoken) { @@ -619,7 +620,9 @@ abstract class oauth2_client extends curl { } // Force JSON format content in response. - $this->setHeader('Accept: application/json'); + if ($acceptheader) { + $this->setHeader('Accept: ' . $acceptheader); + } $response = parent::request($murl->out(false), $options); diff --git a/lib/upgrade.txt b/lib/upgrade.txt index c3f824a8aaa..ccc2381f8e6 100644 --- a/lib/upgrade.txt +++ b/lib/upgrade.txt @@ -2,7 +2,7 @@ This files describes API changes in core libraries and APIs, information provided here is intended especially for developers. === 3.4 === - +* oauth2_client::request method has an extra parameter to specify the accept header for the response (MDL-60733) * The following functions, previously used (exclusively) by upgrade steps are not available anymore because of the upgrade cleanup performed for this version. See MDL-57432 for more info: - upgrade_mimetypes()